我刚开始使用Dotfuscator,从一开始就碰到了一堵砖墙,当我构建我的项目时,Dotfuscator说:
Writing Assemblies...
Bad RVA found: 46
Build Error.我在网上找不到任何关于这个问题的报道。
我的项目分为几个部分,一个核心库项目和几个依赖于库项目的应用程序。我现在只是想搞乱图书馆的项目。对于输入程序集,我刚刚将Dotfuscator指向bin/x86/Release文件夹中的Library.dll。
我在这里是不是做错了什么,还是真的在Dotfuscator中碰到了以前未知的bug?
编辑:--我刚刚注意到了“只调查”选项,我只是针对这个项目运行,它似乎运行得很好:
Build Finished.
Build Statistics Total Renamed Percent Renamed
Types: 271 63 23.25 %
Methods: 1609 672 41.77 %
Fields: 1099 852 77.53 %
Dotfuscator Community Edition cannot rename generic types or methods.发布于 2012-08-18 01:35:45
RVA是程序集元数据的一个组件,代表“相对虚拟地址”。它是存储在程序集头中的一个数字,指向程序集中的某个虚拟地址。在Dotfuscator中,每个RVA都是由给定的子系统处理(但不是所有子系统都处理RVAs )时检查其有效性的,如果
( A)程序集元数据中没有找到任何节标头,但是找到了RVA,或者
( B) RVA指向位于所有找到的节头的最后一个虚拟地址之前的地址。
一般来说,这两件事都不应该发生。检查是否存在可能已更改库程序集的构建后行为。您可能还想尝试运行PEVerify,看看您的库是否正常。不能传递PEVerify并不意味着代码不会运行,但它会干扰混淆(或程序集元数据的任何处理)。如果PEVerify通过,您就会得到:)也许可以手动检查元数据,看看上面的条件A或B是否被击中了。
https://stackoverflow.com/questions/10768214
复制相似问题