• 标 题:Hidownload注册方法总结
  • 作 者:东南破佛
  • 时 间:2003年11月19日 07:03
  • 链 接:http://bbs.pediy.com

http://www.hidownload.com

下载工具

试用天数限制

AsPack2.12

pe-scan脱壳

Delphi6.0的作品

首先输入用户名和电子邮件地址,和随便一个序列号,比如:

/用 户 名:dnpf
|电子邮件:dnpf@sohu.com
注 册 码:695ec0ee7352c033530309d0ad3418cb

然后在0068A51A地址处下中断,拦截到之后,分别看EAX和EDX的内容:

/EAX:b0351f56a39e0f21d9736d09278cd3c2
EDX:e7352c033530309d0ad3418cb

然后按照上面我的分析,关键运算只和输入的注册码的前面某部分有关,那我们就把它组合一下,看看EDX的内容和我们输入的注册码的差别了吧,我们就取前面的部分“695ec0e”,然后我们知道EAX的内容就是根据这个部分生成的,并且最后还要和EDX的内容比较,我们就把EAX的内容作为我们注册码的后面部分“b0351f56a39e0f21d9736d09278cd3c2”连接起来就是“695ec0eb0351f56a39e0f21d9736d09278cd3c2”

最后整理一下:

/用 户 名:dnpf-------------------
|电子邮件:dnpf@sohu.com----------/这两部分不参与运算,可以任意输入
注 册 码:695ec0eb0351f56a39e0f21d9736d09278cd3c2



Dede反汇编,过程页面单元名里面找到URegistrationWin ,这个就是注册窗口,在右边找到注册按钮对应的事件 ButtRegClick ,查看其代码:



005A3A70   55                     push    ebp
005A3A71   8BEC                   mov     ebpesp
005A3A73   B909000000             mov     ecx, $00000009
005A3A78   6A00                   push    $00
005A3A7A   6A00                   push    $00
005A3A7C   49                     dec     ecx
005A3A7D   75F9                   jnz     005A3A78
005A3A7F   8945FC                 mov     [ebp-$04], eax
005A3A82   33C0                   xor     eaxeax
005A3A84   55                     push    ebp
005A3A85   68463D5A00             push    $005A3D46

***** TRY
|
005A3A8A   64FF30                 push    dword ptr fs:[eax]
005A3A8D   648920                 mov     fs:[eax], esp
005A3A90   8D55F4                 lea     edx, [ebp-$0C]---------------->保存注册码的新地址
005A3A93   8B45FC                 mov     eax, [ebp-$04]

* Reference to control Registrationkey : TLabel
|
005A3A96   8B8004030000           mov     eax, [eax+$0304]

* Reference to: controls.TControl.GetText(TControl):System.String;
|
005A3A9C   E83BC4EBFF             call    0045FEDC------------------------>取注册码
005A3AA1   8B45F4                 mov     eax, [ebp-$0C]------------------>注册码
005A3AA4   50                     push    eax----------------------------->入栈
005A3AA5   8D55E8                 lea     edx, [ebp-$18]------------------>保存用户名的新地址
005A3AA8   8B45FC                 mov     eax, [ebp-$04]

* Reference to control RegisteredUser : TLabel
|
005A3AAB   8B8000030000           mov     eax, [eax+$0300]

* Reference to: controls.TControl.GetText(TControl):System.String;
|
005A3AB1   E826C4EBFF             call    0045FEDC---------------------->取用户名
005A3AB6   8B45E8                 mov     eax, [ebp-$18]---------------->用户名
005A3AB9   8D55EC                 lea     edx, [ebp-$14]

* Reference to: sysutils.Trim(System.AnsiString):System.AnsiString;
|
005A3ABC   E8275CE6FF             call    004096E8----------------------->再保存用户名
005A3AC1   FF75EC                 push    dword ptr [ebp-$14]
005A3AC4   685C3D5A00             push    $005A3D5C
005A3AC9   8D55E0                 lea     edx, [ebp-$20]----------------->保存电子邮件的新地址
005A3ACC   8B45FC                 mov     eax, [ebp-$04]

* Reference to control MechineCode : TEdit
|
005A3ACF   8B8018030000           mov     eax, [eax+$0318]

* Reference to: controls.TControl.GetText(TControl):System.String;
|
005A3AD5   E802C4EBFF             call    0045FEDC----------------------->取电子邮件地址
005A3ADA   8B45E0                 mov     eax, [ebp-$20]----------------->电子邮件地址
005A3ADD   8D55E4                 lea     edx, [ebp-$1C]

* Reference to: sysutils.Trim(System.AnsiString):System.AnsiString;
|
005A3AE0   E8035CE6FF             call    004096E8
005A3AE5   FF75E4                 push    dword ptr [ebp-$1C]
005A3AE8   8D45F0                 lea     eax, [ebp-$10]
005A3AEB   BA03000000             mov     edx, $00000003

|
005A3AF0   E80B14E6FF             call    00404F00------------------->用户名和电子邮件地址连接在一起(用:连接)
005A3AF5   8B45F0                 mov     eax, [ebp-$10]------------->连接后的形式
005A3AF8   5A                     pop     edx------------------------>注册码

|
005A3AF9   E826690E00             call    0068A424------------------->验证
005A3AFE   84C0                   test    alal--------------------->作为标志
005A3B00   0F84BB010000           jz      005A3CC1------------------->为零失败
005A3B06   33C0                   xor     eaxeax
005A3B08   55                     push    ebp
005A3B09   687E3C5A00             push    $005A3C7E

{上面用户名和注册码各取了两次,因为用户名和电子邮件连接在一起是调用另外的CALL完成的,Delphi参数传递默认是使用复制值}

……

中间代码省略

……

* Reference to : TApplication._PROC_0044DABC()
|
005A3CBC   E8FB9DEAFF             call    0044DABC
005A3CC1   33C0                   xor     eaxeax------------------->跳到这里说明注册失败
005A3CC3   5A                     pop     edx
005A3CC4   59                     pop     ecx
005A3CC5   59                     pop     ecx
005A3CC6   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '嬪]?
|
005A3CC9   684D3D5A00             push    $005A3D4D
005A3CCE   8D45B8                 lea     eax, [ebp-$48]

……

之后代码省略


***************************************************************************
***************************************************************************

以下内容为验证CALL,最终EAX为零表示失败


