备忘,SuppressIldasmAttribute属性,当
ILDASM默认存在SuppressIldasmAttribute属性,当使用ILDASM反汇编的程序集包含SuppressIldasmAttribute属性时,会报错“受保护的模块 无法进行反汇编”,需要去掉ILDASM工具的SuppressIldasmAttribute属性
去掉SuppressIldasmAttribute属性的ILDASM下载。如果ILDASM存在SuppressIldasmAttribute属性,当要反汇编的程序集包含SuppressIldasmAttribute属性时,会报错“受保护的模块 无法进行反汇编”。
ILDASM下载,已经去掉SuppressIldasmAttribute
按照下面的办法修改后的,可以打开存在SuppressIldasmAttribute属性的程序集
来源:http://www.cnblogs.com/TianFang/archive/2012/12/09/2810344.html
1. 将ILDasm.exe改个扩展名(记得备份原文件),然后用VisualStudio打开。
PS:之所以要改扩展名,是因为我要以十六进制的方式编辑,如果不改扩展名的话,VS把它当个exe打开,只能修改资源文件,如果用Ultraedit或WinHex之类的程序以十六进制方式编辑则可以不用改扩展名。
2. 查找SuppressIldasmAttribute字符串
ILDASM下载,已经去掉SuppressIldasmAttribute
3. 把它修改成一个其他的字符串
ILDASM下载,已经去掉SuppressIldasmAttribute
4. 保存修改后还原扩展名为.exe,这样你的新ILDasm.exe就无视SuppressIldasmAttribute了。
[assembly: SuppressIldasm]
==>IL代码
.custom instance void [mscorlib]System.Runtime.CompilerServices.SuppressIldasmAttribute::.ctor() = ( 01 00 00 00 )