var 发表于 2017-7-6 15:40

新手破解010 Editor v8.0 x64 附破解文件

本帖最后由 var 于 2017-8-2 15:26 编辑

本文使用工具:x64 Dbg
平台:Windows 10 x64
破解软件:010 Editor v8.0 x64

根据http://www.52pojie.cn/thread-576457-1-1.html教程学习

新手学习破解,大神轻拍。

下载地址在文尾,大神们还可以帮忙测试下联网验证的问题哦


1. 打开注册页面
图中 注册按钮④,就是需要激活的页面,Name、Password填写完整即可,内容任意。


2. 使用x64 Dbg附加到进程
无图

3. 点击 注册按钮④
会弹出一个提示窗口说明验证码不正确的MessageBox,因为010 Editor是QT界面,所以这会触发Windows API 中的CreateWindowEx,我们将这个设置为断点

切换到 符号 标签页,按照①,②的方式搜索到user32下的CreateWindow
按下F2,将CreateWindowExW CreateWindowExA设置为断点。其实断点最终走的是CreateWindowW,也就是Unicode窗口函数,这个大家在跟踪的时候就会知道,不过都断比较保险,应对部分老程序走的是Ansi字符集。

4. 再次点击 注册按钮④
程序被断住了,这时候我们切换到 调用堆栈页

一看东西挺多,其实大部分是QT调取的栈,我们往下找,找到了3个用户区的函数栈,现在就是去一个一个看这三个哪个符合要求

5. 一个一个点开
发现第二个双击之后出现了很多字符串,貌似是弹窗的英文

红线部分就是堆栈链,这个不重要。

6.往上下滚动一下
发现了正确授权的英文,往上滚动一点就可以看到,红框框的部分就是

往上看,只有一个cmp ebx,DB,这个if确定了是显示成功或者失败的分支
也就是 ebx 等于 0xDB的时候,表示提示注册成功的MessageBox,先给这个cmp下断,F9运行之后,重新点击 注册按钮④
这时候右边的FPU窗口,显示RBP是0x113,肯定不等于0xDB,那将jne改成je,就弹出了注册成功的提示窗口了,不过这样每次启动的时候都会提示让注册,改这个破解没意义。所以,这里不改,注意不改,仍然是jne
所以需要去改动它的注册验证函数,做到重启之后都判断为注册成功

7. 那我们往上滚动
找到这个函数的段首,也就是push rbp move rbp,rsp 的地方,设断之后,重新F9并点击 注册按钮④
然后按下Ctrl+A,分析这个函数,这样跳转的逻辑就显示出来了,


8. 可以看到很多call
不过都是QT的Call,所以都不用管,往下F8走,找到了5个


有时间的可以一个一个的进去看,不过这里直接透露谜底,就在第5个call里面。
原因如下:

9. 我们回到显示正确英文的区块这里
在Ctrl+A之后,已经分析出了是谁跳转过来,我们发现cmp ebx DB 左边有一个 > 符号,选中之后,一个红色的细线箭头指向到了上面第5个call的下面一行

注意图中是je,其实是我先改了,再次重申,这里不要改,仍然是jne。

10. 向上滚动到跳转源头
发现的有两个 je 指向这里,这应该就是 if( esi == 0xe7 || ds: == 0) 的意思


往上一点可以看到
(关键知识点)
esi 由第4个call返回
rcx貌似是读取的一个变量,是否是属于函数内的变量,这里没深究
ebx 由第5个函数返回,所以ebx ,就在这个函数体了

这里插一句:eax一般是函数return的寄存器,所以在call下面的eax,一般都是return的结果

11.我们给第五个call设断
之后F7跟进去

在这个函数的结尾发现了 mov eax DB,真是踏破铁鞋无觅处,这里也是一个if分支,根据 > 符号的箭头指向到了头部

12. 这个函数的头部有一个 if (!) return 0x113;的语句,红圈处


通过监视 是0,因为也没深究这个是哪个变量,所以经过多次试验,我们将其改为jne

13. 跳过函数体,直接进入ret


这里是直接跳到move exa DB的地方,将其改为 jne,直接跳到函数结尾。

自此,修改就结束了。


14. Ctrl+P保存补丁为另外一个exe文件之后,重启这个文件发现无需注册了,并且注册内容任意。



内存中修改的主要是:
是dbgx64的内存补丁,文件的在下面
0000000000AF5F23:74->75
0000000000AF5F3E:84->85

文件中修改是:
AF5323   74->75
AF533E   84->85
不知道是否反弹,大神可以测试一下,毕竟这个还有网络验证。

已经修改之后的文件是:https://pan.baidu.com/s/1slyhNGD
下载地址是:x64https://www.sweetscape.com/download/010EditorWin64Installer.exe

gfjykldd 发表于 2018-1-7 19:29

本帖最后由 gfjykldd 于 2018-1-7 19:31 编辑

经过测试,用楼主的方法似乎是可行的,但在楼主的第12步中增加一处修改。