0068A424   $  55            PUSH EBP
0068A425   .  8BEC          MOV EBP,ESP
0068A427   .  83C4 D8       ADD ESP,-28
0068A42A   .  53            PUSH EBX
0068A42B   .  56            PUSH ESI
0068A42C   .  57            PUSH EDI
0068A42D   .  33C9          XOR ECX,ECX
0068A42F   .  894D F0       MOV DWORD PTR SS:[EBP-10],ECX
0068A432   .  894D D8       MOV DWORD PTR SS:[EBP-28],ECX
0068A435   .  894D DC       MOV DWORD PTR SS:[EBP-24],ECX
0068A438   .  894D F4       MOV DWORD PTR SS:[EBP-C],ECX
0068A43B   .  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
0068A43E   .  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
0068A441   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0068A444   .  E8 DFABD7FF   CALL HIDOWNLO.00405028
0068A449   .  33C0          XOR EAX,EAX
0068A44B   .  55            PUSH EBP
0068A44C   .  68 65A56800   PUSH HIDOWNLO.0068A565
0068A451   .  64:FF30       PUSH DWORD PTR FS:[EAX]
0068A454   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
0068A457   .  33C0          XOR EAX,EAX
0068A459   .  55            PUSH EBP
0068A45A   .  68 31A56800   PUSH HIDOWNLO.0068A531
0068A45F   .  64:FF30       PUSH DWORD PTR FS:[EAX]
0068A462   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
0068A465   .  33C0          XOR EAX,EAX
0068A467   .  55            PUSH EBP
0068A468   .  68 9DA46800   PUSH HIDOWNLO.0068A49D
0068A46D   .  64:FF30       PUSH DWORD PTR FS:[EAX]
0068A470   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
0068A473   .  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
0068A476   .  50            PUSH EAX
0068A477   .  B9 01000000   MOV ECX,1
0068A47C   .  BA 01000000   MOV EDX,1
0068A481   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0068A484   .  E8 0FACD7FF   CALL HIDOWNLO.00405098--------------->取注册码首位
0068A489   .  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]--------->首位字符
0068A48C   .  E8 D7F5D7FF   CALL HIDOWNLO.00409A68--------------->转化为字符形式(39->9)
0068A491   .  8BD8          MOV EBX,EAX-------------------------->保存
0068A493   .  33C0          XOR EAX,EAX
0068A495   .  5A            POP EDX
0068A496   .  59            POP ECX
0068A497   .  59            POP ECX
0068A498   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
0068A49B   .  EB 1E         JMP SHORT HIDOWNLO.0068A4BB
0068A49D   .^ E9 7E9DD7FF   JMP HIDOWNLO.00404220
0068A4A2   .  33DB          XOR EBX,EBX
0068A4A4   .  E8 DFA0D7FF   CALL HIDOWNLO.00404588
0068A4A9   .  33C0          XOR EAX,EAX
0068A4AB   .  5A            POP EDX
0068A4AC   .  59            POP ECX
0068A4AD   .  59            POP ECX
0068A4AE   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
0068A4B1   .  E9 87000000   JMP HIDOWNLO.0068A53D
0068A4B6   .  E8 CDA0D7FF   CALL HIDOWNLO.00404588
0068A4BB   >  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]------------>新地址
0068A4BE   .  50            PUSH EAX
0068A4BF   .  8BCB          MOV ECX,EBX----------------------------->首位字符
0068A4C1   .  BA 02000000   MOV EDX,2
0068A4C6   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]------------>注册码
0068A4C9   .  E8 CAABD7FF   CALL HIDOWNLO.00405098---------------->取去掉首位后注册码的"首位值"位
0068A4CE   .  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]----------->新地址
0068A4D1   .  B9 80A56800   MOV ECX,HIDOWNLO.0068A580--------------->ASCII "1.16"
0068A4D6   .  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]---------->取得的去掉首位后注册码的"首位值"位
0068A4D9   .  E8 AEA9D7FF   CALL HIDOWNLO.00404E8C------------------>上面两部分字符连续连接到一起
0068A4DE   .  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]----------->连接后的字符串
0068A4E1   .  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]----------->新地址
0068A4E4   .  E8 CBDBEAFF   CALL HIDOWNLO.005380B4------------------>******关键运算******
0068A4E9   .  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]----------->运算结果(以字符保存在内存)
0068A4EC   .  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]----------->新地址
0068A4EF   .  E8 34DCEAFF   CALL HIDOWNLO.00538128------------------>将关键运算的结果从内存读取到新地址
0068A4F4   .  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]----------->运算结果
0068A4F7   .  50            PUSH EAX-------------------------------->保存
0068A4F8   .  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]----------->新地址
0068A4FB   .  50            PUSH EAX
0068A4FC   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]------------>输入的注册码
0068A4FF   .  E8 3CA9D7FF   CALL HIDOWNLO.00404E40------------------>取长度
0068A504   .  8BC8          MOV ECX,EAX----------------------------->保存长度值
0068A506   .  8D43 01       LEA EAX,DWORD PTR DS:[EBX+1]------------>首位值+1
0068A509   .  2BC8          SUB ECX,EAX----------------------------->求差值
0068A50B   .  8D53 02       LEA EDX,DWORD PTR DS:[EBX+2]------------>首位值+2
0068A50E   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]------------>输入的注册码
0068A511   .  E8 82ABD7FF   CALL HIDOWNLO.00405098------------------>从注册码的结尾开始取"差值"位注册码
0068A516   .  8B55 D8       MOV EDX,DWORD PTR SS:[EBP-28]----------->取得的"差值"位注册码
0068A519   .  58            POP EAX--------------------------------->上面关键运算的结果
0068A51A   .  E8 65AAD7FF   CALL HIDOWNLO.00404F84------------------>比较
0068A51F   .  75 04         JNZ SHORT HIDOWNLO.0068A525------------->关键跳(不相等则跳,则错)******
0068A521   .  B3 01         MOV BL,1-------------------------------->如果上面不跳,BL=1
0068A523   .  EB 02         JMP SHORT HIDOWNLO.0068A527
0068A525   >  33DB          XOR EBX,EBX----------------------------->如果上面跳到这里,则BL=0
0068A527   >  33C0          XOR EAX,EAX
0068A529   .  5A            POP EDX
0068A52A   .  59            POP ECX
0068A52B   .  59            POP ECX
0068A52C   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
0068A52F   .  EB 0C         JMP SHORT HIDOWNLO.0068A53D
0068A531   .^ E9 EA9CD7FF   JMP HIDOWNLO.00404220
0068A536   .  33DB          XOR EBX,EBX
0068A538   .  E8 4BA0D7FF   CALL HIDOWNLO.00404588
0068A53D   >  33C0          XOR EAX,EAX
0068A53F   .  5A            POP EDX
0068A540   .  59            POP ECX
0068A541   .  59            POP ECX
0068A542   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
0068A545   .  68 6CA56800   PUSH HIDOWNLO.0068A56C
0068A54A   >  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
0068A54D   .  BA 02000000   MOV EDX,2
0068A552   .  E8 39A6D7FF   CALL HIDOWNLO.00404B90
0068A557   .  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
0068A55A   .  BA 04000000   MOV EDX,4
0068A55F   .  E8 2CA6D7FF   CALL HIDOWNLO.00404B90
0068A564   .  C3            RETN
0068A565   .^ E9 6A9FD7FF   JMP HIDOWNLO.004044D4
0068A56A   .^ EB DE         JMP SHORT HIDOWNLO.0068A54A
0068A56C   .  8BC3          MOV EAX,EBX------------------------------>上面EBX的值给EAX
0068A56E   .  5F            POP EDI
0068A56F   .  5E            POP ESI
0068A570   .  5B            POP EBX
0068A571   .  8BE5          MOV ESP,EBP
0068A573   .  5D            POP EBP
0068A574   .  C3            RETN


本段内容总结:
设:
L:=注册码的长度
F:=注册码的首位字符
则注册码的最后(L-F-1)个字符的值应当与关键运算的结果相同.

关键运算使用了(注册码-首位字符)的前面的“首位”个字符,并且用到了一个我不认识的加密方法。

另:
关于关键运算部分
运算结果(以字符保存在内存):比如内存中内容为"76 E1 08 B0 B0 FE 7F 46 61 9F 2B 49 FD D8 2F 8C"
将关键运算的结果从内存读取到新地址:内存中为"37 36 65 31 30 38 62 30 62 30 66 65 37 66 34 36  
36 31 39 66 32 62 34 39 66 64 64 38 32 66 38 63"

{表达能力不好}

***************************************************************************
***************************************************************************

******关键运算******

005380B4

本段的关键是对开始时的[EDX]的处理,最终运算结果都保存在[EDX]

005380B4  /$  55            PUSH EBP
005380B5  |.  8BEC          MOV EBP,ESP
005380B7  |.  83C4 A4       ADD ESP,-5C
005380BA  |.  53            PUSH EBX
005380BB  |.  8BDA          MOV EBX,EDX---------------------->[EDX]=用户名:电子邮件
005380BD  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX----->截取的注册码+1.16
005380C0  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]----->截取的注册码+1.16
005380C3  |.  E8 60CFECFF   CALL HIDOWNLO.00405028----------->
005380C8  |.  33C0          XOR EAX,EAX
005380CA  |.  55            PUSH EBP
005380CB  |.  68 1A815300   PUSH HIDOWNLO.0053811A
005380D0  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
005380D3  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
005380D6  |.  8D45 A4       LEA EAX,DWORD PTR SS:[EBP-5C]---->新地址
005380D9  |.  E8 AEFEFFFF   CALL HIDOWNLO.00537F8C----->上面的地址"01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10"
005380DE  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]----->截取的注册码+1.16
005380E1  |.  E8 5ACDECFF   CALL HIDOWNLO.00404E40----------->取长度
005380E6  |.  50            PUSH EAX------------------------->长度值
005380E7  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]----->截取的注册码+1.16
005380EA  |.  E8 49CFECFF   CALL HIDOWNLO.00405038----------->判断长度
005380EF  |.  8BD0          MOV EDX,EAX---------------------->截取的注册码+1.16
005380F1  |.  8D45 A4       LEA EAX,DWORD PTR SS:[EBP-5C]---->内存"01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10"
005380F4  |.  59            POP ECX-------------------------->(截取的注册码+1.16)的长度
005380F5  |.  E8 C6FEFFFF   CALL HIDOWNLO.00537FC0----------->
005380FA  |.  8BD3          MOV EDX,EBX---------------------->关键地址
005380FC  |.  8D45 A4       LEA EAX,DWORD PTR SS:[EBP-5C]---->内存"01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10"
005380FF  |.  E8 3CFFFFFF   CALL HIDOWNLO.00538040----------->****关键运算二****
00538104  |.  33C0          XOR EAX,EAX
00538106  |.  5A            POP EDX
00538107  |.  59            POP ECX
00538108  |.  59            POP ECX
00538109  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
0053810C  |.  68 21815300   PUSH HIDOWNLO.00538121
00538111  |>  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]---->恢复截取的注册码+1.16
00538114  |.  E8 53CAECFF   CALL HIDOWNLO.00404B6C
00538119  .  C3            RETN
0053811A   .^ E9 B5C3ECFF   JMP HIDOWNLO.004044D4
0053811F   .^ EB F0         JMP SHORT HIDOWNLO.00538111
00538121   .  5B            POP EBX
00538122   .  8BE5          MOV ESP,EBP
00538124   .  5D            POP EBP
00538125   .  C3            RETN


*************************************************************************
*************************************************************************

****关键运算二****

