Monday, December 21, 2009

I have a binary file type that I want to reverse engineer to figure out how it was made. How do I begin?

You use reverse engineering tools. SoftICE is boss for this purpose. A general knowledge of how certain compilers behave is a big plus.





If the file is bytecode, you can usually just decompile it into human readable form.I have a binary file type that I want to reverse engineer to figure out how it was made. How do I begin?
If you're asking this question, it means you don't have enough know-how to do it yet.





When programs are created, that file with all the programming code is called the source code. This source code is piped into a compiler that grabs all the necessary information and converts it to machine code for a specific platform (linux, windows, etc). That machine code is what you see in a binary file. A computer only reads machine code, it can't read (for x=0;x+1;x++) (source code).





To reverse engineer the program, the closest you'd be able to get the code would be that of assembly language (the programming language closest to machine language). You would need to know the opcodes, and you'll have to go line by line, rebuilding the source code. Assembly language is like this:





1. get data from memory space 1 and load into register 1


2. get data from memory space 2 and load into register 2


3. add register 1 and register 2 and put it in register 3


4. put register 3 into memory space 5





Basically that code just added 2 numbers together. But it won't be in english. It'll be something like ';mov ah,09';. You'll basically follow the program, and re-write the program as it goes to perform what you're observing. If you see it execute a piece of code 5 times, you might figure there's a loop.I have a binary file type that I want to reverse engineer to figure out how it was made. How do I begin?
Learn Binary Code. You could take a programming / Computer Science course or Binary Coding or purchase a book...

No comments:

Post a Comment