首页
社区
课程
招聘
[旧帖] [求助]关于一个程序的算法求解! 0.00雪花
发表于: 2009-9-10 20:47 2237

[旧帖] [求助]关于一个程序的算法求解! 0.00雪花

2009-9-10 20:47
2237
这程序是Delphi 写的
求教高人 这段代码是函数吗? 如果是函数 是哪个函数呢?
计算密钥的时候多次出现 这段代码,,,请教请教

004662F7  |.  6A 00         push    0
004662F9  |.  6A 09         push    9
004662FB  |.  89B5 A8FEFFFF mov     dword ptr [ebp-158], esi
00466301  |.  DB85 A8FEFFFF fild    dword ptr [ebp-158]
00466307  |.  D9FA          fsqrt
00466309  |.  D80D 20654600 fmul    dword ptr [466520]              ;461c4000h
0046630F  |.  E8 48CEF9FF   call    0040315C
00466314  |.  E8 97F7F9FF   call    00405AB0
00466319  |.  83C0 30       add     eax, 30
0046631C  |.  83D2 00       adc     edx, 0
0046631F  |.  8885 F8FEFFFF mov     byte ptr [ebp-108], al
               

dword ptr [ebp-158]               是个双字局部变量      
mov     byte ptr [ebp-108]      是序列号字符串12位
两个CALL 在下面

0040315C  /$  83EC 0C       sub     esp, 0C
0040315F  |.  D93C24        fstcw   word ptr [esp]
00403162  |.  D97C24 02     fstcw   word ptr [esp+2]
00403166  |.  9B            wait
00403167  |.  66:814C24 02 >or      word ptr [esp+2], 0F00
0040316E  |.  D96C24 02     fldcw   word ptr [esp+2]
00403172  |.  DF7C24 04     fistp   qword ptr [esp+4]
00403176  |.  9B            wait
00403177  |.  D92C24        fldcw   word ptr [esp]
0040317A  |.  59            pop     ecx
0040317B  |.  58            pop     eax
0040317C  |.  5A            pop     edx
0040317D  \.  C3            retn

00405AB0  /$  55            push    ebp
00405AB1  |.  53            push    ebx
00405AB2  |.  56            push    esi
00405AB3  |.  57            push    edi
00405AB4  |.  31FF          xor     edi, edi
00405AB6  |.  8B5C24 14     mov     ebx, dword ptr [esp+14]                ;ebx 9
00405ABA  |.  8B4C24 18     mov     ecx, dword ptr [esp+18]                 ;ecx 0
00405ABE  |.  09C9          or      ecx, ecx
00405AC0  |.  75 08         jnz     short 00405ACA
00405AC2  |.  09D2          or      edx, edx
00405AC4  |.  74 5D         je      short 00405B23
00405AC6  |.  09DB          or      ebx, ebx
00405AC8  |.  74 59         je      short 00405B23
00405ACA  |>  09D2          or      edx, edx
00405ACC  |.  79 0A         jns     short 00405AD8
00405ACE  |.  F7DA          neg     edx
00405AD0  |.  F7D8          neg     eax
00405AD2  |.  83DA 00       sbb     edx, 0
00405AD5  |.  83CF 01       or      edi, 1
00405AD8  |>  09C9          or      ecx, ecx
00405ADA  |.  79 07         jns     short 00405AE3
00405ADC  |.  F7D9          neg     ecx
00405ADE  |.  F7DB          neg     ebx
00405AE0  |.  83D9 00       sbb     ecx, 0
00405AE3  |>  89CD          mov     ebp, ecx
00405AE5  |.  B9 40000000   mov     ecx, 40
00405AEA  |.  57            push    edi
00405AEB  |.  31FF          xor     edi, edi
00405AED  |.  31F6          xor     esi, esi
00405AEF  |>  D1E0          /shl     eax, 1
00405AF1  |.  D1D2          |rcl     edx, 1
00405AF3  |.  D1D6          |rcl     esi, 1
00405AF5  |.  D1D7          |rcl     edi, 1
00405AF7  |.  39EF          |cmp     edi, ebp
00405AF9  |.  72 0B         |jb      short 00405B06
00405AFB  |.  77 04         |ja      short 00405B01
00405AFD  |.  39DE          |cmp     esi, ebx
00405AFF  |.  72 05         |jb      short 00405B06
00405B01  |>  29DE          |sub     esi, ebx
00405B03  |.  19EF          |sbb     edi, ebp
00405B05  |.  40            |inc     eax
00405B06  |>^ E2 E7         \loopd   short 00405AEF
00405B08  |.  89F0          mov     eax, esi
00405B0A  |.  89FA          mov     edx, edi
00405B0C  |.  5B            pop     ebx
00405B0D  |.  F7C3 01000000 test    ebx, 1
00405B13  |.  74 07         je      short 00405B1C
00405B15  |.  F7DA          neg     edx
00405B17  |.  F7D8          neg     eax
00405B19  |.  83DA 00       sbb     edx, 0
00405B1C  |>  5F            pop     edi
00405B1D  |.  5E            pop     esi
00405B1E  |.  5B            pop     ebx
00405B1F  |.  5D            pop     ebp
00405B20  |.  C2 0800       retn    8
00405B23  |>  F7F3          div     ebx
00405B25  |.  92            xchg    eax, edx
00405B26  |.  31D2          xor     edx, edx
00405B28  \.^ EB F2         jmp     short 00405B1C
00405B2A   .  C3            retn

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回