Possible to decompile DLL written in C?

后端 未结 3 434
日久生厌
日久生厌 2020-12-18 14:56

I want to decompile a DLL that I believe was written in C. How can I do this?

3条回答
  •  攒了一身酷
    2020-12-18 15:17

    Short answer: you can't.

    Long answer: The compilation process for C/C++ is very lossy. The compiler makes a whole lot of high and low level optimizations to your code, and the resulting assembly code more often than not resembles nothing of your original code. Furthermore there are different compilers in the market (and each has several different active versions), which each generate the output a little differently. Without knowledge of which compiler was used the task of decompiling becomes even more hopeless. At the best I've heard of some tools that can give you some partial decompilation, with bits of C code recognized here and there, but you're still going to have to read through a lot of assembly code to make sense of it.

    That's by the way one of the reasons why copy protections on software are difficult to crack and require special assembly skills.

提交回复
热议问题