本帖最后由 姐又寡闻了 于 2019-6-6 22:43 编辑
软件地址:百度搜索mp4转换器,百度有官方下载
文章作者:cqr2287/cqr2003
破解原因:某人私下找我的
破解过程:
载入od,不能区分语言,但可以知道是ascii编码的。
打开软件
点注册,输入注册码,提示失败
其实软件就18元,支持正版的去支持吧。
软件当然没有字符串,但是断点也没用(废话,那你还发啥破文)
此时在内存中搜素注册码错误。
下内存访问断点,跟踪
[Asm] 纯文本查看 复制代码 779A341B 0FB602 movzx eax,byte ptr ds:[edx]
779A341E 03C0 add eax,eax
779A3420 0FB7B0 60D4A277 movzx esi,word ptr ds:[eax+0x77A2D460]
779A3427 4F dec edi
779A3428 FF4D 18 dec dword ptr ss:[ebp+0x18]
779A342B 66:85F6 test si,si
779A342E 74 21 je short ntdll.779A3451
779A3430 837D 18 00 cmp dword ptr ss:[ebp+0x18],0x0
779A3434 74 31 je short ntdll.779A3467
成功断下,返回程序领空。
[Asm] 纯文本查看 复制代码 004320B0 |. E8 274BFDFF call <jmp.&user32.DrawTextA> ; \DrawTextA
004320B5 |. 33C0 xor eax,eax
004320B7 |. 8A45 FB mov al,byte ptr ss:[ebp-0x5]
004320BA |. 8B3C85 6C884A>mov edi,dword ptr ds:[eax*4+0x4A886C] ; 缃
004320C1 |. 8B75 A8 mov esi,[local.22]
004320C4 |. 8B45 AC mov eax,[local.21]
004320C7 |. 8945 CC mov [local.13],eax
004320CA |. 85FF test edi,edi
执行到断尾。
因为这块比较乱,不好进行分析,也不是关键,所以返回上一层。
[Asm] 纯文本查看 复制代码 0044FB28 /$ 55 push ebp
0044FB29 |. 8BEC mov ebp,esp
0044FB2B |. 6A 00 push 0x0
0044FB2D |. 53 push ebx
0044FB2E |. 56 push esi ; MyMencod.004A5DB0
0044FB2F |. 8BF2 mov esi,edx
0044FB31 |. 8BD8 mov ebx,eax
0044FB33 |. 33C0 xor eax,eax
0044FB35 |. 55 push ebp
0044FB36 |. 68 7DFB4400 push MyMencod.0044FB7D
0044FB3B |. 64:FF30 push dword ptr fs:[eax]
0044FB3E |. 64:8920 mov dword ptr fs:[eax],esp
0044FB41 |. 8D55 FC lea edx,[local.1]
0044FB44 |. 8BC3 mov eax,ebx
0044FB46 |. E8 ADFFFFFF call MyMencod.0044FAF8
0044FB4B |. 8B45 FC mov eax,[local.1]
0044FB4E |. 8BD6 mov edx,esi ; MyMencod.004A5DB0
0044FB50 |. E8 074AFBFF call MyMencod.0040455C
0044FB55 |. 74 10 je short MyMencod.0044FB67
这里很规整,调用很多。先下个断点,继续跟踪。
[Asm] 纯文本查看 复制代码 0044FB77 |. E8 D445FBFF call MyMencod.00404150
0044FB7C \. C3 retn
0044FB7D .^ E9 4E3FFBFF jmp MyMencod.00403AD0
0044FB82 .^ EB F0 jmp short MyMencod.0044FB74
0044FB84 . 5E pop esi ; MyMencod.0044FB84
0044FB85 . 5B pop ebx ; MyMencod.0044FB84
0044FB86 . 59 pop ecx ; MyMencod.0044FB84
0044FB87 . 5D pop ebp ; MyMencod.0044FB84
0044FB88 . C3 retn
很熟悉的断尾。
[Asm] 纯文本查看 复制代码 00432268 |. FF51 68 call dword ptr ds:[ecx+0x68]
0043226B |. B2 01 mov dl,0x1
0043226D |. 8BC7 mov eax,edi
0043226F |. E8 8C400100 call MyMencod.00446300
00432274 |. 8B55 FC mov edx,[local.1] ; MyMencod.004A5DB0
00432277 |. 8BC7 mov eax,edi
00432279 |. E8 AAD80100 call MyMencod.0044FB28
0043227E |. 8D55 A0 lea edx,[local.24]
这是上一层。这一层也不是根本,继续跟。
[Asm] 纯文本查看 复制代码 0043251B |> \8B45 F4 mov eax,[local.3]
0043251E |. 8B10 mov edx,dword ptr ds:[eax] ; MyMencod.004318B4
00432520 |. FF92 EC000000 call dword ptr ds:[edx+0xEC] ; MyMencod.0046C230
00432526 |. 8945 F8 mov [local.2],eax
00432529 |. 33C0 xor eax,eax
这里是messagebox。这就说明离成功很近了,再上一层楼。
下方下段,跟踪。
[Asm] 纯文本查看 复制代码 004A5D1C . 84C0 test al,al
004A5D1E . 75 1F jnz short MyMencod.004A5D3F
004A5D20 . 8B83 08030000 mov eax,dword ptr ds:[ebx+0x308]
004A5D26 . 8B10 mov edx,dword ptr ds:[eax]
004A5D28 . FF92 C4000000 call dword ptr ds:[edx+0xC4]
004A5D2E . B8 B05D4A00 mov eax,MyMencod.004A5DB0 ; 注册码错误
004A5D33 . E8 1CC8F8FF call MyMencod.00432554
004A5D38 . E8 77DEF5FF call MyMencod.00403BB4
004A5D3D . EB 26 jmp short MyMencod.004A5D65
004A5D3F > B8 C45D4A00 mov eax,MyMencod.004A5DC4 ; 注册成功
关键。
一会把成品发上来,再做个行为记录。
|