Roaring Falls Screensaver算法分析(2)

时间:2005-12-20 来源: 作者: 点击:
进入算法CALL:460F0C call 0045F41C * Referenced by a CALL at Addresses: |:0045F6EF , :0045F72E , :0045F7BD , :0045F80E , :0045F87B |:0045F8E6 , :00460F0C , :00460FCE | :0045F41C 55 push ebp :0045F41D 8BEC mov ebp, esp :0045F41F 83C4D4 add esp, FFFFFF
  进入算法CALL:460F0C  call 0045F41C


* Referenced by a CALL at Addresses:
|:0045F6EF   , :0045F72E   , :0045F7BD   , :0045F80E   , :0045F87B  
|:0045F8E6   , :00460F0C   , :00460FCE  
|
:0045F41C 55                      push ebp
:0045F41D 8BEC                    mov ebp, esp
:0045F41F 83C4D4                  add esp, FFFFFFD4
:0045F422 53                      push ebx
:0045F423 56                      push esi
:0045F424 57                      push edi
:0045F425 33DB                    xor ebx, ebx
:0045F427 895DD8                  mov dword ptr [ebp-28], ebx
:0045F42A 895DD4                  mov dword ptr [ebp-2C], ebx
:0045F42D 895DF0                  mov dword ptr [ebp-10], ebx
:0045F430 8BD9                    mov ebx, ecx
:0045F432 8955F8                  mov dword ptr [ebp-08], edx
:0045F435 8945FC                  mov dword ptr [ebp-04], eax
:0045F438 8B45FC                  mov eax, dword ptr [ebp-04]
:0045F43B E8E848FAFF              call 00403D28
:0045F440 8B45F8                  mov eax, dword ptr [ebp-08]
:0045F443 E8E048FAFF              call 00403D28
:0045F448 33C0                    xor eax, eax
:0045F44A 55                      push ebp
:0045F44B 6816F64500              push 0045F616
:0045F450 64FF30                  push dword ptr fs:[eax]
:0045F453 648920                  mov dword ptr fs:[eax], esp
:0045F456 837DF400                cmp dword ptr [ebp-0C], 00000000
:0045F45A 750D                    jne 0045F469
:0045F45C 8D45F8                  lea eax, dword ptr [ebp-08]

* Possible StringData Ref from Code Obj ->"umbra"
                                 |
:0045F45F BA30F64500              mov edx, 0045F630
:0045F464 E82745FAFF              call 00403990

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F45A(C)
|
:0045F469 8B45F8                  mov eax, dword ptr [ebp-08]
                                 ====>EAX=RfaLLs1

:0045F46C E80347FAFF              call 00403B74
                                 ====>取RfaLLs1的位数

:0045F471 8945F4                  mov dword ptr [ebp-0C], eax
                                 ====>[ebp-0C]=7

:0045F474 33F6                    xor esi, esi
:0045F476 807D0C00                cmp byte ptr [ebp+0C], 00
:0045F47A 0F8498000000            je 0045F518
:0045F480 8BFB                    mov edi, ebx
:0045F482 8D45F0                  lea eax, dword ptr [ebp-10]
:0045F485 50                      push eax
:0045F486 897DDC                  mov dword ptr [ebp-24], edi
:0045F489 C645E000                mov [ebp-20], 00
:0045F48D 8D55DC                  lea edx, dword ptr [ebp-24]
:0045F490 33C9                    xor ecx, ecx

* Possible StringData Ref from Code Obj ->"%1.2x"
                                 |
:0045F492 B840F64500              mov eax, 0045F640
:0045F497 E84891FAFF              call 004085E4
:0045F49C 8B45FC                  mov eax, dword ptr [ebp-04]
                                 ====>EAX=fly

:0045F49F E8D046FAFF              call 00403B74
                                 ====>取fly的位数

:0045F4A4 85C0                    test eax, eax
                                 ====>EAX=3

:0045F4A6 0F8E2F010000            jle 0045F5DB
:0045F4AC 8945E4                  mov dword ptr [ebp-1C], eax
:0045F4AF C745EC01000000          mov [ebp-14], 00000001

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F511(C)
|
:0045F4B6 8B45FC                  mov eax, dword ptr [ebp-04]
                                 ====>EAX=fly

:0045F4B9 8B55EC                  mov edx, dword ptr [ebp-14]
:0045F4BC 0FB64410FF              movzx eax, byte ptr [eax+edx-01]
                                 ====>依次取fly字符的HEX值
                           1、   ====>EAX=66
                           2、   ====>EAX=6C
                           3、   ====>EAX=79

:0045F4C1 03C7                    add eax, edi
                           1、   ====>EAX=66 + EB=151
                           2、   ====>EAX=6C + 00=6C
                           3、   ====>EAX=79 + 0A=83


:0045F4C3 B9FF000000              mov ecx, 000000FF
                                 ====>ECX=000000FF

:0045F4C8 99                      cdq
:0045F4C9 F7F9                    idiv ecx
                           1、   ====>EDX=151 % FF=52
                           2、   ====>EDX=6C  % FF=6C
                           3、   ====>EDX=83  % FF=83


:0045F4CB 8BDA                    mov ebx, edx
                                 ====>EBX=EDX

:0045F4CD 3B75F4                  cmp esi, dword ptr [ebp-0C]
:0045F4D0 7D03                    jge 0045F4D5
:0045F4D2 46                      inc esi
:0045F4D3 EB05                    jmp 0045F4DA

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F4D0(C)
|
:0045F4D5 BE01000000              mov esi, 00000001

------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容