[新春礼物]_0_1_0_Editor 注册算法分析及全部版本注册机、网络在线验证分析和验证模拟
https://www.52pojie.cn/thread-1095855-1-1.html
我这个破解思路就比较简单了:不分析注册码,只要始终把注册标志标记为已注册,软件自然就是成功注册状态了。想走捷径的可以试试我这个破解方法。
以目前官网最新版本V13.0版 32位为例。用x32dbg进行调试。
破解思路:010 Editor在启动时,会检查注册状态,如果未注册,会提示是试用版,在这个提示处设断点,寻找破解线索。下图圆圈处就是启动时的试用版提示。
图片1.png (215.37 KB, 下载次数: 0)
下载附件
2022-10-4 16:19 上传
用x32dbg加载主程序010Editor.exe,按F9到达主程序入口处,看到一堆jmp指令。按Shift+D,在当前模块中搜索字符串:Evaluation。
图片2.png (300.72 KB, 下载次数: 0)
下载附件
2022-10-4 16:23 上传
图片3.png (107 KB, 下载次数: 0)
下载附件
2022-10-4 16:23 上传
可以看到,符合试用版提示的字符串有4个(都是换行符结尾),这4条指令地址非常接近,双击其中一条指令查看汇编代码,发现它们都在同一个子程序里,只是判断语句的分支不同。按F9运行一下,果然在启动之前能够中断,说明这段子程序就是在程序启动时用于检查注册状态的。
结束程序运行,然后重新加载,查看断点所在的子程序。
选中子程序第一条指令,查看流程图:
图片4.png (268.52 KB, 下载次数: 0)
下载附件
2022-10-4 16:24 上传
图片5.png (46.14 KB, 下载次数: 0)
下载附件
2022-10-4 16:25 上传
通过分析流程图可知,子程序流程在这里分成两个方向:EAX = 0xDB,表示各种已注册的状态,EAX 0xDB,表示各种未注册状态。由此可知,EAX = 0xDB是成功注册标志。
我在以前的帖子里说过,找到注册标志后,改程序流向是无效的,必须找到设置注册标志的公共CALL,在CALL里边改程序流向,才能真正实现破解。
在这个程序中,判断注册标志指令是cmp eax, 0xDB,它上面的CALL是一个模块外的系统子程序调用,再往上没有CALL了,怎么办?这说明这个标志已经提前由真正的CALL算好了,下面的关键是怎么找到这个真正的CALL:
单击选中 cmp eax, 0xDB指令,按Shift+C,复制二进制指令码,然后再按Ctrl+Shift+B,即在当前模块中按“匹配特征”进行搜索,按Ctrl+V粘贴二进制指令码,在主程序中查找所有的cmp eax, 0xDB 指令,如下图所示。
图片6.png (283.38 KB, 下载次数: 0)
下载附件
2022-10-4 16:26 上传
图片7.png (279.39 KB, 下载次数: 0)
下载附件
2022-10-4 16:26 上传
图片8.png (249.53 KB, 下载次数: 0)
下载附件
2022-10-4 16:26 上传
查找到所有的cmp eax, 0xDB 指令,结果如下图:
图片9.png (97.79 KB, 下载次数: 0)
下载附件
2022-10-4 16:27 上传
挨个双击这些指令,查看相当的代码段,在好几处代码段都发现这条指令上面有一个相同的本地CALL:
图片10.png (110.29 KB, 下载次数: 0)
下载附件
2022-10-4 16:27 上传
进入这个CALL的代码段,是一串JMP表,继续跟进到子程序段,
图片11.png (180.45 KB, 下载次数: 0)
下载附件
2022-10-4 16:28 上传
图片12.png (197.03 KB, 下载次数: 0)
下载附件
2022-10-4 16:28 上传
图片13.png (96.56 KB, 下载次数: 0)
下载附件
2022-10-4 16:28 上传
最终到这个子程序的代码段,查看流程图可以看到,这个子程序出口有很多,用EAX值返回各种情形的标志,其中有一个就是EAX = 0xDB,注册成功标志。
既然是爆破,就简单直接一点儿,直接把EAX 赋值0xDB,然后返回,修改如下:
图片14.png (193.46 KB, 下载次数: 0)
下载附件
2022-10-4 16:29 上传
图片15.png (205.65 KB, 下载次数: 0)
下载附件
2022-10-4 16:29 上传
图片16.png (139.13 KB, 下载次数: 0)
下载附件
2022-10-4 16:29 上传
验证一下破解效果,手动把系统时间调整为2082年,再次运行主程序,一切正常。联网检查软件更新,显示这是最新版本,未发现联网验证问题。32位主程序破解完毕。
================================================================
64位版本的破解方法基本相同,但有一点儿不同,启动时验证指令是cmp ebx,0xDB,其它验证指令是:cmp eax,0xDB,如下图:
图片17.png (128.64 KB, 下载次数: 0)
下载附件
2022-10-4 16:30 上传
图片18.png (110.6 KB, 下载次数: 0)
下载附件
2022-10-4 16:31 上传
对关键CALL修改方法与32版本完全相同。
图片19.png (113.45 KB, 下载次数: 0)
下载附件
2022-10-4 16:31 上传
最后,给出64位和32位的x64dbg和x32dbg补丁,请自行调试,如有BUG请跟帖告知,喜欢请点个赞,谢谢。
patch.rar
(256 Bytes, 下载次数: 154)
2022-10-4 16:33 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB