记一次Net软件逆向的过程(经典)
查壳
1.先看下目录结构:

2.查下,是什么语言 ==> Net的,那不用说了,肯定能破解(毕竟是老本行嘛~)

混淆与反混淆
3.dnSpy打开后发现很多变量是乱码

4.用de4dot跑一波

5.生成了一个反混淆过的exe

程序调试
6.改名后打开,乱码问题解决

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

记一次Net软件逆向的过程(经典)的更多相关文章
- 解Bug之路-记一次存储故障的排查过程
解Bug之路-记一次存储故障的排查过程 高可用真是一丝细节都不得马虎.平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug.偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题, ...
- [liu yanling]软件开发的过程按阶段划分有:单元测试 集成测试 系统测试 验收测试
从软件开发的过程按阶段划分有:单元测试 集成测试 系统测试 验收测试测试过程按 4 个步骤进行,概念内容如下:单元测试:单元测试是对软件基本组成单元(如函数.类的方法等)进行的测试.集成测试:集成测试 ...
- [转载]软件测试之Web测试经典总结
转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ...
- 记Ubuntu开机黑屏及解决过程
之前遇到一次Ubuntu因为失误卸载了xinit.xserver的原因,导致开机黑屏无法进入系统,实际上当时是第一次遇到这种情况,因此花了点时间自己摸索,事后想来解决方案还是比较简单的,从目前的观点来 ...
- 记一次linux服务器问题处理过程
本周二的时候,涛哥找我,说明了一件事,在安装ganglia的时候,发生的一个问题. 在一台suse 10 sp1的服务器上,安装ganglia的一个依赖包,libconfuse.rpm,安装完成之后, ...
- 记一次有惊无险的Linux数据恢复过程
问题阶段 起因: 昨天晚上思路不是很清晰(上了一天班回来有点蒙),还是强忍着疲惫想搞事情,结果悲剧了… … 本来想拿SD卡做一张linux烧录卡,烧录脚本是很久以前写的,有git记录,一直不成功,就回 ...
- 记canvas画笔笔迹的多次优化过程
我们的项目是面向学校老师的教学软件,所以肯定少不了互动白板的功能,而这个里面的画笔功能是由我来开发的,下面介绍这个过程中遇到的问题以及解决方法. 首先给大家明确下由于软件中的画布可以自由移动,会超出屏 ...
- “深度评测官”——记2020BUAA软工软件案例分析作业
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发 ...
- 【夯实Mysql基础】记一次mysql语句的优化过程
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...
随机推荐
- Material Design (二),TextInputLayout的使用
前言 一般登录注冊界面都须要EditText这个控件来让用户输入信息,同一时候我们通常会设置一个标签(使用TextView)和EditText的hint属性来提示用户输入的内容,而设计库中高级组件T ...
- Linux 命令 indent 用法
此命令用于调整C源码的格式. 在LKD中的例子: indent -kr -i8 -ts8 -sob -l80 -ss -bs -psl filename 参数解释如下: -i :设置缩进的格数 - ...
- vscode - 使用Settings进行同步扩展以及配置信息等
1. 创建token(记住要复制上面的token): https://github.com/settings/tokens. 2. 创建gist id https://gist.github.com/ ...
- Hadoop最大值的算法中出现的错误(strToDouble)
错误信息: Exception in thread "main" java.lang.NumberFormatException: For input string: " ...
- JavaScript创建块级作用域
1.JavaScript创建块级作用域 (1)方法一:ES6 (2)方法二:闭包 2.示例 <!DOCTYPE html> <html lang="zh"> ...
- 《TCP/IP具体解释卷2:实现》笔记--IP的分片和重装
IP首部内有三个字段实现分片和重装:标识字段(ip_id).标志字段(ip_off的3个高位比特)和偏移字段(ip_off的13个低位 比特).标志字段由3个1bit标志组成.比特0是保留的必须为0, ...
- ubuntu 安装时出错 sudo apt-get update Reading package lists… Error
安装过程出错 首先出现问题sudo apt-get updateReading package lists… Error!E: Encountered a section with no Packag ...
- 并发编程概述 委托(delegate) 事件(event) .net core 2.0 event bus 一个简单的基于内存事件总线实现 .net core 基于NPOI 的excel导出类,支持自定义导出哪些字段 基于Ace Admin 的菜单栏实现 第五节:SignalR大杂烩(与MVC融合、全局的几个配置、跨域的应用、C/S程序充当Client和Server)
并发编程概述 前言 说实话,在我软件开发的头两年几乎不考虑并发编程,请求与响应把业务逻辑尽快完成一个星期的任务能两天完成绝不拖三天(剩下时间各种浪),根本不会考虑性能问题(能接受范围内).但随着工 ...
- $.ajax 温故而知新坑
$.ajax的配置项中使用 contentType: "application/json" 时,Data选项允许为String类型,如JSON.stringify({abc:123 ...
- H5中滚动卡顿的问题
加入-webkit-overflow-scrolling: touch;即可