【文章标题】: mp4 转换专家 5.0注册码
【文章作者】: 單身貴族
【软件名称】: MP4 Converter.exe
【软件下载】:
http://www.onlinedown.net/soft/52758.htm
【加壳方式】: 无
【保护方式】: 序列号
【使用工具】: Ollydbg
【作者声明】: 发现有人发过“mp4 转换专家”的爆破帖子,于是看看自己能不能找的注册码。
很久以前就注册了个马甲,好像现在不能随便注册了
,一直想学这门技术
,最近正在学习8086汇编,所以对EAX,EBX不知所云。本人昨天才开始学习,看过大大们文章就手养想自己试试
。这是本人处女贴如果那里有错希望大家能指出。
用OD载入,ctrl+n,找到GetWindowTextA右键“在每个参数上设置断点”,提示设置4个断点。F9运行程序来到一个断点,这时发现程序没正常运行。取消断点再F9,好了程序正常运行,但是在按注册按钮时又停住了,同样F2、F9。这样就可以输入注册码了,程序又一次停住。然后alt+b去除多余的断点(还记得我们设置了4个断点吗?)
00430661 |. FF15 4C944300 call dword ptr [<&USER32.GetWindowTex>; \GetWindowTextA ;来到此处
00430667 |. 8B4D 10 mov ecx, dword ptr [ebp+10]
0043066A |. 6A FF push -1
0043066C |. E8 658FFFFF call 004295D6
00430671 |. EB 0B jmp short 0043067E
00430673 |> 8B45 10 mov eax, dword ptr [ebp+10]
00430676 |. FF30 push dword ptr [eax]
00430678 |. 56 push esi
00430679 |. E8 B3FAFFFF call 00430131
0043067E |> 5F pop edi
0043067F |. 5E pop esi
00430680 |. 5D pop ebp
00430681 \. C2 0C00 retn 0C
不用管这些代码死命F8
,来到
00406374 . 8B46 60 mov eax, dword ptr [esi+60] ; 存放用户名
00406377 . 8B40 F8 mov eax, dword ptr [eax-8] ; 计算用户名的长度
0040637A . 83F8 13 cmp eax, 13 ; 与13H比较
0040637D . 0F85 92010000 jnz 00406515 ; 不等跳转到失败处
00406383 . 8B4E 5C mov ecx, dword ptr [esi+5C] ; 计算验证码长度
00406386 . 8379 F8 13 cmp dword ptr [ecx-8], 13 ; 与13H比较
0040638A . 0F85 85010000 jnz 00406515 ; 不等跳转到失败处
从上面可知用户名和验证码都要19位
,刚好程序只能输入19位的字符,我就全1了
。在00406374先设置断点,重新载入程序到此处。然后F8到
00406432 . E8 594F0000 call 0040B390 ; 关键点
00406437 . 84C0 test al, al ; 检查al是否等于 0
00406439 . 6A 00 push 0
0040643B . 6A 00 push 0
0040643D . 0F84 A2000000 je 004064E5 ; 跳转到失败
F7进入00406432,继续F8到
0040B3E7 |. BE 64784400 mov esi, 00447864 ; p5_
0040B3EC |. 33C0 xor eax, eax
0040B3EE |. F3:A6 repe cmps byte ptr es:[edi], byte ptr>; 比较用户名是否P5_开头
0040B3F0 |. 5F pop edi
0040B3F1 |. 5E pop esi
0040B3F2 |. 75 66 jnz short 0040B45A ; 跳转到失败
在0040B3EE下断点,Ctrl+F2重新输入用户名,这里我输入P5_1111111111111111
,注册后来到刚刚下的断点,继续F8到
0040B442 |. E8 A9400000 call 0040F4F0 ; 关键点
0040B447 |. 8AC3 mov al, bl
0040B449 |. 5D pop ebp
0040B44A |. 5B pop ebx
0040B44B |. 8B4C24 0C mov ecx, dword ptr [esp+C]
0040B44F |. 64:890D 00000>mov dword ptr fs:[0], ecx
0040B456 |. 83C4 18 add esp, 18
0040B459 |. C3 retn ; 跳转到成功
0040B45A |> 8B4C24 14 mov ecx, dword ptr [esp+14] ; 用户不是P5_开头这跳到此处
0040B45E |. 5D pop ebp
0040B45F |. 32C0 xor al, al ; 清空al
0040B461 |. 5B pop ebx
0040B462 |. 64:890D 00000>mov dword ptr fs:[0], ecx
0040B469 |. 83C4 18 add esp, 18
0040B46C \. C3 retn ; 跳转到失败
F7进入00406432到
0040F4F0 /$ 8B41 04 mov eax, dword ptr [ecx+4] ; 哈哈,验证码自己出来了
0040F4F3 |. C701 A8B04300 mov dword ptr [ecx], 0043B0A8
0040F4F9 |. 50 push eax
0040F4FA |. E8 AFD20000 call 0041C7AE
0040F4FF |. 59 pop ecx
0040F500 \. C3 retn
得到验证码57B0-14CD-1F0A-2425,关于怎么计算我是有点思路,能不能成功就不知道。
就留给下一次吧!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课