记一次Net软件逆向的过程(经典)
2024-09-06 15:56:21
查壳
1.先看下目录结构:
2.查下,是什么语言 ==> Net的,那不用说了,肯定能破解(毕竟是老本行嘛~)
混淆与反混淆
3.dnSpy打开后发现很多变量是乱码
4.用de4dot跑一波
5.生成了一个反混淆过的exe
程序调试
6.改名后打开,乱码问题解决
下断
PS:刚开始你单步跟着后面走走`F11`,遇到系统方法就`F10`跳过,或者导航返回一步`←`,在跳进方法的下一行设置个断点`F9`,然后继续运行就好
7.在程序入口处下个断
8.单步走一波
9.F11到了程序入口处
10.核心点
11.单步跟进去后发现程序动态加载了一个dll(至于我为什么知道是验证dll,请继续往后看)
12.在方法尾部,发现有个返回的bool值,大胆推测下,就是关键性的验证了
13.验证框
14.顺便输入点东西(激活码长点)
15.激活窗口关闭后会返回一个验证失败的bool值
16.调试修改看看
17.调试已绕过,但是打开的时候闪退
18.说明修改不彻底,后面程序还是通过ClassMain.boolrun来判断
19.那就编辑一下,发现特殊符号编译不通过
20.那就换个新的突破点
21.发现验证方法,那就编辑下
22.废掉验证,然后编译
23.修改完毕
24.保存下dll
25.大部分软件这一步就搞定了,但是这边还是不行
PS:老版本这一步就搞定了,新版本会始终从资源文件中释放dll
反编译
26.那就继续上大招:Reflector打开
27.去资源列表里面找dll
拖进dnspy发现,倒数第四个就是的了
28.那感情好啊,用我们之前调试生成的破解版dll替换下资源项的值
29.用修改后的dll替换旧的资源值
30.reflexil保存下
31.保存替换
32.ok了(根目录木有vip那个dll哦)
最新文章
- 前端开发---ppt展示页面评论区支持动态交互效果
- Inverted sentences
- Win32编程:窗口类样式+窗口外观样式+窗口显示样式
- 菜鸟类库诞生记二:通过反射转换DataRow为对象
- spotify engineering culture part 1
- NSUserDefaults的小封装
- jsp利用cookie记住用户名,下次登录时显示在文本框中(仅仅一个Cookie就整了将近三个小时,⊙﹏⊙b汗)
- 关于ServiceLocator ,AdpaterAwareInterface 注入
- <;转载>;浅谈C/C++的浮点数在内存中的存储方式
- velocity 随笔
- CMMI 配置管理
- Python学习 之 编程
- RPi 2B apache2 mysql php5 and vsftp
- 用phpMyAdmin修改mysql数据库密码
- [js高手之路]设计模式系列课程-发布者,订阅者重构购物车
- spring与mybatis(oracle)整合
- springMVC的controller
- Git Extensions 使用小结
- 对一个元素 同时添加单击onclick 和 双击ondblclick 触发冲突的解决
- 2 虚拟机Oracle11.2.0.4服务器端,第三方图形化界面安装步骤