• Reverse engineering a program
    6 replies, posted
Hey guys I was wondering if I could have some help learning how to quickly reverse engineer or even simply dismantle and find the weak point of software, I tried looking around the net but its tough finding a reliable source to learn from.
You have no idea what you're getting into.
"Quickly" and "reverse-engineer" are terms that generally don't go together. Software is complex; it takes time and effort to [i]forward[/i]-engineer (i.e. create), and it takes a commensurate level of time and effort to reverse-engineer. To get started, though, learn about assembly programming. That'll give you the technical background to actually understand the task you want to do.
Right, Assembly's a bit low level, there are better ways than just looking at the compiled mess straight up. Try a decompiler or a disassembler.
A decompiler can be a useful tool, but the source code it gives you still exposes a lot of low-level details that "real" source code wouldn't. It's valuable to understand assembly before you start using a decompiler, in the same sense that it's valuable to learn arithmetic on paper before you start using a calculator. It can help speed up the parts that can be done automatically, but you have to understand what you're asking it to do so that you can make sense of the result it gives you.
It all depends upon the language really. .NET and Java can be decompiled with freely available programs, it's just obfuscation that gets you most of the time. That being said, things that are written in C++ or C...well...if there was a graph of the easiness and time required to reverse engineer, that would be a cliff straight up in difficulty.
True, it does in fact depend on the language. I suggest learning with Python and then giving this book a try:[url]http://www.amazon.com/Gray-Hat-Python-Programming-Engineers/dp/1593271921/ref=sr_1_3?ie=UTF8&qid=1305085862&sr=8-3[/url] I tried it and succeeded to C/C++ and Java afterwards. It's a whole lot easier, trust me!
Sorry, you need to Log In to post a reply to this thread.