00538040  /$  53            PUSH EBX
00538041  |.  56            PUSH ESI
00538042  |.  83C4 F8       ADD ESP,-8
00538045  |.  8BF2          MOV ESI,EDX
00538047  |.  8BD8          MOV EBX,EAX
00538049  |.  8BD4          MOV EDX,ESP
0053804B  |.  8D43 10       LEA EAX,DWORD PTR DS:[EBX+10]---------->
0053804E  |.  B9 02000000   MOV ECX,2
00538053  |.  E8 C8F7FFFF   CALL HIDOWNLO.00537820----------------->
00538058  |.  8B43 10       MOV EAX,DWORD PTR DS:[EBX+10]---------->
0053805B  |.  C1E8 03       SHR EAX,3
0053805E  |.  83E0 3F       AND EAX,3F
00538061  |.  83F8 38       CMP EAX,38----------------------------->EAX的值和数字8比较
00538064  |.  73 0B         JNB SHORT HIDOWNLO.00538071------------>不小于则跳
00538066  |.  BA 38000000   MOV EDX,38
0053806B  |.  2BD0          SUB EDX,EAX
0053806D  |.  8BC2          MOV EAX,EDX
0053806F  |.  EB 09         JMP SHORT HIDOWNLO.0053807A
00538071  |>  BA 78000000   MOV EDX,78
00538076  |.  2BD0          SUB EDX,EAX
00538078  |.  8BC2          MOV EAX,EDX
0053807A  |>  BA 4C126C00   MOV EDX,HIDOWNLO.006C124C
0053807F  |.  8BCB          MOV ECX,EBX
00538081  |.  91            XCHG EAX,ECX
00538082  |.  E8 39FFFFFF   CALL HIDOWNLO.00537FC0----------------->
00538087  |.  8BD4          MOV EDX,ESP --------------------------->
00538089  |.  8BC3          MOV EAX,EBX -->内存"01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10"(此地址生成关键内容)
0053808B  |.  B9 08000000   MOV ECX,8 ----------------------------->8
00538090  |.  E8 2BFFFFFF   CALL HIDOWNLO.00537FC0----------------->关键四(生成下面的关键内容)
00538095  |.  8BD6          MOV EDX,ESI --------------------------->关键地址
00538097  |.  8BC3          MOV EAX,EBX --------------------------->关键内容
00538099  |.  B9 04000000   MOV ECX,4
0053809E  |.  E8 7DF7FFFF   CALL HIDOWNLO.00537820 ---------------->关键三
005380A3  |.  8BC3          MOV EAX,EBX
005380A5  |.  BA 58000000   MOV EDX,58
005380AA  |.  E8 E100EDFF   CALL HIDOWNLO.00408190
005380AF  |.  59            POP ECX
005380B0  |.  5A            POP EDX
005380B1  |.  5E            POP ESI
005380B2  |.  5B            POP EBX
005380B3  .  C3            RETN


************************************************************
************************************************************

关键三

本段在程序重启和输入注册码以后都有多次调用

00537820  /$  56            PUSH ESI
00537821  |.  8BF0          MOV ESI,EAX --------------------->关键内容
00537823  |.  8BC2          MOV EAX,EDX --------------------->关键地址
00537825  |.  8BD1          MOV EDX,ECX --------------------->计数
00537827  |.  85D2          TEST EDX,EDX
00537829  |.  76 2F         JBE SHORT HIDOWNLO.0053785A
0053782B  |>  8A0E          /MOV CL,BYTE PTR DS:[ESI] ------>取关键内容的首位
0053782D  |.  80E1 FF       |AND CL,0FF -------------------->屏蔽其他位(取最末位)
00537830  |.  8808          |MOV BYTE PTR DS:[EAX],CL ------>保存第一位
00537832  |.  40            |INC EAX ----------------------->指向下一位
00537833  |.  8B0E          |MOV ECX,DWORD PTR DS:[ESI] ---->取关键内容的首位
00537835  |.  C1E9 08       |SHR ECX,8 --------------------->逻辑右移8位
00537838  |.  80E1 FF       |AND CL,0FF -------------------->屏蔽其他位(取第三位)
0053783B  |.  8808          |MOV BYTE PTR DS:[EAX],CL ------>保存
0053783D  |.  40            |INC EAX ----------------------->指向下一位
0053783E  |.  8B0E          |MOV ECX,DWORD PTR DS:[ESI] ---->取关键内容的首位
00537840  |.  C1E9 10       |SHR ECX,10 -------------------->逻辑右移16位
00537843  |.  80E1 FF       |AND CL,0FF -------------------->屏蔽其他位(取第二位)
00537846  |.  8808          |MOV BYTE PTR DS:[EAX],CL ------>保存
00537848  |.  40            |INC EAX ----------------------->指向下一位
00537849  |.  8B0E          |MOV ECX,DWORD PTR DS:[ESI] ---->取关键内容的首位
0053784B  |.  C1E9 18       |SHR ECX,18 -------------------->逻辑右移24位
0053784E  |.  80E1 FF       |AND CL,0FF -------------------->屏蔽其他位(取第一位)
00537851  |.  8808          |MOV BYTE PTR DS:[EAX],CL ------>保存
00537853  |.  40            |INC EAX ----------------------->指向下一位
00537854  |.  83C6 04       |ADD ESI,4 --------------------->指向关键内容的后4位
00537857  |.  4A            |DEC EDX ----------------------->计数器-1
00537858  |.^ 75 D1         JNZ SHORT HIDOWNLO.0053782B --->判断是否结束
0053785A  |>  5E            POP ESI
0053785B  .  C3            RETN


总结:将关键内容反向读取保存,一共16位。

由于本段执行时生成的比较内容在内存中是的形式是"76 E1 08 B0 B0 FE 7F 46 61 9F 2B 49 FD D8 2F 8C"所以本段的循环中每保存一位都是保存了两个字符,如开头的"76",由本段的内容可知,需要找到关键内容的生成部分。于是从关键三继续向上找,得到关键四

______________________________________________________________________________


关键四

作用:生成关键三使用的关键内容,EBX的地址

00537FC0  /$  53            PUSH EBX
00537FC1  |.  56            PUSH ESI 
00537FC2  |.  57            PUSH EDI
00537FC3  |.  55            PUSH EBP
00537FC4  |.  8BF9          MOV EDI,ECX -------------------------->计数器
00537FC6  |.  8BEA          MOV EBP,EDX
00537FC8  |.  8BF0          MOV ESI,EAX -------------------------->生成关键内容的地址
00537FCA  |.  8B46 10       MOV EAX,DWORD PTR DS:[ESI+10]--------->紧接关键内容后的4字节
00537FCD  |.  C1E8 03       SHR EAX,3 ---------------------------->逻辑右移3位
00537FD0  |.  83E0 3F       AND EAX,3F --------------------------->(保留最末6位)屏蔽其余位
00537FD3  |.  8BD7          MOV EDX,EDI -------------------------->计数器
00537FD5  |.  C1E2 03       SHL EDX,3 ---------------------------->逻辑左移3位
00537FD8  |.  0156 10       ADD DWORD PTR DS:[ESI+10],EDX -------->结果加到上述地址
00537FDB  |.  3B56 10       CMP EDX,DWORD PTR DS:[ESI+10] -------->比较
00537FDE  |.  76 03         JBE SHORT HIDOWNLO.00537FE3 ---------->若小于等于则跳(即加法之后无溢出则跳)
00537FE0  |.  FF46 14       INC DWORD PTR DS:[ESI+14]------------->有溢出则设置高位
00537FE3  |>  8BD7          MOV EDX,EDI -------------------------->计数器
00537FE5  |.  C1EA 1D       SHR EDX,1D --------------------------->逻辑右移13位
00537FE8  |.  0156 14       ADD DWORD PTR DS:[ESI+14],EDX -------->结果加到高位上
00537FEB  |.  BB 40000000   MOV EBX,40 --------------------------->EBX=40h
00537FF0  |.  2BD8          SUB EBX,EAX -------------------------->求差(EAX为关键地址第一次运算后的结果)
00537FF2  |.  3BDF          CMP EBX,EDI -------------------------->比较(EDI为计数器初始值)
00537FF4  |.  77 32         JA SHORT HIDOWNLO.00538028 ----------->大于则跳
00537FF6  |.  8D4406 18     LEA EAX,DWORD PTR DS:[ESI+EAX+18] ---->否则EAX取[]
00537FFA  |.  8BCB          MOV ECX,EBX -------------------------->差值
00537FFC  |.  8BD5          MOV EDX,EBP
00537FFE  |.  E8 8501EDFF   CALL HIDOWNLO.00408188 
00538003  |.  8BD6          MOV EDX,ESI ---->内存"01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10"(此地址生成关键内容)
00538005  |.  8D46 18       LEA EAX,DWORD PTR DS:[ESI+18] -------->注册码
00538008  |.  E8 4FF8FFFF   CALL HIDOWNLO.0053785C --------------->******
0053800D  |.  EB 0E         JMP SHORT HIDOWNLO.0053801D
0053800F  |>  8BD6          /MOV EDX,ESI
00538011  |.  8D441D 00     |LEA EAX,DWORD PTR SS:[EBP+EBX]
00538015  |.  E8 42F8FFFF   |CALL HIDOWNLO.0053785C
0053801A  |.  83C3 40       |ADD EBX,40
0053801D  |>  8D43 3F        LEA EAX,DWORD PTR DS:[EBX+3F]
00538020  |.  3BF8          |CMP EDI,EAX
00538022  |.^ 77 EB         JA SHORT HIDOWNLO.0053800F
00538024  |.  33C0          XOR EAX,EAX
00538026  |.  EB 02         JMP SHORT HIDOWNLO.0053802A
00538028  |>  33DB          XOR EBX,EBX
0053802A  |>  8D4406 18     LEA EAX,DWORD PTR DS:[ESI+EAX+18]
0053802E  |.  8BCF          MOV ECX,EDI
00538030  |.  2BCB          SUB ECX,EBX
00538032  |.  8D541D 00     LEA EDX,DWORD PTR SS:[EBP+EBX]
00538036  |.  E8 4D01EDFF   CALL HIDOWNLO.00408188
0053803B  |.  5D            POP EBP
0053803C  |.  5F            POP EDI
0053803D  |.  5E            POP ESI
0053803E  |.  5B            POP EBX
0053803F  .  C3            RETN