00007FF6D43F61F0       | 48 89 5C 24 08               | mov qword ptr ss:,rbx                               |
00007FF6D43F61F5       | 57                           | push rdi                                                   |
00007FF6D43F61F6       | 48 83 EC 20                  | sub rsp,20                                                 |
00007FF6D43F61FA       | 83 79 3C 00                  | cmp dword ptr ds:,0                              |
00007FF6D43F61FE       | 8B FA                        | mov edi,edx                                                |
00007FF6D43F6200       | 48 8B D9                     | mov rbx,rcx                                                |
00007FF6D43F6203       | 74 10                        | je 010editor.7FF6D43F6215                                  |
00007FF6D43F6205       | B8 DB 00 00 00               | mov eax,DB                                                 | Patch:mov eax, 113 -> mov eax, DB
00007FF6D43F620A       | 48 8B 5C 24 30               | mov rbx,qword ptr ss:                              |
00007FF6D43F620F       | 48 83 C4 20                  | add rsp,20                                                 |
00007FF6D43F6213       | 5F                           | pop rdi                                                    |
00007FF6D43F6214       | C3                           | ret                                                      |
00007FF6D43F6215       | E8 2C DB 50 FF               | call 010editor.7FF6D3903D46                              |
00007FF6D43F621A       | 83 F8 2D                     | cmp eax,2D                                                 | 2D:'-'
00007FF6D43F621D       | E9 CC 00 00 00               | jmp 010editor.7FF6D43F62EE                                 | Patch: je 0x00007FF6D43F62EE -> jmp 0x00007FF6D43F62EE
00007FF6D43F6222       | 90                           | nop                                                      |
00007FF6D43F6223       | 83 F8 4E                     | cmp eax,4E                                                 | 4E:'N'
00007FF6D43F6226       | 0F 84 90 00 00 00            | je 010editor.7FF6D43F62BC                                  |
00007FF6D43F622C       | 3D E7 00 00 00               | cmp eax,E7                                                 |
00007FF6D43F6231       | 74 79                        | je 010editor.7FF6D43F62AC                                  |
00007FF6D43F6233       | 8B D7                        | mov edx,edi                                                |
00007FF6D43F6235       | 48 8B CB                     | mov rcx,rbx                                                |
00007FF6D43F6238       | E8 17 0E 51 FF               | call 010editor.7FF6D3907054                              |
00007FF6D43F623D       | 83 F8 17                     | cmp eax,17                                                 |
00007FF6D43F6240       | 74 5A                        | je 010editor.7FF6D43F629C                                  |
00007FF6D43F6242       | 83 F8 2A                     | cmp eax,2A                                                 | 2A:'*'
00007FF6D43F6245       | 74 2E                        | je 010editor.7FF6D43F6275                                  |
00007FF6D43F6247       | 3D 38 01 00 00               | cmp eax,138                                                |
00007FF6D43F624C       | 75 5E                        | jne 010editor.7FF6D43F62AC                                 |
00007FF6D43F624E       | 48 8B CB                     | mov rcx,rbx                                                |
00007FF6D43F6251       | E8 B4 0C 51 FF               | call 010editor.7FF6D3906F0A                              |

即把

je 010editor.7FF6D43F6215                                  |
00007FF6D43F6205       | B8 DB 00 00 00               | mov eax,113                                                 | Patch:mov eax, 113 -> mov eax, DB
00007FF6D43F620A       | 48 8B 5C 24 30               | mov rbx,qword ptr ss:
改成:

je 010editor.7FF6D43F6215                                  |
00007FF6D43F6205       | B8 DB 00 00 00               | mov eax,DB                                                 | Patch:mov eax, 113 -> mov eax, DB
00007FF6D43F620A       | 48 8B 5C 24 30               | mov rbx,qword ptr ss:

下图是dump后注册的结果:

冥界3大法王 发表于 2017-7-7 18:15

disth 发表于 2017-7-6 16:35
修改应该是:
0000000000AF5323:74->75
0000000000AF533E:84->85


我测试也一样,怀疑官方的版本和楼主提供的不一样,不过
140AF62FD:0F850B010000jne 00AF640Eh

cmp ebx,DB
和这个的切入点IDA中流程图能看得更清晰些。

sxy8889558 发表于 2017-7-6 15:45

厉害 学习了。{:1_912:}

make286750370 发表于 2017-7-6 15:48

楼主学到位了   我还在摸索进行中

dbsjacky 发表于 2017-7-6 15:56

厉害厉害,楼主好样的。

z234465027 发表于 2017-7-6 16:28

厉害了 亲受教了

disth 发表于 2017-7-6 16:35

修改应该是:
0000000000AF5323:74->75
0000000000AF533E:84->85
我这里仍然无法注册。。。。。

trhaha 发表于 2017-7-6 16:44

多谢楼主分享

var 发表于 2017-7-6 16:49

disth 发表于 2017-7-6 16:35
修改应该是:
0000000000AF5323:74->75
0000000000AF533E:84->85


文件中修改是:
AF5323   74->75
AF533E   84->85


我那个是x64dbg的内存补丁

ufo2273810 发表于 2017-7-6 17:15

谢谢分享。

m4n0w4r 发表于 2017-7-6 18:44

尼斯指導,謝謝分享!
页: [1] 2 3 4 5 6 7
查看完整版本: 新手破解010 Editor v8.0 x64 附破解文件