Hacker News new | past | comments | ask | show | jobs | submit login

I don't find your quote in the original article, where is binary editing mentioned?

At any rate in general it just means that the binary version is directly modified instead of, say, modifying the source and recompiling it. When the source is not available you don't really have a choice.

It doesn't mean however that you'll just open a big binary dump of the program in emacs and start flipping bits manually. In general you'll first disassemble the code to figure out what it does, isolate the part that you want to modify, implement the modification and then you end up with a binary patch.

That's easier said than done though, reverse engineering a complex binary is very time consuming.

It reminded me of this anecdote: https://en.wikipedia.org/wiki/Wing_Commander_%28video_game%2...

>As development for Wing Commander came to a close, the EMM386 memory manager the game used would give an exception when the user exited the game. It would print out a message similar to "EMM386 Memory manager error..." with additional information. The team could not isolate and fix the error and they needed to ship it as soon as possible. As a work-around, one of the game's programmers, Ken Demarest III, hex-edited the memory manager so it displayed a different message. Instead of the error message, it printed "Thank you for playing Wing Commander."




>reverse engineering a complex binary is very time consuming.

And still ppl who crack games do it very often. They start with a obfuscated binary, decrypt it and patch it to remove the protection.


That's not full reverse engineering. They're removing the protection, with a clearly defined goal they can look at to see if they're done, and that's all.

Very different from trying to figure out everything a program does.


In the case of peyta: is that necessary? There are 2 pieces I know of someone would want to change, the Bitcoin wallet and removing the Killswitch.

Surely this is easier then a full understanding of the code?


Thanks for a great reply! Binary edited is written on the white board from the picture in the article.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: