可以反编译C语言编写的DLL? [英] Possible to decompile DLL written in C?

查看:1030
本文介绍了可以反编译C语言编写的DLL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要反编译,我相信是用C编写的一个DLL我怎么能这样做呢?

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

推荐答案

简短的回答:您不能

龙答:作为C / C ++编译过程是非常有损。编译器可以一大堆的高,低级别优化到code,所得组装code,往往不是什么酷似原来的code的。此外,还有在市场上不同的编译器(每个都有几种不同的活性的版本),其每一个产生的输出有点不同。其中,没有知识的使用编译器反编译的任务变得更加无望。在最好的,我听说过一些工具,可以给你一些局部的反编译,在这里和那里认可C $ C $的c位,但你仍然将不得不通过大量的组装code的阅读要理解它。

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.

这篇关于可以反编译C语言编写的DLL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