-------------------------------------------------------------------------------------------------



0053785C  /$  53            PUSH EBX
0053785D  |.  56            PUSH ESI
0053785E  |.  57            PUSH EDI
0053785F  |.  55            PUSH EBP
00537860  |.  83C4 A8       ADD ESP,-58
00537863  |.  895424 04     MOV DWORD PTR SS:[ESP+4],EDX
00537867  |.  890424        MOV DWORD PTR SS:[ESP],EAX
0053786A  |.  8D5C24 08     LEA EBX,DWORD PTR SS:[ESP+8]
0053786E  |.  8D7424 0C     LEA ESI,DWORD PTR SS:[ESP+C]
00537872  |.  8D7C24 10     LEA EDI,DWORD PTR SS:[ESP+10]
00537876  |.  8D6C24 14     LEA EBP,DWORD PTR SS:[ESP+14]
0053787A  |.  8D5424 18     LEA EDX,DWORD PTR SS:[ESP+18]
0053787E  |.  B9 40000000   MOV ECX,40
00537883  |.  8B0424        MOV EAX,DWORD PTR SS:[ESP]
00537886  |.  E8 5DFFFFFF   CALL HIDOWNLO.005377E8
0053788B  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
0053788F  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
00537891  |.  8903          MOV DWORD PTR DS:[EBX],EAX
00537893  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00537897  |.  8B40 04       MOV EAX,DWORD PTR DS:[EAX+4]
0053789A  |.  8906          MOV DWORD PTR DS:[ESI],EAX
0053789C  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
005378A0  |.  8B40 08       MOV EAX,DWORD PTR DS:[EAX+8]
005378A3  |.  8907          MOV DWORD PTR DS:[EDI],EAX
005378A5  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
005378A9  |.  8B40 0C       MOV EAX,DWORD PTR DS:[EAX+C]
005378AC  |.  8945 00       MOV DWORD PTR SS:[EBP],EAX
005378AF  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]**************************************************************①
005378B2  |.  50            PUSH EAX                                 ; /Arg4
005378B3  |.  8B4424 1C     MOV EAX,DWORD PTR SS:[ESP+1C]            ; |
005378B7  |.  50            PUSH EAX                                 ; |Arg3
005378B8  |.  6A 07         PUSH 7                                   ; |Arg2 = 00000007
005378BA  |.  68 78A46AD7   PUSH D76AA478                            ; |Arg1 = D76AA478---------->◎◎◎
005378BF  |.  8BC3          MOV EAX,EBX                              ; |
005378C1  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
005378C3  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
005378C5  |.  E8 4EFEFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
005378CA  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
005378CC  |.  50            PUSH EAX                                 ; /Arg4
005378CD  |.  8B4424 20     MOV EAX,DWORD PTR SS:[ESP+20]            ; |
005378D1  |.  50            PUSH EAX                                 ; |Arg3
005378D2  |.  6A 0C         PUSH 0C                                  ; |Arg2 = 0000000C
005378D4  |.  68 56B7C7E8   PUSH E8C7B756                            ; |Arg1 = E8C7B756---------->◎◎◎
005378D9  |.  8BC5          MOV EAX,EBP                              ; |
005378DB  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
005378DD  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
005378DF  |.  E8 34FEFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
005378E4  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
005378E6  |.  50            PUSH EAX                                 ; /Arg4
005378E7  |.  8B4424 24     MOV EAX,DWORD PTR SS:[ESP+24]            ; |
005378EB  |.  50            PUSH EAX                                 ; |Arg3
005378EC  |.  6A 11         PUSH 11                                  ; |Arg2 = 00000011
005378EE  |.  68 DB702024   PUSH 242070DB                            ; |Arg1 = 242070DB---------->◎◎◎
005378F3  |.  8BC7          MOV EAX,EDI                              ; |
005378F5  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
005378F7  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
005378FA  |.  E8 19FEFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
005378FF  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537901  |.  50            PUSH EAX                                 ; /Arg4
00537902  |.  8B4424 28     MOV EAX,DWORD PTR SS:[ESP+28]            ; |
00537906  |.  50            PUSH EAX                                 ; |Arg3
00537907  |.  6A 16         PUSH 16                                  ; |Arg2 = 00000016
00537909  |.  68 EECEBDC1   PUSH C1BDCEEE                            ; |Arg1 = C1BDCEEE---------->◎◎◎
0053790E  |.  8BC6          MOV EAX,ESI                              ; |
00537910  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537913  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537915  |.  E8 FEFDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
0053791A  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
0053791D  |.  50            PUSH EAX                                 ; /Arg4
0053791E  |.  8B4424 2C     MOV EAX,DWORD PTR SS:[ESP+2C]            ; |
00537922  |.  50            PUSH EAX                                 ; |Arg3
00537923  |.  6A 07         PUSH 7                                   ; |Arg2 = 00000007
00537925  |.  68 AF0F7CF5   PUSH F57C0FAF                            ; |Arg1 = F57C0FAF---------->◎◎◎
0053792A  |.  8BC3          MOV EAX,EBX                              ; |
0053792C  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
0053792E  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537930  |.  E8 E3FDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
00537935  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537937  |.  50            PUSH EAX                                 ; /Arg4
00537938  |.  8B4424 30     MOV EAX,DWORD PTR SS:[ESP+30]            ; |
0053793C  |.  50            PUSH EAX                                 ; |Arg3
0053793D  |.  6A 0C         PUSH 0C                                  ; |Arg2 = 0000000C
0053793F  |.  68 2AC68747   PUSH 4787C62A                            ; |Arg1 = 4787C62A---------->◎◎◎
00537944  |.  8BC5          MOV EAX,EBP                              ; |
00537946  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537948  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
0053794A  |.  E8 C9FDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
0053794F  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537951  |.  50            PUSH EAX                                 ; /Arg4 = AA348623
00537952  |.  8B4424 34     MOV EAX,DWORD PTR SS:[ESP+34]            ; |
00537956  |.  50            PUSH EAX                                 ; |Arg3
00537957  |.  6A 11         PUSH 11                                  ; |Arg2 = 00000011
00537959  |.  68 134630A8   PUSH A8304613                            ; |Arg1 = A8304613---------->◎◎◎
0053795E  |.  8BC7          MOV EAX,EDI                              ; |
00537960  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537962  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537965  |.  E8 AEFDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
0053796A  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
0053796C  |.  50            PUSH EAX                                 ; /Arg4
0053796D  |.  8B4424 38     MOV EAX,DWORD PTR SS:[ESP+38]            ; |
00537971  |.  50            PUSH EAX                                 ; |Arg3
00537972  |.  6A 16         PUSH 16                                  ; |Arg2 = 00000016
00537974  |.  68 019546FD   PUSH FD469501                            ; |Arg1 = FD469501---------->◎◎◎
00537979  |.  8BC6          MOV EAX,ESI                              ; |
0053797B  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
0053797E  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537980  |.  E8 93FDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
00537985  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537988  |.  50            PUSH EAX                                 ; /Arg4
00537989  |.  8B4424 3C     MOV EAX,DWORD PTR SS:[ESP+3C]            ; |
0053798D  |.  50            PUSH EAX                                 ; |Arg3
0053798E  |.  6A 07         PUSH 7                                   ; |Arg2 = 00000007
00537990  |.  68 D8988069   PUSH 698098D8                            ; |Arg1 = 698098D8---------->◎◎◎
00537995  |.  8BC3          MOV EAX,EBX                              ; |
00537997  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537999  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
0053799B  |.  E8 78FDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
005379A0  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
005379A2  |.  50            PUSH EAX                                 ; /Arg4
005379A3  |.  8B4424 40     MOV EAX,DWORD PTR SS:[ESP+40]            ; |
005379A7  |.  50            PUSH EAX                                 ; |Arg3
005379A8  |.  6A 0C         PUSH 0C                                  ; |Arg2 = 0000000C
005379AA  |.  68 AFF7448B   PUSH 8B44F7AF                            ; |Arg1 = 8B44F7AF---------->◎◎◎
005379AF  |.  8BC5          MOV EAX,EBP                              ; |
005379B1  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
005379B3  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
005379B5  |.  E8 5EFDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
005379BA  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
005379BC  |.  50            PUSH EAX                                 ; /Arg4
005379BD  |.  8B4424 44     MOV EAX,DWORD PTR SS:[ESP+44]            ; |
005379C1  |.  50            PUSH EAX                                 ; |Arg3
005379C2  |.  6A 11         PUSH 11                                  ; |Arg2 = 00000011
005379C4  |.  68 B15BFFFF   PUSH FFFF5BB1                            ; |Arg1 = FFFF5BB1---------->◎◎◎
005379C9  |.  8BC7          MOV EAX,EDI                              ; |
005379CB  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
005379CD  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
005379D0  |.  E8 43FDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
005379D5  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
005379D7  |.  50            PUSH EAX                                 ; /Arg4
005379D8  |.  8B4424 48     MOV EAX,DWORD PTR SS:[ESP+48]            ; |
005379DC  |.  50            PUSH EAX                                 ; |Arg3
005379DD  |.  6A 16         PUSH 16                                  ; |Arg2 = 00000016
005379DF  |.  68 BED75C89   PUSH 895CD7BE                            ; |Arg1 = 895CD7BE---------->◎◎◎
005379E4  |.  8BC6          MOV EAX,ESI                              ; |
005379E6  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
005379E9  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
005379EB  |.  E8 28FDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
005379F0  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
005379F3  |.  50            PUSH EAX                                 ; /Arg4
005379F4  |.  8B4424 4C     MOV EAX,DWORD PTR SS:[ESP+4C]            ; |
005379F8  |.  50            PUSH EAX                                 ; |Arg3
005379F9  |.  6A 07         PUSH 7                                   ; |Arg2 = 00000007
005379FB  |.  68 2211906B   PUSH 6B901122                            ; |Arg1 = 6B901122---------->◎◎◎
00537A00  |.  8BC3          MOV EAX,EBX                              ; |
00537A02  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537A04  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537A06  |.  E8 0DFDFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
00537A0B  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537A0D  |.  50            PUSH EAX                                 ; /Arg4
00537A0E  |.  8B4424 50     MOV EAX,DWORD PTR SS:[ESP+50]            ; |
00537A12  |.  50            PUSH EAX                                 ; |Arg3
00537A13  |.  6A 0C         PUSH 0C                                  ; |Arg2 = 0000000C
00537A15  |.  68 937198FD   PUSH FD987193                            ; |Arg1 = FD987193---------->◎◎◎
00537A1A  |.  8BC5          MOV EAX,EBP                              ; |
00537A1C  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537A1E  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537A20  |.  E8 F3FCFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
00537A25  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537A27  |.  50            PUSH EAX                                 ; /Arg4
00537A28  |.  8B4424 54     MOV EAX,DWORD PTR SS:[ESP+54]            ; |
00537A2C  |.  50            PUSH EAX                                 ; |Arg3
00537A2D  |.  6A 11         PUSH 11                                  ; |Arg2 = 00000011
00537A2F  |.  68 8E4379A6   PUSH A679438E                            ; |Arg1 = A679438E---------->◎◎◎
00537A34  |.  8BC7          MOV EAX,EDI                              ; |
00537A36  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537A38  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537A3B  |.  E8 D8FCFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
00537A40  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537A42  |.  50            PUSH EAX                                 ; /Arg4
00537A43  |.  8B4424 58     MOV EAX,DWORD PTR SS:[ESP+58]            ; |
00537A47  |.  50            PUSH EAX                                 ; |Arg3
00537A48  |.  6A 16         PUSH 16                                  ; |Arg2 = 00000016
00537A4A  |.  68 2108B449   PUSH 49B40821                            ; |Arg1 = 49B40821---------->◎◎◎
00537A4F  |.  8BC6          MOV EAX,ESI                              ; |
00537A51  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537A54  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537A56  |.  E8 BDFCFFFF   CALL HIDOWNLO.00537718                   ; HIDOWNLO.00537718
00537A5B  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]**************************************************************②
00537A5E  |.  50            PUSH EAX                                 ; /Arg4
00537A5F  |.  8B4424 20     MOV EAX,DWORD PTR SS:[ESP+20]            ; |
00537A63  |.  50            PUSH EAX                                 ; |Arg3
00537A64  |.  6A 05         PUSH 5                                   ; |Arg2 = 00000005
00537A66  |.  68 62251EF6   PUSH F61E2562                            ; |Arg1 = F61E2562---------->◎◎◎
00537A6B  |.  8BC3          MOV EAX,EBX                              ; |
00537A6D  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537A6F  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537A71  |.  E8 D6FCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537A76  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537A78  |.  50            PUSH EAX                                 ; /Arg4
00537A79  |.  8B4424 34     MOV EAX,DWORD PTR SS:[ESP+34]            ; |
00537A7D  |.  50            PUSH EAX                                 ; |Arg3
00537A7E  |.  6A 09         PUSH 9                                   ; |Arg2 = 00000009
00537A80  |.  68 40B340C0   PUSH C040B340                            ; |Arg1 = C040B340---------->◎◎◎
00537A85  |.  8BC5          MOV EAX,EBP                              ; |
00537A87  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537A89  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537A8B  |.  E8 BCFCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537A90  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537A92  |.  50            PUSH EAX                                 ; /Arg4
00537A93  |.  8B4424 48     MOV EAX,DWORD PTR SS:[ESP+48]            ; |
00537A97  |.  50            PUSH EAX                                 ; |Arg3
00537A98  |.  6A 0E         PUSH 0E                                  ; |Arg2 = 0000000E
00537A9A  |.  68 515A5E26   PUSH 265E5A51                            ; |Arg1 = 265E5A51---------->◎◎◎
00537A9F  |.  8BC7          MOV EAX,EDI                              ; |
00537AA1  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537AA3  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537AA6  |.  E8 A1FCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537AAB  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537AAD  |.  50            PUSH EAX                                 ; /Arg4
00537AAE  |.  8B4424 1C     MOV EAX,DWORD PTR SS:[ESP+1C]            ; |
00537AB2  |.  50            PUSH EAX                                 ; |Arg3
00537AB3  |.  6A 14         PUSH 14                                  ; |Arg2 = 00000014
00537AB5  |.  68 AAC7B6E9   PUSH E9B6C7AA                            ; |Arg1 = E9B6C7AA---------->◎◎◎
00537ABA  |.  8BC6          MOV EAX,ESI                              ; |
00537ABC  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537ABF  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537AC1  |.  E8 86FCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537AC6  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537AC9  |.  50            PUSH EAX                                 ; /Arg4
00537ACA  |.  8B4424 30     MOV EAX,DWORD PTR SS:[ESP+30]            ; |
00537ACE  |.  50            PUSH EAX                                 ; |Arg3
00537ACF  |.  6A 05         PUSH 5                                   ; |Arg2 = 00000005
00537AD1  |.  68 5D102FD6   PUSH D62F105D                            ; |Arg1 = D62F105D---------->◎◎◎
00537AD6  |.  8BC3          MOV EAX,EBX                              ; |
00537AD8  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537ADA  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537ADC  |.  E8 6BFCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537AE1  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537AE3  |.  50            PUSH EAX                                 ; /Arg4
00537AE4  |.  8B4424 44     MOV EAX,DWORD PTR SS:[ESP+44]            ; |
00537AE8  |.  50            PUSH EAX                                 ; |Arg3
00537AE9  |.  6A 09         PUSH 9                                   ; |Arg2 = 00000009
00537AEB  |.  68 53144402   PUSH 2441453                             ; |Arg1 = 02441453---------->◎◎◎
00537AF0  |.  8BC5          MOV EAX,EBP                              ; |
00537AF2  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537AF4  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537AF6  |.  E8 51FCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537AFB  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537AFD  |.  50            PUSH EAX                                 ; /Arg4
00537AFE  |.  8B4424 58     MOV EAX,DWORD PTR SS:[ESP+58]            ; |
00537B02  |.  50            PUSH EAX                                 ; |Arg3
00537B03  |.  6A 0E         PUSH 0E                                  ; |Arg2 = 0000000E
00537B05  |.  68 81E6A1D8   PUSH D8A1E681                            ; |Arg1 = D8A1E681---------->◎◎◎
00537B0A  |.  8BC7          MOV EAX,EDI                              ; |
00537B0C  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537B0E  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537B11  |.  E8 36FCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537B16  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537B18  |.  50            PUSH EAX                                 ; /Arg4
00537B19  |.  8B4424 2C     MOV EAX,DWORD PTR SS:[ESP+2C]            ; |
00537B1D  |.  50            PUSH EAX                                 ; |Arg3
00537B1E  |.  6A 14         PUSH 14                                  ; |Arg2 = 00000014
00537B20  |.  68 C8FBD3E7   PUSH E7D3FBC8                            ; |Arg1 = E7D3FBC8---------->◎◎◎
00537B25  |.  8BC6          MOV EAX,ESI                              ; |
00537B27  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537B2A  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537B2C  |.  E8 1BFCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537B31  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537B34  |.  50            PUSH EAX                                 ; /Arg4
00537B35  |.  8B4424 40     MOV EAX,DWORD PTR SS:[ESP+40]            ; |
00537B39  |.  50            PUSH EAX                                 ; |Arg3
00537B3A  |.  6A 05         PUSH 5                                   ; |Arg2 = 00000005
00537B3C  |.  68 E6CDE121   PUSH 21E1CDE6                            ; |Arg1 = 21E1CDE6---------->◎◎◎
00537B41  |.  8BC3          MOV EAX,EBX                              ; |
00537B43  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537B45  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537B47  |.  E8 00FCFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537B4C  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537B4E  |.  50            PUSH EAX                                 ; /Arg4
00537B4F  |.  8B4424 54     MOV EAX,DWORD PTR SS:[ESP+54]            ; |
00537B53  |.  50            PUSH EAX                                 ; |Arg3
00537B54  |.  6A 09         PUSH 9                                   ; |Arg2 = 00000009
00537B56  |.  68 D60737C3   PUSH C33707D6                            ; |Arg1 = C33707D6---------->◎◎◎
00537B5B  |.  8BC5          MOV EAX,EBP                              ; |
00537B5D  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537B5F  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537B61  |.  E8 E6FBFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537B66  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537B68  |.  50            PUSH EAX                                 ; /Arg4
00537B69  |.  8B4424 28     MOV EAX,DWORD PTR SS:[ESP+28]            ; |
00537B6D  |.  50            PUSH EAX                                 ; |Arg3
00537B6E  |.  6A 0E         PUSH 0E                                  ; |Arg2 = 0000000E
00537B70  |.  68 870DD5F4   PUSH F4D50D87                            ; |Arg1 = F4D50D87---------->◎◎◎
00537B75  |.  8BC7          MOV EAX,EDI                              ; |
00537B77  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537B79  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537B7C  |.  E8 CBFBFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537B81  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537B83  |.  50            PUSH EAX                                 ; /Arg4
00537B84  |.  8B4424 3C     MOV EAX,DWORD PTR SS:[ESP+3C]            ; |
00537B88  |.  50            PUSH EAX                                 ; |Arg3
00537B89  |.  6A 14         PUSH 14                                  ; |Arg2 = 00000014
00537B8B  |.  68 ED145A45   PUSH 455A14ED                            ; |Arg1 = 455A14ED---------->◎◎◎
00537B90  |.  8BC6          MOV EAX,ESI                              ; |
00537B92  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537B95  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537B97  |.  E8 B0FBFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537B9C  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537B9F  |.  50            PUSH EAX                                 ; /Arg4
00537BA0  |.  8B4424 50     MOV EAX,DWORD PTR SS:[ESP+50]            ; |
00537BA4  |.  50            PUSH EAX                                 ; |Arg3
00537BA5  |.  6A 05         PUSH 5                                   ; |Arg2 = 00000005
00537BA7  |.  68 05E9E3A9   PUSH A9E3E905                            ; |Arg1 = A9E3E905---------->◎◎◎
00537BAC  |.  8BC3          MOV EAX,EBX                              ; |
00537BAE  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537BB0  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537BB2  |.  E8 95FBFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537BB7  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537BB9  |.  50            PUSH EAX                                 ; /Arg4
00537BBA  |.  8B4424 24     MOV EAX,DWORD PTR SS:[ESP+24]            ; |
00537BBE  |.  50            PUSH EAX                                 ; |Arg3
00537BBF  |.  6A 09         PUSH 9                                   ; |Arg2 = 00000009
00537BC1  |.  68 F8A3EFFC   PUSH FCEFA3F8                            ; |Arg1 = FCEFA3F8---------->◎◎◎
00537BC6  |.  8BC5          MOV EAX,EBP                              ; |
00537BC8  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537BCA  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537BCC  |.  E8 7BFBFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537BD1  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537BD3  |.  50            PUSH EAX                                 ; /Arg4
00537BD4  |.  8B4424 38     MOV EAX,DWORD PTR SS:[ESP+38]            ; |
00537BD8  |.  50            PUSH EAX                                 ; |Arg3
00537BD9  |.  6A 0E         PUSH 0E                                  ; |Arg2 = 0000000E
00537BDB  |.  68 D9026F67   PUSH 676F02D9                            ; |Arg1 = 676F02D9---------->◎◎◎
00537BE0  |.  8BC7          MOV EAX,EDI                              ; |
00537BE2  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537BE4  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537BE7  |.  E8 60FBFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537BEC  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537BEE  |.  50            PUSH EAX                                 ; /Arg4
00537BEF  |.  8B4424 4C     MOV EAX,DWORD PTR SS:[ESP+4C]            ; |
00537BF3  |.  50            PUSH EAX                                 ; |Arg3
00537BF4  |.  6A 14         PUSH 14                                  ; |Arg2 = 00000014
00537BF6  |.  68 8A4C2A8D   PUSH 8D2A4C8A                            ; |Arg1 = 8D2A4C8A---------->◎◎◎
00537BFB  |.  8BC6          MOV EAX,ESI                              ; |
00537BFD  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537C00  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537C02  |.  E8 45FBFFFF   CALL HIDOWNLO.0053774C                   ; HIDOWNLO.0053774C
00537C07  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]**************************************************************③
00537C0A  |.  50            PUSH EAX                                 ; /Arg4
00537C0B  |.  8B4424 30     MOV EAX,DWORD PTR SS:[ESP+30]            ; |
00537C0F  |.  50            PUSH EAX                                 ; |Arg3
00537C10  |.  6A 04         PUSH 4                                   ; |Arg2 = 00000004
00537C12  |.  68 4239FAFF   PUSH FFFA3942                            ; |Arg1 = FFFA3942---------->◎◎◎
00537C17  |.  8BC3          MOV EAX,EBX                              ; |
00537C19  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537C1B  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537C1D  |.  E8 5EFBFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537C22  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537C24  |.  50            PUSH EAX                                 ; /Arg4
00537C25  |.  8B4424 3C     MOV EAX,DWORD PTR SS:[ESP+3C]            ; |
00537C29  |.  50            PUSH EAX                                 ; |Arg3
00537C2A  |.  6A 0B         PUSH 0B                                  ; |Arg2 = 0000000B
00537C2C  |.  68 81F67187   PUSH 8771F681                            ; |Arg1 = 8771F681---------->◎◎◎
00537C31  |.  8BC5          MOV EAX,EBP                              ; |
00537C33  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537C35  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537C37  |.  E8 44FBFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537C3C  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537C3E  |.  50            PUSH EAX                                 ; /Arg4
00537C3F  |.  8B4424 48     MOV EAX,DWORD PTR SS:[ESP+48]            ; |
00537C43  |.  50            PUSH EAX                                 ; |Arg3
00537C44  |.  6A 10         PUSH 10                                  ; |Arg2 = 00000010
00537C46  |.  68 22619D6D   PUSH 6D9D6122                            ; |Arg1 = 6D9D6122---------->◎◎◎
00537C4B  |.  8BC7          MOV EAX,EDI                              ; |
00537C4D  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537C4F  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537C52  |.  E8 29FBFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537C57  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537C59  |.  50            PUSH EAX                                 ; /Arg4
00537C5A  |.  8B4424 54     MOV EAX,DWORD PTR SS:[ESP+54]            ; |
00537C5E  |.  50            PUSH EAX                                 ; |Arg3
00537C5F  |.  6A 17         PUSH 17                                  ; |Arg2 = 00000017
00537C61  |.  68 0C38E5FD   PUSH FDE5380C                            ; |Arg1 = FDE5380C---------->◎◎◎
00537C66  |.  8BC6          MOV EAX,ESI                              ; |
00537C68  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537C6B  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537C6D  |.  E8 0EFBFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537C72  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537C75  |.  50            PUSH EAX                                 ; /Arg4
00537C76  |.  8B4424 20     MOV EAX,DWORD PTR SS:[ESP+20]            ; |
00537C7A  |.  50            PUSH EAX                                 ; |Arg3
00537C7B  |.  6A 04         PUSH 4                                   ; |Arg2 = 00000004
00537C7D  |.  68 44EABEA4   PUSH A4BEEA44                            ; |Arg1 = A4BEEA44---------->◎◎◎
00537C82  |.  8BC3          MOV EAX,EBX                              ; |
00537C84  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537C86  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537C88  |.  E8 F3FAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537C8D  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537C8F  |.  50            PUSH EAX                                 ; /Arg4
00537C90  |.  8B4424 2C     MOV EAX,DWORD PTR SS:[ESP+2C]            ; |
00537C94  |.  50            PUSH EAX                                 ; |Arg3
00537C95  |.  6A 0B         PUSH 0B                                  ; |Arg2 = 0000000B
00537C97  |.  68 A9CFDE4B   PUSH 4BDECFA9                            ; |Arg1 = 4BDECFA9---------->◎◎◎
00537C9C  |.  8BC5          MOV EAX,EBP                              ; |
00537C9E  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537CA0  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537CA2  |.  E8 D9FAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537CA7  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537CA9  |.  50            PUSH EAX                                 ; /Arg4
00537CAA  |.  8B4424 38     MOV EAX,DWORD PTR SS:[ESP+38]            ; |
00537CAE  |.  50            PUSH EAX                                 ; |Arg3
00537CAF  |.  6A 10         PUSH 10                                  ; |Arg2 = 00000010
00537CB1  |.  68 604BBBF6   PUSH F6BB4B60                            ; |Arg1 = F6BB4B60---------->◎◎◎
00537CB6  |.  8BC7          MOV EAX,EDI                              ; |
00537CB8  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537CBA  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537CBD  |.  E8 BEFAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537CC2  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537CC4  |.  50            PUSH EAX                                 ; /Arg4
00537CC5  |.  8B4424 44     MOV EAX,DWORD PTR SS:[ESP+44]            ; |
00537CC9  |.  50            PUSH EAX                                 ; |Arg3
00537CCA  |.  6A 17         PUSH 17                                  ; |Arg2 = 00000017
00537CCC  |.  68 70BCBFBE   PUSH BEBFBC70                            ; |Arg1 = BEBFBC70---------->◎◎◎
00537CD1  |.  8BC6          MOV EAX,ESI                              ; |
00537CD3  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537CD6  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537CD8  |.  E8 A3FAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537CDD  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537CE0  |.  50            PUSH EAX                                 ; /Arg4
00537CE1  |.  8B4424 50     MOV EAX,DWORD PTR SS:[ESP+50]            ; |
00537CE5  |.  50            PUSH EAX                                 ; |Arg3
00537CE6  |.  6A 04         PUSH 4                                   ; |Arg2 = 00000004
00537CE8  |.  68 C67E9B28   PUSH 289B7EC6                            ; |Arg1 = 289B7EC6---------->◎◎◎
00537CED  |.  8BC3          MOV EAX,EBX                              ; |
00537CEF  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537CF1  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537CF3  |.  E8 88FAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537CF8  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537CFA  |.  50            PUSH EAX                                 ; /Arg4
00537CFB  |.  8B4424 1C     MOV EAX,DWORD PTR SS:[ESP+1C]            ; |
00537CFF  |.  50            PUSH EAX                                 ; |Arg3
00537D00  |.  6A 0B         PUSH 0B                                  ; |Arg2 = 0000000B
00537D02  |.  68 FA27A1EA   PUSH EAA127FA                            ; |Arg1 = EAA127FA---------->◎◎◎
00537D07  |.  8BC5          MOV EAX,EBP                              ; |
00537D09  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537D0B  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537D0D  |.  E8 6EFAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537D12  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537D14  |.  50            PUSH EAX                                 ; /Arg4
00537D15  |.  8B4424 28     MOV EAX,DWORD PTR SS:[ESP+28]            ; |
00537D19  |.  50            PUSH EAX                                 ; |Arg3
00537D1A  |.  6A 10         PUSH 10                                  ; |Arg2 = 00000010
00537D1C  |.  68 8530EFD4   PUSH D4EF3085                            ; |Arg1 = D4EF3085---------->◎◎◎
00537D21  |.  8BC7          MOV EAX,EDI                              ; |
00537D23  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537D25  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537D28  |.  E8 53FAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537D2D  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537D2F  |.  50            PUSH EAX                                 ; /Arg4
00537D30  |.  8B4424 34     MOV EAX,DWORD PTR SS:[ESP+34]            ; |
00537D34  |.  50            PUSH EAX                                 ; |Arg3
00537D35  |.  6A 17         PUSH 17                                  ; |Arg2 = 00000017
00537D37  |.  68 051D8804   PUSH 4881D05                             ; |Arg1 = 04881D05---------->◎◎◎
00537D3C  |.  8BC6          MOV EAX,ESI                              ; |
00537D3E  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537D41  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537D43  |.  E8 38FAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537D48  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537D4B  |.  50            PUSH EAX                                 ; /Arg4
00537D4C  |.  8B4424 40     MOV EAX,DWORD PTR SS:[ESP+40]            ; |
00537D50  |.  50            PUSH EAX                                 ; |Arg3
00537D51  |.  6A 04         PUSH 4                                   ; |Arg2 = 00000004
00537D53  |.  68 39D0D4D9   PUSH D9D4D039                            ; |Arg1 = D9D4D039---------->◎◎◎
00537D58  |.  8BC3          MOV EAX,EBX                              ; |
00537D5A  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537D5C  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537D5E  |.  E8 1DFAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537D63  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537D65  |.  50            PUSH EAX                                 ; /Arg4
00537D66  |.  8B4424 4C     MOV EAX,DWORD PTR SS:[ESP+4C]            ; |
00537D6A  |.  50            PUSH EAX                                 ; |Arg3
00537D6B  |.  6A 0B         PUSH 0B                                  ; |Arg2 = 0000000B
00537D6D  |.  68 E599DBE6   PUSH E6DB99E5                            ; |Arg1 = E6DB99E5---------->◎◎◎
00537D72  |.  8BC5          MOV EAX,EBP                              ; |
00537D74  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537D76  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537D78  |.  E8 03FAFFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537D7D  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537D7F  |.  50            PUSH EAX                                 ; /Arg4
00537D80  |.  8B4424 58     MOV EAX,DWORD PTR SS:[ESP+58]            ; |
00537D84  |.  50            PUSH EAX                                 ; |Arg3
00537D85  |.  6A 10         PUSH 10                                  ; |Arg2 = 00000010
00537D87  |.  68 F87CA21F   PUSH 1FA27CF8                            ; |Arg1 = 1FA27CF8---------->◎◎◎
00537D8C  |.  8BC7          MOV EAX,EDI                              ; |
00537D8E  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537D90  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537D93  |.  E8 E8F9FFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537D98  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537D9A  |.  50            PUSH EAX                                 ; /Arg4
00537D9B  |.  8B4424 24     MOV EAX,DWORD PTR SS:[ESP+24]            ; |
00537D9F  |.  50            PUSH EAX                                 ; |Arg3
00537DA0  |.  6A 17         PUSH 17                                  ; |Arg2 = 00000017
00537DA2  |.  68 6556ACC4   PUSH C4AC5665                            ; |Arg1 = C4AC5665---------->◎◎◎
00537DA7  |.  8BC6          MOV EAX,ESI                              ; |
00537DA9  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537DAC  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537DAE  |.  E8 CDF9FFFF   CALL HIDOWNLO.00537780                   ; HIDOWNLO.00537780
00537DB3  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]**************************************************************④
00537DB6  |.  50            PUSH EAX                                 ; /Arg4
00537DB7  |.  8B4424 1C     MOV EAX,DWORD PTR SS:[ESP+1C]            ; |
00537DBB  |.  50            PUSH EAX                                 ; |Arg3
00537DBC  |.  6A 06         PUSH 6                                   ; |Arg2 = 00000006
00537DBE  |.  68 442229F4   PUSH F4292244                            ; |Arg1 = F4292244---------->◎◎◎
00537DC3  |.  8BC3          MOV EAX,EBX                              ; |
00537DC5  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537DC7  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537DC9  |.  E8 E6F9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537DCE  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537DD0  |.  50            PUSH EAX                                 ; /Arg4
00537DD1  |.  8B4424 38     MOV EAX,DWORD PTR SS:[ESP+38]            ; |
00537DD5  |.  50            PUSH EAX                                 ; |Arg3
00537DD6  |.  6A 0A         PUSH 0A                                  ; |Arg2 = 0000000A
00537DD8  |.  68 97FF2A43   PUSH 432AFF97                            ; |Arg1 = 432AFF97---------->◎◎◎
00537DDD  |.  8BC5          MOV EAX,EBP                              ; |
00537DDF  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537DE1  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537DE3  |.  E8 CCF9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWN
00537DE8  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537DEA  |.  50            PUSH EAX                                 ; /Arg4
00537DEB  |.  8B4424 54     MOV EAX,DWORD PTR SS:[ESP+54]            ; |
00537DEF  |.  50            PUSH EAX                                 ; |Arg3
00537DF0  |.  6A 0F         PUSH 0F                                  ; |Arg2 = 0000000F
00537DF2  |.  68 A72394AB   PUSH AB9423A7                            ; |Arg1 = AB9423A7---------->◎◎◎
00537DF7  |.  8BC7          MOV EAX,EDI                              ; |
00537DF9  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537DFB  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537DFE  |.  E8 B1F9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537E03  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537E05  |.  50            PUSH EAX                                 ; /Arg4
00537E06  |.  8B4424 30     MOV EAX,DWORD PTR SS:[ESP+30]            ; |
00537E0A  |.  50            PUSH EAX                                 ; |Arg3
00537E0B  |.  6A 15         PUSH 15                                  ; |Arg2 = 00000015
00537E0D  |.  68 39A093FC   PUSH FC93A039                            ; |Arg1 = FC93A039---------->◎◎◎
00537E12  |.  8BC6          MOV EAX,ESI                              ; |
00537E14  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537E17  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537E19  |.  E8 96F9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537E1E  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537E21  |.  50            PUSH EAX                                 ; /Arg4
00537E22  |.  8B4424 4C     MOV EAX,DWORD PTR SS:[ESP+4C]            ; |
00537E26  |.  50            PUSH EAX                                 ; |Arg3
00537E27  |.  6A 06         PUSH 6                                   ; |Arg2 = 00000006
00537E29  |.  68 C3595B65   PUSH 655B59C3                            ; |Arg1 = 655B59C3---------->◎◎◎
00537E2E  |.  8BC3          MOV EAX,EBX                              ; |
00537E30  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537E32  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537E34  |.  E8 7BF9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537E39  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537E3B  |.  50            PUSH EAX                                 ; /Arg4
00537E3C  |.  8B4424 28     MOV EAX,DWORD PTR SS:[ESP+28]            ; |
00537E40  |.  50            PUSH EAX                                 ; |Arg3
00537E41  |.  6A 0A         PUSH 0A                                  ; |Arg2 = 0000000A
00537E43  |.  68 92CC0C8F   PUSH 8F0CCC92                            ; |Arg1 = 8F0CCC92---------->◎◎◎
00537E48  |.  8BC5          MOV EAX,EBP                              ; |
00537E4A  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537E4C  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537E4E  |.  E8 61F9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537E53  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537E55  |.  50            PUSH EAX                                 ; /Arg4
00537E56  |.  8B4424 44     MOV EAX,DWORD PTR SS:[ESP+44]            ; |
00537E5A  |.  50            PUSH EAX                                 ; |Arg3
00537E5B  |.  6A 0F         PUSH 0F                                  ; |Arg2 = 0000000F
00537E5D  |.  68 7DF4EFFF   PUSH FFEFF47D                            ; |Arg1 = FFEFF47D---------->◎◎◎
00537E62  |.  8BC7          MOV EAX,EDI                              ; |
00537E64  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537E66  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537E69  |.  E8 46F9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537E6E  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537E70  |.  50            PUSH EAX                                 ; /Arg4
00537E71  |.  8B4424 20     MOV EAX,DWORD PTR SS:[ESP+20]            ; |
00537E75  |.  50            PUSH EAX                                 ; |Arg3
00537E76  |.  6A 15         PUSH 15                                  ; |Arg2 = 00000015
00537E78  |.  68 D15D8485   PUSH 85845DD1                            ; |Arg1 = 85845DD1---------->◎◎◎
00537E7D  |.  8BC6          MOV EAX,ESI                              ; |
00537E7F  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537E82  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537E84  |.  E8 2BF9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537E89  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537E8C  |.  50            PUSH EAX                                 ; /Arg4
00537E8D  |.  8B4424 3C     MOV EAX,DWORD PTR SS:[ESP+3C]            ; |
00537E91  |.  50            PUSH EAX                                 ; |Arg3
00537E92  |.  6A 06         PUSH 6                                   ; |Arg2 = 00000006
00537E94  |.  68 4F7EA86F   PUSH 6FA87E4F                            ; |Arg1 = 6FA87E4F---------->◎◎◎
00537E99  |.  8BC3          MOV EAX,EBX                              ; |
00537E9B  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537E9D  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537E9F  |.  E8 10F9FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537EA4  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537EA6  |.  50            PUSH EAX                                 ; /Arg4
00537EA7  |.  8B4424 58     MOV EAX,DWORD PTR SS:[ESP+58]            ; |
00537EAB  |.  50            PUSH EAX                                 ; |Arg3
00537EAC  |.  6A 0A         PUSH 0A                                  ; |Arg2 = 0000000A
00537EAE  |.  68 E0E62CFE   PUSH FE2CE6E0                            ; |Arg1 = FE2CE6E0---------->◎◎◎
00537EB3  |.  8BC5          MOV EAX,EBP                              ; |
00537EB5  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537EB7  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537EB9  |.  E8 F6F8FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537EBE  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537EC0  |.  50            PUSH EAX                                 ; /Arg4
00537EC1  |.  8B4424 34     MOV EAX,DWORD PTR SS:[ESP+34]            ; |
00537EC5  |.  50            PUSH EAX                                 ; |Arg3
00537EC6  |.  6A 0F         PUSH 0F                                  ; |Arg2 = 0000000F
00537EC8  |.  68 144301A3   PUSH A3014314                            ; |Arg1 = A3014314---------->◎◎◎
00537ECD  |.  8BC7          MOV EAX,EDI                              ; |
00537ECF  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537ED1  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537ED4  |.  E8 DBF8FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537ED9  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537EDB  |.  50            PUSH EAX                                 ; /Arg4
00537EDC  |.  8B4424 50     MOV EAX,DWORD PTR SS:[ESP+50]            ; |
00537EE0  |.  50            PUSH EAX                                 ; |Arg3
00537EE1  |.  6A 15         PUSH 15                                  ; |Arg2 = 00000015
00537EE3  |.  68 A111084E   PUSH 4E0811A1                            ; |Arg1 = 4E0811A1---------->◎◎◎
00537EE8  |.  8BC6          MOV EAX,ESI                              ; |
00537EEA  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537EED  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537EEF  |.  E8 C0F8FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537EF4  |.  8B45 00       MOV EAX,DWORD PTR SS:[EBP]
00537EF7  |.  50            PUSH EAX                                 ; /Arg4
00537EF8  |.  8B4424 2C     MOV EAX,DWORD PTR SS:[ESP+2C]            ; |
00537EFC  |.  50            PUSH EAX                                 ; |Arg3
00537EFD  |.  6A 06         PUSH 6                                   ; |Arg2 = 00000006
00537EFF  |.  68 827E53F7   PUSH F7537E82                            ; |Arg1 = F7537E82---------->◎◎◎
00537F04  |.  8BC3          MOV EAX,EBX                              ; |
00537F06  |.  8B0F          MOV ECX,DWORD PTR DS:[EDI]               ; |
00537F08  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]               ; |
00537F0A  |.  E8 A5F8FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537F0F  |.  8B07          MOV EAX,DWORD PTR DS:[EDI]
00537F11  |.  50            PUSH EAX                                 ; /Arg4
00537F12  |.  8B4424 48     MOV EAX,DWORD PTR SS:[ESP+48]            ; |
00537F16  |.  50            PUSH EAX                                 ; |Arg3
00537F17  |.  6A 0A         PUSH 0A                                  ; |Arg2 = 0000000A
00537F19  |.  68 35F23ABD   PUSH BD3AF235                            ; |Arg1 = BD3AF235---------->◎◎◎
00537F1E  |.  8BC5          MOV EAX,EBP                              ; |
00537F20  |.  8B0E          MOV ECX,DWORD PTR DS:[ESI]               ; |
00537F22  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]               ; |
00537F24  |.  E8 8BF8FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537F29  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]
00537F2B  |.  50            PUSH EAX                                 ; /Arg4
00537F2C  |.  8B4424 24     MOV EAX,DWORD PTR SS:[ESP+24]            ; |
00537F30  |.  50            PUSH EAX                                 ; |Arg3
00537F31  |.  6A 0F         PUSH 0F                                  ; |Arg2 = 0000000F
00537F33  |.  68 BBD2D72A   PUSH 2AD7D2BB                            ; |Arg1 = 2AD7D2BB---------->◎◎◎
00537F38  |.  8BC7          MOV EAX,EDI                              ; |
00537F3A  |.  8B0B          MOV ECX,DWORD PTR DS:[EBX]               ; |
00537F3C  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]               ; |
00537F3F  |.  E8 70F8FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537F44  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]
00537F46  |.  50            PUSH EAX                                 ; /Arg4
00537F47  |.  8B4424 40     MOV EAX,DWORD PTR SS:[ESP+40]            ; |
00537F4B  |.  50            PUSH EAX                                 ; |Arg3
00537F4C  |.  6A 15         PUSH 15                                  ; |Arg2 = 00000015
00537F4E  |.  68 91D386EB   PUSH EB86D391                            ; |Arg1 = EB86D391---------->◎◎◎
00537F53  |.  8BC6          MOV EAX,ESI                              ; |
00537F55  |.  8B4D 00       MOV ECX,DWORD PTR SS:[EBP]               ; |
00537F58  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]               ; |
00537F5A  |.  E8 55F8FFFF   CALL HIDOWNLO.005377B4                   ; HIDOWNLO.005377B4
00537F5F  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00537F63  |.  8B13          MOV EDX,DWORD PTR DS:[EBX]
00537F65  |.  0110          ADD DWORD PTR DS:[EAX],EDX
00537F67  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00537F6B  |.  8B16          MOV EDX,DWORD PTR DS:[ESI]
00537F6D  |.  0150 04       ADD DWORD PTR DS:[EAX+4],EDX
00537F70  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00537F74  |.  8B17          MOV EDX,DWORD PTR DS:[EDI]
00537F76  |.  0150 08       ADD DWORD PTR DS:[EAX+8],EDX
00537F79  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00537F7D  |.  8B55 00       MOV EDX,DWORD PTR SS:[EBP]
00537F80  |.  0150 0C       ADD DWORD PTR DS:[EAX+C],EDX
00537F83  |.  83C4 58       ADD ESP,58
00537F86  |.  5D            POP EBP
00537F87  |.  5F            POP EDI
00537F88  |.  5E            POP ESI
00537F89  |.  5B            POP EBX
00537F8A  .  C3            RETN


