手动破解之010Editor
010Editor v14.0.1(64-bit)
前言
在脱壳练习中使用了010Editor这款软件,只能使用30天,于是就想去破解一下
第一次破解正规稍大一点的软件,没什么经验
这个程序是没有加壳的,轻松修改数据
一开始是想绕过这个30天的检测,想去找这个模块方法的,修改了几个函数跳转,结果程序崩了
没有经验,就像大海捞针,没头没绪
最后还是得搜一搜找篇博客学习一下
010 Editor 快速破解方法
https://www.52pojie.cn/thread-1695625-1-1.html
(出处: 吾爱破解论坛)
这位师傅的思路方法是:不去分析注册码,而是把注册标志标记为已注册,软件就是成功注册的状态
破解速度很快的,先看效果
破解前
破解后(测试:修改系统时间到2050年,有效)
第一步找目标
破解思路:010 Editor在启动时,会检查注册状态,如果未注册,会提示是试用版,在这个提示处设断点,寻找破解线索
首先,使用工具让010Editor.exe程序的基地址固定,方便调试测试修改
选择固定PE基址,保存导出就可以了
开启x64dbg
通过x64dbg调试发现,是这个窗口先跳转出来的,也就是启动时的试用版提示
然后我们通过字符搜索Evaluation
,找到"Evaluation Version\n"
搜索之后发现有4个地址存在这个字符
进一步验证,发现它们在同一个模块(函数)里的,只是分支不同
我们选择一个地址进入,找到函数头部
然后下个断点,运行
测试是否会运行到这里
我这里断点下在0x00000014037614F
,然后运行
可以看到rip停在到了0x00000014037614F
,那就是这里没错了
找到注册标志
还是这个地址0x00000014037614F
,右击打开图表
大一点的流程图长这样
可以看到分支指令
cmp ebx, 0xDB
jnz 0x1403762D2 // 结果不为零(或不相等)则转移
分析得知,ebx = 0xDB
,表示成功注册标志
找到注册标志后,改程序流向是无效的,必须找到设置注册标志的公共函数调用call,在函数调用call里边改程序流向,才能真正实现破解
这个程序中,判断注册标志指令是cmp ebx, 0xDB,它上面的CALL是一个模块外的系统子程序调用
修改注册标志
我们要找到所有的注册标志cmp ebx, 0xDB
复制搜索指令
结果只有一条
之后发现是用了别的寄存器
cmp eax,DB //3D DB 00 00 00
用这个指令搜索发现有7处进行了比对
依次点击进去看看
这四处在比较DB
的上一步,都调用了同一个函数0x140008652
也就是说是这个函数影响了寄存器eax
的值
所以接下来要对这个函数进行修改
点击进行发现是跳转表,接着跟进
进入0x140375D80
发现都是对寄存器eax赋值的
je 010editor_no.140375DA5
mov eax,113
防止它乱赋值,这里先修改je跳转,然后修改eax,于是
je 010editor_no.140375D95
mov eax,DB
修改成这样
我这里补丁不上,我这里就用ida修改了
然后保存就可以了
成功破解
最后跳出的界面天数这些都没了
最后是成功了
虽然是借助了教程博客,贵在学习嘛