首页 > 技术文章 > 【技术转载】 .net逆向之:trycatch代码块和谐方法

xkrj5 2020-03-16 18:42 原文


在用dnSpy逆向时常常会遇到try-catch异常捕捉代码块,如果该dll可以脱壳当然直接修改代码再回编译即可。但也经常会遇到少数一两个dll常规脱壳手段脱壳之后,软件无法正常运行,此时就需要直接对IL指令进行修改。
新手一枚,老鸟路过,敬请手下留情。
工具:dnSpy v6.1.3,最新发布版,星空软件
例如dnSpy打开某dll文件,找到license计算入口代码如下:

这里面的代码都是计算license用的,和谐思路就是,直接全部删除,再给两个本地字段赋值即可完成和谐过程。

右键点击方法体任何地方,选择编辑IL指令,

弹出以下窗口,

点击红色框,异常处理程序,

右键点击红色框,选择删除异常处理程序,或删除所有异常处理程序,

之后将所有IL指令删除,在增加几个指令,给该方法的两个本地字段赋值,即可完成和谐过程,

 

如果不首先删除异常处理程序,那么这里是无法点击确认的,也就是无法保存。以上是针对代码中有trycatch的和谐方法,具体软件名就不放出来了,纯粹探讨方法。

免费评分

 

推荐阅读