反编译.net dll

自己公司的程序,年代久了,没有源代码,修改一些小地方,只能反编译,还好当时没有混淆。

先ildasm 反编译。

删除   .publickey = ( ) 这段,去原来签名。

 

然后再用找要改的IL,这个看IL的水平了,这些以前都弄过,不过自己程序有pfx签名,cs的在vs上关联下编译的时候自动弄。

一直不知道ilasm怎么弄,网上介绍的都是老的snk签名法,和含有cer的pfx签名。

终于在网上找到了

 

http://ianpicknell.blogspot.com/2009/12/adding-strong-name-to-third-party.html

 

SN -p MyCertificate.pfx MyCertificate-publickey.snk
ILASM ASQLService.il /dll /resource=ASQLService.res /key=MyCertificate-publickey.snk
SN -R ASQLService.dll MyCertificate.pfx

大致是先把pfx签一个公钥的snk,然后生成dll,最后签入原来key

改好后用ILSPY或者Reflector看看。

--------------------------------------------------------------------------------------------------------

Reflector的reflexil 1.6的时候改了,保存后有时候运行不起来。方便成cs的再编译还要引用一堆dll有点烦~还是il编译好,一个文件搞定也不用引用什么。

你可能感兴趣的:(.net)