您的位置:首页 > 博客中心 > 数据库 >

OllyDbg 使用笔记 (二)

时间:2022-03-10 18:19

OllyDbg 使用笔记 (二)


参考

书:《加密与解密》

视频:小甲鱼 解密系列 视频


TraceMe.exe下载地址:http://pan.baidu.com/s/1c0s2twO













004011D7             .  8D5424 4C     lea     edx, dword ptr [esp+4C]
004011DB             .  53            push    ebx
004011DC             .  8D8424 A00000>lea     eax, dword ptr [esp+A0]
004011E3             .  52            push    edx
004011E4             .  50            push    eax
004011E5             .  E8 56010000   call    00401340
004011EA             .  8B3D BC404000 mov     edi, dword ptr [<&USER32.GetDlg>;  USER32.GetDlgItem
004011F0             .  83C4 0C       add     esp, 0C
004011F3             .  85C0          test    eax, eax
004011F5             .  74 37         je      short 0040122E




图片6

gxlsystem.com,布布扣



00401340 /$ 55 push ebp 00401341 |. 8B6C24 0C mov ebp, dword ptr [esp+C] 00401345 |. 56 push esi 00401346 |. 57 push edi 00401347 |. 8B7C24 18 mov edi, dword ptr [esp+18] 0040134B |. B9 03000000 mov ecx, 3 00401350 |. 33F6 xor esi, esi 00401352 |. 33C0 xor eax, eax 00401354 |. 3BF9 cmp edi, ecx 00401356 |. 7E 21 jle short 00401379 00401358 |. 53 push ebx 00401359 |> 83F8 07 /cmp eax, 7 0040135C |. 7E 02 |jle short 00401360 0040135E |. 33C0 |xor eax, eax 00401360 |> 33D2 |xor edx, edx 00401362 |. 33DB |xor ebx, ebx 00401364 |. 8A1429 |mov dl, byte ptr [ecx+ebp] 00401367 |. 8A98 30504000 |mov bl, byte ptr [eax+405030] 0040136D |. 0FAFD3 |imul edx, ebx 00401370 |. 03F2 |add esi, edx 00401372 |. 41 |inc ecx 00401373 |. 40 |inc eax 00401374 |. 3BCF |cmp ecx, edi 00401376 |.^ 7C E1 \jl short 00401359 00401378 |. 5B pop ebx 00401379 |> 56 push esi ; /<%ld> 0040137A |. 68 78504000 push 00405078 ; |Format = "%ld" 0040137F |. 55 push ebp ; |s 00401380 |. FF15 9C404000 call dword ptr [<&USER32.wsprintfA>; \wsprintfA 00401386 |. 8B4424 1C mov eax, dword ptr [esp+1C] 0040138A |. 83C4 0C add esp, 0C 0040138D |. 55 push ebp ; /String2 0040138E |. 50 push eax ; |String1 0040138F |. FF15 04404000 call dword ptr [<&KERNEL32.lstrcmp>; \lstrcmpA 00401395 |. F7D8 neg eax 00401397 |. 1BC0 sbb eax, eax 00401399 |. 5F pop edi 0040139A |. 5E pop esi 0040139B |. 40 inc eax 0040139C |. 5D pop ebp 0040139D \. C3 retn

    我们可以发现call    dword ptr [<&KERNEL32.lstrcmp>; lstrcmp指令,说明前面的两参数一定是用来比较的,一个是自己写的错误序列号,一个是这个函数计算出来的正确的序列号。

    按F8运行到call    dword ptr [<&KERNEL32.lstrcmp>; 处,我们可以发现ebp存放的是“6854”字符串的地址,eax就是我们写的字符串“12345678”的地址(输入的用户名为billvsme,序列号为12345678)。从而我们就可以只到用户名“billvsme”的序列号为6854。






OllyDbg 使用笔记 (二),布布扣,bubuko.com

热门排行

今日推荐

热门手游