https://blog.csdn.net/liufile/article/details/112002023
前一篇已经介绍了,如何解决无源代码的老旧asp.net的兼容性或小范围修改问题,但是,对于我调试的网站,又出现新的问题,就是功能有缺失,这可能是反编译后,出现许多错误及警告,我修改的不是太完善导致。
因为时间紧,如何解决这个问题?
2个方法,1个就是把已经调试能正常运行的反编译的代码,重新读一下,进行调试,找出功能缺少或错误的地方,进行修改。
第2个,直接把原版dll拿过来,用ildasm反编译的代码,直接修改。
我想了想,时间那么紧,调试,还不知道会出现什么问题,用原版的dll,把[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]这行功能,直接写入原版dll中去,应该是时间最快的办法了。
可能有朋友会问,一开始这样,不就可以了吗?是的,有些时候,的确如此,直接改原版dll就可以了。
因为,[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)],这行代码,写入il的时候,并不是这种写法,与VS的IDE中,还是有区别的。
下面开始开工,手上有2个dll,一个是原版NVelocity.dll ,一个是我功能有缺失,但是已经加了“[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]”,并编译通过的NVelocity.dll。
首先,我使用“StrongNameRemove”工具,去除原版NVelocity.dll的强签名,然后,使用ildasm,把它反编译成il文件。我把它命令成NVelocity1
然后,我使用ildasm反编译加了“[

面对反编译后ASP.NET老旧网站出现的功能缺失,作者提出了两种快速解决方法:一是重新调试反编译代码,二是直接修改原版DLL。文章详细记录了使用ILDASM和ILASM工具,结合去除强签名和编辑IL代码的过程,成功修复了功能问题,实现了网站的顺利迁移。

8521

被折叠的 条评论
为什么被折叠?



