010 Editor 快速破解方法
(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )
010 Editor软件注册机制详细分析见下面这个帖子:
[新春礼物]_0_1_0_Editor 注册算法分析及全部版本注册机、网络在线验证分析和验证模拟
https://www.52pojie.cn/thread-1095855-1-1.html
我这个破解思路就比较简单了:不分析注册码,只要始终把注册标志标记为已注册,软件自然就是成功注册状态了。想走捷径的可以试试我这个破解方法。
以目前官网最新版本V13.0版 32位为例。用x32dbg进行调试。
破解思路:010 Editor在启动时,会检查注册状态,如果未注册,会提示是试用版,在这个提示处设断点,寻找破解线索。下图圆圈处就是启动时的试用版提示。
用x32dbg加载主程序010Editor.exe,按F9到达主程序入口处,看到一堆jmp指令。按Shift+D,在当前模块中搜索字符串:Evaluation。
可以看到,符合试用版提示的字符串有4个(都是换行符结尾),这4条指令地址非常接近,双击其中一条指令查看汇编代码,发现它们都在同一个子程序里,只是判断语句的分支不同。按F9运行一下,果然在启动之前能够中断,说明这段子程序就是在程序启动时用于检查注册状态的。
结束程序运行,然后重新加载,查看断点所在的子程序。
选中子程序第一条指令,查看流程图:
通过分析流程图可知,子程序流程在这里分成两个方向: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 指令,如下图所示。
查找到所有的cmp eax, 0xDB 指令,结果如下图:
挨个双击这些指令,查看相当的代码段,在好几处代码段都发现这条指令上面有一个相同的本地CALL:
进入这个CALL的代码段,是一串JMP表,继续跟进到子程序段,
最终到这个子程序的代码段,查看流程图可以看到,这个子程序出口有很多,用EAX值返回各种情形的标志,其中有一个就是EAX = 0xDB,注册成功标志。
既然是爆破,就简单直接一点儿,直接把EAX 赋值0xDB,然后返回,修改如下:
验证一下破解效果,手动把系统时间调整为2082年,再次运行主程序,一切正常。联网检查软件更新,显示这是最新版本,未发现联网验证问题。32位主程序破解完毕。
================================================================
64位版本的破解方法基本相同,但有一点儿不同,启动时验证指令是cmp ebx,0xDB,其它验证指令是:cmp eax,0xDB,如下图:
对关键CALL修改方法与32版本完全相同。
最后,给出64位和32位的x64dbg和x32dbg补丁,请自行调试,如有BUG请跟帖告知,喜欢请点个赞,谢谢。
patch.rar2022-10-4 16:33 上传点击文件名下载附件
下载积分: 吾爱币 -1 CB
[新春礼物]_0_1_0_Editor 注册算法分析及全部版本注册机、网络在线验证分析和验证模拟
https://www.52pojie.cn/thread-1095855-1-1.html
我这个破解思路就比较简单了:不分析注册码,只要始终把注册标志标记为已注册,软件自然就是成功注册状态了。想走捷径的可以试试我这个破解方法。
以目前官网最新版本V13.0版 32位为例。用x32dbg进行调试。
破解思路:010 Editor在启动时,会检查注册状态,如果未注册,会提示是试用版,在这个提示处设断点,寻找破解线索。下图圆圈处就是启动时的试用版提示。
图片1.png
用x32dbg加载主程序010Editor.exe,按F9到达主程序入口处,看到一堆jmp指令。按Shift+D,在当前模块中搜索字符串:Evaluation。
图片2.png
图片3.png
可以看到,符合试用版提示的字符串有4个(都是换行符结尾),这4条指令地址非常接近,双击其中一条指令查看汇编代码,发现它们都在同一个子程序里,只是判断语句的分支不同。按F9运行一下,果然在启动之前能够中断,说明这段子程序就是在程序启动时用于检查注册状态的。
结束程序运行,然后重新加载,查看断点所在的子程序。
选中子程序第一条指令,查看流程图:
图片4.png
图片5.png
通过分析流程图可知,子程序流程在这里分成两个方向: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
图片7.png
图片8.png
查找到所有的cmp eax, 0xDB 指令,结果如下图:
图片9.png
挨个双击这些指令,查看相当的代码段,在好几处代码段都发现这条指令上面有一个相同的本地CALL:
图片10.png
进入这个CALL的代码段,是一串JMP表,继续跟进到子程序段,
图片11.png
图片12.png
图片13.png
最终到这个子程序的代码段,查看流程图可以看到,这个子程序出口有很多,用EAX值返回各种情形的标志,其中有一个就是EAX = 0xDB,注册成功标志。
既然是爆破,就简单直接一点儿,直接把EAX 赋值0xDB,然后返回,修改如下:
图片14.png
图片15.png
图片16.png
验证一下破解效果,手动把系统时间调整为2082年,再次运行主程序,一切正常。联网检查软件更新,显示这是最新版本,未发现联网验证问题。32位主程序破解完毕。
================================================================
64位版本的破解方法基本相同,但有一点儿不同,启动时验证指令是cmp ebx,0xDB,其它验证指令是:cmp eax,0xDB,如下图:
图片17.png
图片18.png
对关键CALL修改方法与32版本完全相同。
图片19.png
最后,给出64位和32位的x64dbg和x32dbg补丁,请自行调试,如有BUG请跟帖告知,喜欢请点个赞,谢谢。
patch.rar2022-10-4 16:33 上传点击文件名下载附件
下载积分: 吾爱币 -1 CB
下一篇:酷我6.0车机版 全新界面更新来临!