xdaimon
xdaimon

Reputation: 96

Disassembling. Why?

I've taken a small free to use 15kb program and successfully dumped an uncompressed version of it into a new exe (sizing to approximately 56kb) (orig. packaged in UPX) I then loaded it into IDA Pro, and after quickly clicking away the message to tell me the imports are screwed up (which is weird cause I used OllyDump's option to fix the import table) I was brought to this screen

Is This Machine Code? http://imageshack.us/a/img401/9302/68696520.png

Is this Assembly or Machine Code? Ok its not machine code but is this considered Assembly? is a assembly file written with these hex numbers or whatever they are on the left hand side of the debugger?

http://imageshack.us/a/img526/548/23865356.png

Hey public start. looks familiar.

http://imageshack.us/a/img217/9457/62998986.png

If this is machine code. Is there a way for people to get machine code into ASM code? And after you get ASM code what are the possibilities?

If reversing back to source code is so difficult or nearly impossible (as stated in a few google search results) why are people disassembling programs in the first place?

I would like to learn more about the whys here. I was only inspired to do this since the code i'm picking through is a really cute little program that I would like to learn from and read through as I'm a beginner aspiring to be expert programmer.

Upvotes: 0

Views: 196

Answers (1)

Ken Aspeslagh
Ken Aspeslagh

Reputation: 11594

It's assembly language (ASM).

People disassemble programs to see how they work. If you have enough patience, and learn the language of the CPU in question, you can read this code just like any programming language. It takes a lot of practice, but it is not impossible to figure out how a program works by reading the ASM.

Turning it back into source code is entirely possible given the right knowledge and tools, especially if the program was generated using a popular compiler.

Upvotes: 2

Related Questions