手动破解之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修改了

然后保存就可以了

成功破解

最后跳出的界面天数这些都没了

最后是成功了
虽然是借助了教程博客,贵在学习嘛

posted @ 2024-07-12 15:54  ReTCyc1e  阅读(18)  评论(0编辑  收藏  举报