上次发完,有网友问了一个问题:如果不绕过编译,而是直接编译怎么办?
记一次Net软件逆向的过程:https://www.cnblogs.com/dotnetcrazy/p/10142315.html
今天就来说说:本次提供样本:链接: https://pan.baidu.com/s/1ekYVKXt_Jz3ShwjoFknW0g 提取码: ywf6
2.调试破解1.查壳知道是Net程序
2.dnspy打开发现乱码.png
3.de4dot脱壳.png
4.这个就是反混淆之后的程序.png
5.改名后重新打开就不乱码了.png
6.直接运行看看效果,找到提示信息.png
7.入口点下断.png
8.单步走一波.png
9.在疑似关键函数处下断,然后运行.png
10.单步走了几下发现到动态加载的dll文件中了.png
11.在疑是关键点前后下断,然后F11,跟进去看看.png
12.到达了Login的页面.png
13.尝试根据提示来搜索login里面的验证code(这个和上次讲的不一样,上次高度封装,这个很乱).png
14.发现这段验证是在名称叫ok的按钮click事件中.png
15.发现有一段比较,下断,然后把text4的值改成right的值,看看什么效果.png
16.发现还有一处比较,不管的话运行依旧失败.png
17.看到一个vipdata转成datatime,那推测是和时间有关的.png
18.在loginfrom中搜索this.vipdate,发现了这处,那么可以确定是时间格式的字符串了(依据:可以转时间,而且可以使用字符串拼接).png
19.设断然后单击调试.png