自己公司的程序,年代久了,没有源代码,修改一些小地方,只能反编译,还好当时没有混淆。
先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编译好,一个文件搞定也不用引用什么。