查壳

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哦)

最新文章

  1. 前端开发---ppt展示页面评论区支持动态交互效果
  2. Inverted sentences
  3. Win32编程:窗口类样式+窗口外观样式+窗口显示样式
  4. 菜鸟类库诞生记二:通过反射转换DataRow为对象
  5. spotify engineering culture part 1
  6. NSUserDefaults的小封装
  7. jsp利用cookie记住用户名,下次登录时显示在文本框中(仅仅一个Cookie就整了将近三个小时,⊙﹏⊙b汗)
  8. 关于ServiceLocator ,AdpaterAwareInterface 注入
  9. <转载>浅谈C/C++的浮点数在内存中的存储方式
  10. velocity 随笔
  11. CMMI 配置管理
  12. Python学习 之 编程
  13. RPi 2B apache2 mysql php5 and vsftp
  14. 用phpMyAdmin修改mysql数据库密码
  15. [js高手之路]设计模式系列课程-发布者,订阅者重构购物车
  16. spring与mybatis(oracle)整合
  17. springMVC的controller
  18. Git Extensions 使用小结
  19. 对一个元素 同时添加单击onclick 和 双击ondblclick 触发冲突的解决
  20. 2 虚拟机Oracle11.2.0.4服务器端,第三方图形化界面安装步骤

热门文章

  1. 排查 “Detected Tx Unit Hang”问题
  2. datatables插件适用示例
  3. Php如何使用curl
  4. first core data
  5. 用python做自己主动化測试--绘制系统性能趋势图和科学计算
  6. Ffmpeg 探测输入源类型
  7. 我的_vimrc文件
  8. 查看Android源码和源码布局
  9. shell学习五十七天----linux任务管理,针对上一讲的总结和扩展
  10. js中的DOM节点