010editor 最新版破解
非常感谢大佬文章的指导,给大佬跪了Orz呜呜呜,参考文章链接:
https://bbs.kanxue.com/thread-246459-1.htm
基本工具下载:
破解流程
破解思路:010 Editor在启动时,会检查注册状态,如果未注册,会提示是试用版,在这个提示处设断点,寻找破解线索。下图圆圈处就是启动时的试用版提示。
首先打开 sydyPe,固定 exe 文件的基地址:

记得保存,然后打开x64dbg,按 F9,直到到达程序入口处,这里可以看到一堆 jmp:

根据首次启动的页面中,会显示你当前是未注册的状态,我们可以采用字符串搜索的方式定位程序。

按Shift+D,在当前模块中搜索字符串:Evaluation,选择 Evaluation version\n ,打断点(按 F2):


选择一个地址进入,往上翻,找到函数头部,根据函数的开头都是 push 指令,我们可以找到函数头部,在头部下个断点

然后点击运行,断在这里,然后右键打开流程图:


分支指令,判断 edi 和 0xDB 的大小,右侧分析下:

明显的 "Licensed to" 字符串,说明是注册成功,那么也就是说 edi = 0xDB,说明注册成功。
那么我们就找到了注册标志,找到注册标志后,改程序流向是无效的,必须找到设置注册标志的公共CALL,在CALL里边改程序流向,才能真正实现破解。
cmp 指令上方还有一个 call 指令,除此之外没有多的 call 了,说明这是一个模块外的系统子程序调用,要想真正改变 edi ,就得找到所有设置该 edi 的公共函数调用call,在函数调用call里边改程序流向,才能真正实现破解

接下来我们要找到所有的注册标志 cmp ebx, 0xDB,先要复制该指令的指令码:81 FF DB 00 00 00

然后右键搜索:

然后在十六进制输入框中输入我们刚刚复制的机器码:

但是这里得到的只有一条:

此处根据大佬的分析
https://www.52pojie.cn/thread-1695625-1-1.html
用这个指令3D DB 00 00 00,搜索发现有7处进行了比对

依次点进去查看:








发现它们在比较的上一步,都调用了同一个函数 14000887D ,说明就是这个函数影响了寄存器的值,我们要做的就是修改这个函数,点进这个函数内:

是一串JMP表,继续跟进到子程序段:

终于找到最终的子程序,且有对 eax 进行修改的:

首先修改 je 跳转,让它跳转到下一条指令,也就是 mov eax,113 这条指令,点二进制-编辑,修改为 74 00

然后直接给 eax 赋值为 0xDB,B8不变,后面修改为 DB 00 00 00

修改完后长这样:

然后保存到文件,右键 - 补丁 - 修补文件

破解成功:
