Author

Topic: If cryptography can secure Bitcoin, why not software Keys/serials? (Read 1400 times)

donator
Activity: 1218
Merit: 1079
Gerald Davis
...Reverse engineer the code...

Can compiled code be reverse engineered that easily? I thought this was impossible, considering the big deal everyone makes over source code.

For what you want done when cracking code it is beyond trivially easy.  When reverse engineering code it will be very messy.  Variables have no names, function calls look like garbage to a human.  Trying to make any serious modification is next to impossible.

i.e. if you had a game which is no longer supported and you wanted to add the ability for the player to jump trying to hack that into compiled code would be a nearly impossible task.

When patching games though it isn't brain surgery.  In psuedo code it looks something like this

Code:
game loading
check valdiation
if (call validation_checker (serial) = true)

function validation_checker(string serial)
{
do validation stuff here lots of code which returns true or false based on the authenticity of the key
}

hackers simply replace it with this

function validation_checker(string serial)
{
return true
}

As pointed out above DRM is fatally flawed because encryption was never designed to keep a secret from the intended user.

In cryptography we often use the terms Alice Bob Eve. 
Alice is the sender
Bob is the receiver
Eve is the attacker

Except in DRM it is more like
Alice = game company
Bob = game owner
Eve = game owner

you are both trying to pass information to Bob and keep information from Eve ... except they are the same person.  Fatally flawed.  Every form of DRM ever made will be broken. 

full member
Activity: 168
Merit: 100
protecting copying software can be possibly done with using some bitcoin tactics.

The protected programm will take a key and work only if it is a hash of said difficulty. There a a number of already precalculated hashes that a seller of a program has and it is very expensive to calculate new ones. The seller now can sell the limited number serial keys.

However there are number of problems with it.
1) There must be a way of stopping users from copying keys (hehe)
2) There must be a way to stop a programm from being altered algorithmicaly (which is stupid)

So instead of fighting the nature and trying to sell something abundant as something scarce the software sellers might try to embrace the principles while still profiting.

It can be done thankfully with the invention of information scarcity on which bitcoin relies.

Imagine the author of a program has a sensible and limited amount of "something". And the only way to profit from it is to sell it to others as quick as possible. You may divide your "something" almost indefinably precise, sound like bitcoin, huh?

Discuss.
legendary
Activity: 1260
Merit: 1000
Drunk Posts
...Reverse engineer the code...

Can compiled code be reverse engineered that easily? I thought this was impossible, considering the big deal everyone makes over source code.

Its nearly impossible to decompile executable code back to the original source code, variable and function names as well as the original structural organization of the code are lost, but you don't need readable source to reverse engineer a small section. All code can be disassembled, and you only need to work through a small portion to write a keygen.
hero member
Activity: 560
Merit: 500
...Reverse engineer the code...

Can compiled code be reverse engineered that easily? I thought this was impossible, considering the big deal everyone makes over source code.
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
With the exception of software that requires you to register your purchase online, all the verification is done by software itself. Meaning it has to contain the code needed to verify its own serial number (which cannot be encrypted for the same reason DRM relying on encryption doesn't work). Reverse engineer the code and you've got yourself a key generator.
hero member
Activity: 560
Merit: 500
DRM, on the other hand, is fundamentally flawed:

I've changed the question, since as you pointed out, DRM is more about copying than breaking encryption. I should have used the term serial numbers and keys.
hero member
Activity: 812
Merit: 1006
With DRM you always have to view or enjoy the media somehow, eg. the media always needs to be transformed in unencrypted form. So you can also always capture the media. It is a different case.
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
Bitcoin doesn't try to prevent copying (which is physically impossible), it tries to prevent double-spending, which is a completely different beast. There is no need to prevent copying since there is nothing to copy: bitcoins are not actual pieces of data and do not even exist in their own right, instead what you have is a list of transactions. Since all Bitcoin transactions are public, any transaction which spends coins which are already spent will be detected and rejected by the network. Mining prevents transactions from being fraudulently removed or altered by hashing each block of transactions (and making that hash difficult to calculate, but easy to verify), and making each block dependant on the previous block's hash, which makes it (practically) impossible to alter a block without invalidating all the blocks that came after it, causing the altered block to be rejected by the network.

DRM, on the other hand, is fundamentally flawed:
Quote from: Cory Doctorow
In DRM, the attacker is *also the recipient*. It's not Alice and
Bob and Carol, it's just Alice and Bob. Alice sells Bob a DVD.
She sells Bob a DVD player. The DVD has a movie on it -- say,
Pirates of the Caribbean -- and it's enciphered with an algorithm
called CSS -- Content Scrambling System. The DVD player has a CSS
un-scrambler.

Now, let's take stock of what's a secret here: the cipher is
well-known. The ciphertext is most assuredly in enemy hands, arrr.
So what? As long as the key is secret from the attacker, we're
golden.

But there's the rub. Alice wants Bob to buy Pirates of the
Caribbean from her. Bob will only buy Pirates of the Caribbean if
he can descramble the CSS-encrypted VOB -- video object -- on his
DVD player. Otherwise, the disc is only useful to Bob as a
drinks-coaster. So Alice has to provide Bob -- the attacker --
with the key, the cipher and the ciphertext.

Hilarity ensues.
hero member
Activity: 560
Merit: 500
The thought struck me the other day, and I don't understand how software serial numbers are cracked, and Key-generators are made available so soon after a title is released, yet Bitcoins can somehow remain secure. Something doesn't add up.  Huh
Jump to: