Shoutbox

Decompile dll - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Skype & Technology (/forumdisplay.php?fid=9)
+---- Forum: Tech Talk (/forumdisplay.php?fid=17)
+----- Thread: Decompile dll (/showthread.php?tid=40301)

Decompile dll by DJeX on 03-17-2005 at 05:31 AM

I want to decompile a dll file from one of my games. I want to mod it. How could I get at the source code of the dll?


RE: Decompile dll by ShawnZ on 03-17-2005 at 06:06 AM

Its impossible to find the source code of a compiled program, but you can disassemble it, just google it


RE: Decompile dll by DJeX on 03-17-2005 at 06:09 AM

I did Google, for some reason it's really hard to find any thing good on this topic. :)


RE: Decompile dll by segosa on 03-17-2005 at 07:46 AM

Disassembling isn't something you can learn in an hour. Here's a link to what I think is one of the best debuggers there is: OllyDbg. I think you'll be put off as soon as you see what it looks like dissassembled though. :P


RE: Decompile dll by DJeX on 03-17-2005 at 08:28 AM

So I guess before I can do any editing I have to learn ASM :(

Theres no easyer way?


RE: RE: Decompile dll by Ash_ on 03-17-2005 at 12:19 PM

quote:
Originally posted by DJeX
So I guess before I can do any editing I have to learn ASM :(

Theres no easyer way?

no, but it's be cool if someone created a program that decomipiled it to asm, then made it into liek C++ or C# code. now that would sell. :P

ahwell, it's not like Assembly is hard Djex. the calls and operators and stuff. its just the Numbers and Hex and stuff that overwhelms me.
RE: Decompile dll by CookieRevised on 03-17-2005 at 01:39 PM

quote:
Originally posted by Ash_
no, but it's be cool if someone created a program that decomipiled it to asm, then made it into liek C++ or C# code. now that would sell.
That is impossible in 99,9999999999% of all cases. The request for decompilers is as old as programming itself. Only a very small number of decompilers have ever been created.

And these are either for specific versions of specific languages, and/or can only be used in very specific situations (eg: debug code is compiled inside executable). In either case, the output of the decompiler is often not what you expect it to be and never 100%.

Also note that decompiling something is not for the faint of heart, you must be a real ASM and PC guru to pull something like this off.

There is a reason why decompilers almost don't exist (and it is not because it is illegal).

EDIT: Als note that disassembling and decompiling are two different things...
RE: Decompile dll by DJeX on 03-17-2005 at 07:45 PM

What’s the difference between disassembling and decompiling?

How do the anti-virus company’s do it then? They must have a program to take apart the viruses to see how they work?


RE: Decompile dll by segosa on 03-17-2005 at 10:35 PM

quote:
Originally posted by DJeX
What’s the difference between disassembling and decompiling?

How do the anti-virus company’s do it then? They must have a program to take apart the viruses to see how they work?


They disassemble.

And Cookie's right.. it's not for the faint at heart. Just one look at it will put you off as said above. Take a look here, maybe it'll help you. :/
RE: Decompile dll by CookieRevised on 03-17-2005 at 11:34 PM

quote:
Originally posted by DJeX
What’s the difference between disassembling and decompiling?
disassembling is turning hexadecimal codes (the things you see when you open a compiled program in a hex editor*) into assembler (aka machine code**)

Decompiling goes a step further and changes the machinecode into programming language. But because many information is lost when you compile a program you are almost never able to reverse it in a decent way.


  • Hexadecimal codes:
    004E33E7  E8 DC 2F 09 00 83 EC 24 53 56 8B F1 8B 8E 0C 01 00 00 57

  • equivalent assembler codes:
    call SUB_L005763C8
    sub esp,00000024h
    push ebx
    push esi
    mov esi,ecx
    mov ecx,[esi+0000010Ch]
    push edi

quote:
Originally posted by DJeX
How do the anti-virus company’s do it then? They must have a program to take apart the viruses to see how they work?
Yes, but you don't need a decompiler for that. They don't need the actual programming code as those guys know how to read assembler...