首页 新闻 搜索 专区 学院

用Reflector 反编译后的代码怎么让他运行起来

0
悬赏园豆:15 [已解决问题] 解决于 2012-05-28 15:20

如上,有可能嘛。。

1行受影响的主页 1行受影响 | 初学一级 | 园豆:113
提问于:2011-02-14 09:55
< >
分享
最佳答案
0

使用Reflector反编译exe或dll文件都可能无法进行编译(这里指已经对目的文件进行了脱壳处理),主要原因有以下几点:

1、如果对方使用了混淆技术,我们再反汇编会非常棘手,我常用的做法是把某个乱七八糟的名称使用自己的命名规范重新批量重命名,这样便于分析程序的结构。

2、Reflector对枚举类型的支持不是很好,它往往会把枚举当做整数进行处理,这个需要你手动更正过来。

3、对于自动属性,你需要把不符合编译语法的地方更正过来。自动属性的私有字段一般都含有<>等,需要手动更正一下。

4、对于Winform,你需要重新编译一下相关的资源文件,如果编译过程提示找不到资源的话。

5、对于静态变量或者静态类,这个你更要注意。举个例子:假如静态变量A,和B,而B又用到了A,这时候你要检查他们的初始化设置是否是先初始化的A,然后再初始化B,否则编译通不过。

归真 | 小虾三级 |园豆:605 | 2011-02-15 08:41
其他回答(2)
0

有可能的,但是首先你要知道,对方可能对代码进行了混淆处理,其次,反编译后的代码,还是要自行加工一下的。如果没有混淆处理过,那应该很简单的。比如你反编译的是一个winform.exe,那么你可以新建一个winform项目,把反编译的东东拷贝到该项目下。

具体的很多东西要说,估计不是一下子能说玩的。

收获园豆:5
Jack Fan | 园豆:36 (初学一级) | 2011-02-14 10:25
0

请编译

收获园豆:10
钧梓昊逑 | 园豆:945 (小虾三级) | 2011-02-14 12:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册