Reverse Engenieering Software
-
Has anybody herad about Reverse Engenieering Software?I know that there are programs that hep you to view the source code of an exe.I'm interested in learning and not in stealig source code.I have searched Google but i did't find anything interesting.Can anyone help me?Thanks a lot.
-
Has anybody herad about Reverse Engenieering Software?I know that there are programs that hep you to view the source code of an exe.I'm interested in learning and not in stealig source code.I have searched Google but i did't find anything interesting.Can anyone help me?Thanks a lot.
-
There is a large list of Disassemblers located @ http://www.thefreecountry.com/programming/disassemblers.shtml[^] regards! qcha0s
Disassemblers are used to show the machinecode of any programmers language. This machinecode is called Assembler, or short: ASM. Debuggers are used to trace the whole code at runtime. I think you know that from VC++ debugger. But the difference to other debuggers is: You trace, again, machincode, so ASM. Good debuggers: OllyDbg, Sice (softice) Good Disassembler: IDA, w32Dasm DKT
-
Disassemblers are used to show the machinecode of any programmers language. This machinecode is called Assembler, or short: ASM. Debuggers are used to trace the whole code at runtime. I think you know that from VC++ debugger. But the difference to other debuggers is: You trace, again, machincode, so ASM. Good debuggers: OllyDbg, Sice (softice) Good Disassembler: IDA, w32Dasm DKT
Not all disassemblers go directly to ASM ... I have used several in the past that disassemble to C, C++, and even VB (back when VB was interperted) ... While it is true that most will only output to ASM, others do exist (although reading the code is still difficult when all of the variables and methods are genericly renamed to things like fun003 and var001) qcha0s
-
Has anybody herad about Reverse Engenieering Software?I know that there are programs that hep you to view the source code of an exe.I'm interested in learning and not in stealig source code.I have searched Google but i did't find anything interesting.Can anyone help me?Thanks a lot.
Before I start, what is your goal? In most cases there are better ways to achive your goals than reverse engineering. If you want to become a better programer, reverse engineering isn't the best way to start. (a little is good, but after you have an idea of what you are doing there are better ways improve) If you want to know how a program works, you will learn best by getting books on the topic, and then writing a clone of it. (check open source for clones that you can read the commented soruce code, then contribute to them) If you want to make your program compatable with some file or network protocol, then you start with very simple, and slowly add complexity while watching what changes. Start by saving an empty document. Then add a single letter and see how the file changes. So on until you understand it. If you want to write a virus checker, or just have fun, then read on. That covered, onto reverse engineering Basicly it is detective work. You guess what is going on, then figure out how to check your guess. I have not found programs to view source code very useful, too often code and data is messed up, and then the output is meaningless. I've always found a good book showing all the instructions the CPU supports, in hex, useful. One of the more useful tools is to trace the system calls the program makes. For unix systems see truss . For Windows system install linux + wine, which has a good debugger. In the end though it is detective work. Your success mostly depends on your willingness to spend a lot of time getting down and dirty with the code, watching what is going on. I find that reverse engineering works best in small groups. There are often too many details for one person to keep track of, and it helps to bounce ideas off other people around you. So try not to do it alone.
-
Before I start, what is your goal? In most cases there are better ways to achive your goals than reverse engineering. If you want to become a better programer, reverse engineering isn't the best way to start. (a little is good, but after you have an idea of what you are doing there are better ways improve) If you want to know how a program works, you will learn best by getting books on the topic, and then writing a clone of it. (check open source for clones that you can read the commented soruce code, then contribute to them) If you want to make your program compatable with some file or network protocol, then you start with very simple, and slowly add complexity while watching what changes. Start by saving an empty document. Then add a single letter and see how the file changes. So on until you understand it. If you want to write a virus checker, or just have fun, then read on. That covered, onto reverse engineering Basicly it is detective work. You guess what is going on, then figure out how to check your guess. I have not found programs to view source code very useful, too often code and data is messed up, and then the output is meaningless. I've always found a good book showing all the instructions the CPU supports, in hex, useful. One of the more useful tools is to trace the system calls the program makes. For unix systems see truss . For Windows system install linux + wine, which has a good debugger. In the end though it is detective work. Your success mostly depends on your willingness to spend a lot of time getting down and dirty with the code, watching what is going on. I find that reverse engineering works best in small groups. There are often too many details for one person to keep track of, and it helps to bounce ideas off other people around you. So try not to do it alone.
Two points: 1. It often makes sense to analyze your app. For example, it can be used to optimize your code. You often see stupid behaviours of the compilers. I once saw a command by a delphi compiler: add ebx, 0 Hey wow, that is usefull... 2. Why not a one man show? I always do the work alone. And I analyzed alot hard algos. For me its just fun. Nothing more, but for others it may be usefull. DKT
-
Before I start, what is your goal? In most cases there are better ways to achive your goals than reverse engineering. If you want to become a better programer, reverse engineering isn't the best way to start. (a little is good, but after you have an idea of what you are doing there are better ways improve) If you want to know how a program works, you will learn best by getting books on the topic, and then writing a clone of it. (check open source for clones that you can read the commented soruce code, then contribute to them) If you want to make your program compatable with some file or network protocol, then you start with very simple, and slowly add complexity while watching what changes. Start by saving an empty document. Then add a single letter and see how the file changes. So on until you understand it. If you want to write a virus checker, or just have fun, then read on. That covered, onto reverse engineering Basicly it is detective work. You guess what is going on, then figure out how to check your guess. I have not found programs to view source code very useful, too often code and data is messed up, and then the output is meaningless. I've always found a good book showing all the instructions the CPU supports, in hex, useful. One of the more useful tools is to trace the system calls the program makes. For unix systems see truss . For Windows system install linux + wine, which has a good debugger. In the end though it is detective work. Your success mostly depends on your willingness to spend a lot of time getting down and dirty with the code, watching what is going on. I find that reverse engineering works best in small groups. There are often too many details for one person to keep track of, and it helps to bounce ideas off other people around you. So try not to do it alone.
I want to know how NetSnippets was done ( netsnippets.com).