Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Reverse Engenieering Software

Reverse Engenieering Software

Scheduled Pinned Locked Moved C / C++ / MFC
helpquestionlearning
7 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    Filomela
    wrote on last edited by
    #1

    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.

    Q H 2 Replies Last reply
    0
    • F Filomela

      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.

      Q Offline
      Q Offline
      qcha0s
      wrote on last edited by
      #2

      There is a large list of Disassemblers located @ http://www.thefreecountry.com/programming/disassemblers.shtml[^] regards! qcha0s

      K 1 Reply Last reply
      0
      • Q qcha0s

        There is a large list of Disassemblers located @ http://www.thefreecountry.com/programming/disassemblers.shtml[^] regards! qcha0s

        K Offline
        K Offline
        Kreatief
        wrote on last edited by
        #3

        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

        Q 1 Reply Last reply
        0
        • K Kreatief

          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

          Q Offline
          Q Offline
          qcha0s
          wrote on last edited by
          #4

          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

          1 Reply Last reply
          0
          • F Filomela

            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.

            H Offline
            H Offline
            Henry miller
            wrote on last edited by
            #5

            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.

            A F 2 Replies Last reply
            0
            • H Henry miller

              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.

              A Offline
              A Offline
              Anonymous
              wrote on last edited by
              #6

              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

              1 Reply Last reply
              0
              • H Henry miller

                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.

                F Offline
                F Offline
                Filomela
                wrote on last edited by
                #7

                I want to know how NetSnippets was done ( netsnippets.com).

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups