What happened to the Messenger Plus! forums on msghelp.net?
Shoutbox » MsgHelp Archive » Skype & Technology » Tech Talk » assembly conversion

assembly conversion
Author: Message:
Adeptus
Senior Member
****


Posts: 732
Reputation: 40
Joined: Oct 2005
RE: assembly conversion
It is relatively easy for someone who understands assembly to look at the disassembler output and figure out what a code portion of special interest does, such as an encryption algorithm or controlling a proprietary piece of hardware.  They can then rewrite it in C or whatever.  The hardest part usually is finding the code you are looking for.

I stress "code of special interest."  Doing this for an entire application isn't practical.  90% or more of any application is code that performs tedious simple tasks, like display windows and menus. That is much faster to code from scratch than it is to reverse engineer.

I have seen and experimented with various "decompilers".  The problem is compiling to native code, especially with a good optimizing compiler, is a one way process.  When reduced to optimized machine code, there is no difference between, say, switch and case vs. many nested if statements, or between different kinds of loops.   They are interchangeable and exist to make code more readable. The decompiler can't tell what it originally was.

It is even difficult to distinguish what once was object oriented code using classes, from procedural code passing around pointers to structs (which is basically how classes work behind the scenes).  For statically linked code, it can be tough to tell where the program's code ends and standard library/framework code begins.  The decompiler may just decompile it all equally.  Of course, there are no comments or any of the original variable and function names. 

The result is basically garbage and you would be better off just looking at the disassembler output.  Humans (at least those who should be doing this kind of thing) are a lot more intelligent than any decompiler.

On the contrary, .NET code can be decompiled to pretty much what it started out as, thanks to its use of the intermediate byte-code and its self-documenting features.  I'd expect the same to be true for Java and anything else using intermediate code.

People might be able to help you better if you tell us what exactly is behind your questions and what you want to accomplish. 
01-16-2010 03:10 AM
Profile E-Mail PM Find Quote Report
« Next Oldest Return to Top Next Newest »

Messages In This Thread
assembly conversion - by MX-G on 01-13-2010 at 09:43 PM
RE: assembly conversion - by andrey on 01-13-2010 at 10:46 PM
RE: assembly conversion - by MX-G on 01-13-2010 at 11:33 PM
RE: assembly conversion - by Adeptus on 01-15-2010 at 04:35 AM
RE: assembly conversion - by tony on 01-15-2010 at 04:50 AM
RE: assembly conversion - by MX-G on 01-15-2010 at 04:18 PM
RE: assembly conversion - by andrey on 01-15-2010 at 04:36 PM
RE: assembly conversion - by MX-G on 01-15-2010 at 08:36 PM
RE: assembly conversion - by Adeptus on 01-16-2010 at 03:10 AM
RE: assembly conversion - by MX-G on 01-16-2010 at 04:54 PM


Threaded Mode | Linear Mode
View a Printable Version
Send this Thread to a Friend
Subscribe | Add to Favorites
Rate This Thread:

Forum Jump:

Forum Rules:
You cannot post new threads
You cannot post replies
You cannot post attachments
You can edit your posts
HTML is Off
myCode is On
Smilies are On
[img] Code is On