0
Where to start ?
Hey guys,I'm looking for a starting point to enter reverde engeniring using C++ and CE,where should I start ?
1 ответ
+ 1
It sounds like you want to learn about reverse-engineering software. Since you tagged with c++, this is for downloaded and installed software. By "CE", do you mean Windows CE?
Here is a sequence of educational steps to learn more about reverse engineering in a full sized personal computer like a laptop or desktop. Some of my references are to Windows file formats and tools:
- Installing and opening some exe or dll files in a hex editor. A hex editor is useful for viewing all kinds of binary files including executables. Unless the compiled file is obfuscated or encrypted, a lot of its string literals, and other uncompressed data should be easy to find. Machine code will be there but that'll be very slow to decipher.
- Learning enough about assembly to write and run a "hello world" program in MASM or NASM would be a nice step.
- Installing and using a disassembler would be a good next step so you start getting a source version of most exe or dll files. If you can understand assembly code, you should be able to make some sense from the disassembled code. The more assembly you learn, the more you can figure out about a successfully disassembled program.
- Look at decompilers. Try to get compilable source code out of a compiled exe or executable file on your non-windows operating system. I haven't tried this much but high level language source code is usually easier to read than assembly even if the variables and functions are named horribly.
I made a small assembler and disassembler for old 8186 and 8080 CPU's in Delphi many years ago. It used an old .com format that was much simpler than .exe or .dll. That was an educational project. I didn't find many working decompilers, though. Java's .class files can be converted to .java source more easily than .exe to c or c++.