最后这一段一共用了4个CALL,每个CALL分别调用了16次,各个CALL的各次调用的关键参数我用了◎◎◎表示,但是我的水平太低了,算法一点不会了,哪位大侠给讲讲这是什么算法吧

使用一个比较偷懒的办法:

首先输入用户名和电子邮件地址,和随便一个序列号,比如:
/用 户 名:dnpf
|电子邮件:dnpf@sohu.com
注 册 码:695ec0ee7352c033530309d0ad3418cb

然后在0068A51A地址处下中断,拦截到之后,分别看EAX和EDX的内容:

/EAX:b0351f56a39e0f21d9736d09278cd3c2
EDX:e7352c033530309d0ad3418cb

然后按照上面我的分析,关键运算只和输入的注册码的前面某部分有关,那我们就把它组合一下,看看EDX的内容和我们输入的注册码的差别了吧,我们就取前面的部分“695ec0e”,然后我们知道EAX的内容就是根据这个部分生成的,并且最后还要和EDX的内容比较,我们就把EAX的内容作为我们注册码的后面部分“b0351f56a39e0f21d9736d09278cd3c2”连接起来就是“695ec0eb0351f56a39e0f21d9736d09278cd3c2”

最后整理一下:

/用 户 名:dnpf-------------------
|电子邮件:dnpf@sohu.com----------/这两部分不参与运算,可以任意输入
注 册 码:695ec0eb0351f56a39e0f21d9736d09278cd3c2

怎么样,注册码应该有好多吧……