飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2442|回复: 3

[求助] 请高手分析一下这个软件的注册算法

[复制链接]
  • TA的每日心情
    开心
    2023-10-11 00:31
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2007-1-1 22:37:33 | 显示全部楼层 |阅读模式
    0054F7F8    8D4D F0         lea ecx,dword ptr ss:[ebp-10]  ; 开始算注册码
    0054F7FB    BA 09000000     mov edx,9
    0054F800    8B45 FC         mov eax,dword ptr ss:[ebp-4]
    0054F803    E8 D4BDF0FF     call ExpPrint.0045B5DC
    0054F808    8D4D F4         lea ecx,dword ptr ss:[ebp-C]
    0054F80B    8B55 FC         mov edx,dword ptr ss:[ebp-4]
    0054F80E    8B45 F0         mov eax,dword ptr ss:[ebp-10]
    0054F811    E8 BAF1FFFF     call ExpPrint.0054E9D0         ; 中间值1的算法CALL
    0054F816    8D4D EC         lea ecx,dword ptr ss:[ebp-14]
    0054F819    8B55 F4         mov edx,dword ptr ss:[ebp-C]   ; 中间值1(57E3836A87E16A5BEAAA87DF181FB6512738F6)
    0054F81C    8B45 F8         mov eax,dword ptr ss:[ebp-8]   ; 字符串ExpPrinter
    0054F81F    E8 ACF1FFFF     call ExpPrint.0054E9D0         ; 中间值2的算法CALL
    0054F824    8B55 EC         mov edx,dword ptr ss:[ebp-14]  ; 中间值2(627072C693C192688561FA7845743F2F26AA48BD1FF025F41AE20CCA1084457BC83A5C6AC8F6
    0054F827    8D45 F4         lea eax,dword ptr ss:[ebp-C]
    0054F82A    E8 B952EBFF     call ExpPrint.00404AE8
    0054F82F    8D55 E8         lea edx,dword ptr ss:[ebp-18]
    0054F832    8B45 F4         mov eax,dword ptr ss:[ebp-C]
    0054F835    E8 B2EEFFFF     call ExpPrint.0054E6EC         ;   中间值3,通过此中间值3得最终注册码
    0054F83A    8B55 E8         mov edx,dword ptr ss:[ebp-18]
    0054F83D    8D45 F4         lea eax,dword ptr ss:[ebp-C]
    0054F840    E8 A352EBFF     call ExpPrint.00404AE8
    0054F845    8D45 E4         lea eax,dword ptr ss:[ebp-1C]
    0054F848    50              push eax
    0054F849    B9 04000000     mov ecx,4
    0054F84E    BA 0C000000     mov edx,0C
    0054F853    8B45 F4         mov eax,dword ptr ss:[ebp-C]
    0054F856    E8 1557EBFF     call ExpPrint.00404F70         ; 取注册码前4位
    0054F85B    FF75 E4         push dword ptr ss:[ebp-1C]
    0054F85E    68 DCF85400     push ExpPrint.0054F8DC
    0054F863    8D45 E0         lea eax,dword ptr ss:[ebp-20]
    0054F866    50              push eax
    0054F867    B9 04000000     mov ecx,4
    0054F86C    BA 16000000     mov edx,16
    0054F871    8B45 F4         mov eax,dword ptr ss:[ebp-C]
    0054F874    E8 F756EBFF     call ExpPrint.00404F70         ; 注册码后4位
    0054F879    FF75 E0         push dword ptr ss:[ebp-20]
    0054F87C    8BC3            mov eax,ebx
    0054F87E    BA 03000000     mov edx,3
    0054F883    E8 4855EBFF     call ExpPrint.00404DD0
    0054F888    33C0            xor eax,eax
    0054F88A    5A              pop edx
    0054F88B    59              pop ecx
    0054F88C    59              pop ecx
    0054F88D    64:8910         mov dword ptr fs:[eax],edx
    0054F890    68 AAF85400     push ExpPrint.0054F8AA
    0054F895    8D45 E0         lea eax,dword ptr ss:[ebp-20]
    0054F898    BA 08000000     mov edx,8
    0054F89D    E8 D251EBFF     call ExpPrint.00404A74
    0054F8A2    C3              retn

    中间值1算法CALL跟中间值2算法CALL是同一个

    0054E9CD    8D40 00         lea eax,dword ptr ds:[eax]
    0054E9D0    55              push ebp
    0054E9D1    8BEC            mov ebp,esp
    0054E9D3    83C4 F0         add esp,-10
    0054E9D6    53              push ebx
    0054E9D7    33DB            xor ebx,ebx
    0054E9D9    895D F0         mov dword ptr ss:[ebp-10],ebx
    0054E9DC    895D F4         mov dword ptr ss:[ebp-C],ebx
    0054E9DF    8BD9            mov ebx,ecx
    0054E9E1    8955 F8         mov dword ptr ss:[ebp-8],edx
    0054E9E4    8945 FC         mov dword ptr ss:[ebp-4],eax
    0054E9E7    8B45 FC         mov eax,dword ptr ss:[ebp-4]
    0054E9EA    E8 1165EBFF     call ExpPrint.00404F00
    0054E9EF    8B45 F8         mov eax,dword ptr ss:[ebp-8]
    0054E9F2    E8 0965EBFF     call ExpPrint.00404F00
    0054E9F7    33C0            xor eax,eax
    0054E9F9    55              push ebp
    0054E9FA    68 5DEA5400     push ExpPrint.0054EA5D
    0054E9FF    64:FF30         push dword ptr fs:[eax]
    0054EA02    64:8920         mov dword ptr fs:[eax],esp
    0054EA05    8D4D F4         lea ecx,dword ptr ss:[ebp-C]
    0054EA08    8B55 F8         mov edx,dword ptr ss:[ebp-8]
    0054EA0B    8B45 FC         mov eax,dword ptr ss:[ebp-4]
    0054EA0E    E8 ADFEFFFF     call ExpPrint.0054E8C0
    0054EA13    8B45 F4         mov eax,dword ptr ss:[ebp-C]
    0054EA16    E8 F562EBFF     call ExpPrint.00404D10
    0054EA1B    50              push eax
    0054EA1C    8D45 F4         lea eax,dword ptr ss:[ebp-C]
    0054EA1F    E8 4465EBFF     call ExpPrint.00404F68
    0054EA24    8D4D F0         lea ecx,dword ptr ss:[ebp-10]
    0054EA27    5A              pop edx
    0054EA28    E8 BBCFFFFF     call ExpPrint.0054B9E8         ; 中间值1算法CALL
    0054EA2D    8B55 F0         mov edx,dword ptr ss:[ebp-10]
    0054EA30    8D45 F4         lea eax,dword ptr ss:[ebp-C]
    0054EA33    E8 B060EBFF     call ExpPrint.00404AE8
    0054EA38    8BC3            mov eax,ebx
    0054EA3A    8B55 F4         mov edx,dword ptr ss:[ebp-C]
    0054EA3D    E8 6260EBFF     call ExpPrint.00404AA4
    0054EA42    33C0            xor eax,eax
    0054EA44    5A              pop edx
    0054EA45    59              pop ecx
    0054EA46    59              pop ecx
    0054EA47    64:8910         mov dword ptr fs:[eax],edx
    0054EA4A    68 64EA5400     push ExpPrint.0054EA64
    0054EA4F    8D45 F0         lea eax,dword ptr ss:[ebp-10]
    0054EA52    BA 04000000     mov edx,4
    0054EA57    E8 1860EBFF     call ExpPrint.00404A74
    0054EA5C    C3              retn


    再跟进0054EA28    E8 BBCFFFFF     call ExpPrint.0054B9E8看看

    0054B9E8    55              push ebp
    0054B9E9    8BEC            mov ebp,esp
    0054B9EB    6A 00           push 0
    0054B9ED    53              push ebx
    0054B9EE    56              push esi
    0054B9EF    57              push edi
    0054B9F0    8BF9            mov edi,ecx
    0054B9F2    8BF2            mov esi,edx
    0054B9F4    8BD8            mov ebx,eax
    0054B9F6    33C0            xor eax,eax
    0054B9F8    55              push ebp
    0054B9F9    68 45BA5400     push ExpPrint.0054BA45
    0054B9FE    64:FF30         push dword ptr fs:[eax]
    0054BA01    64:8920         mov dword ptr fs:[eax],esp
    0054BA04    8BC7            mov eax,edi
    0054BA06    E8 4590EBFF     call ExpPrint.00404A50
    0054BA0B    4E              dec esi
    0054BA0C    85F6            test esi,esi
    0054BA0E    7C 1F           jl short ExpPrint.0054BA2F
    0054BA10    46              inc esi
    0054BA11    8D4D FC         lea ecx,dword ptr ss:[ebp-4]
    0054BA14    0FB603          movzx eax,byte ptr ds:[ebx]
    0054BA17    BA 02000000     mov edx,2
    0054BA1C    E8 9BE9EBFF     call ExpPrint.0040A3BC
    0054BA21    8B55 FC         mov edx,dword ptr ss:[ebp-4]
    0054BA24    8BC7            mov eax,edi
    0054BA26    E8 ED92EBFF     call ExpPrint.00404D18
    0054BA2B    43              inc ebx
    0054BA2C    4E              dec esi
    0054BA2D  ^ 75 E2           jnz short ExpPrint.0054BA11    ; 循环算法
    0054BA2F    33C0            xor eax,eax
    0054BA31    5A              pop edx
    0054BA32    59              pop ecx
    0054BA33    59              pop ecx
    0054BA34    64:8910         mov dword ptr fs:[eax],edx
    0054BA37    68 4CBA5400     push ExpPrint.0054BA4C
    0054BA3C    8D45 FC         lea eax,dword ptr ss:[ebp-4]
    0054BA3F    E8 0C90EBFF     call ExpPrint.00404A50
    0054BA44    C3              retn

    就是这个算法看不懂了!还有下面中间值3的算法也看不懂,跟前两个不同,麻烦高手分析一下!

    软件下载地址:http://www.ghprn.cn/taobao/ExpPrinter.rar

    [ 本帖最后由 nieufo 于 2007-1-10 23:56 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-10-11 00:31
  • 签到天数: 5 天

    [LV.2]偶尔看看I

     楼主| 发表于 2007-1-4 21:25:37 | 显示全部楼层
    怎以这提问区都没人理呀?还是没有人会?
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-1-5 19:39:12 | 显示全部楼层
    被你的复件数量吓到了

    你可以选择一个大的空间来存放这个东东

    也可以提供地址下载

    _______________________________

    好吧

    你可以尝试一小段一小段的分析啊

    先分析
    0054F7F8    8D4D F0         lea ecx,dword ptr ss:[ebp-10]  ; 开始算注册码
    0054F7FB    BA 09000000     mov edx,9
    0054F800    8B45 FC         mov eax,dword ptr ss:[ebp-4]
    0054F803    E8 D4BDF0FF     call ExpPrint.0045B5DC
    0054F808    8D4D F4         lea ecx,dword ptr ss:[ebp-C]
    0054F80B    8B55 FC         mov edx,dword ptr ss:[ebp-4]
    0054F80E    8B45 F0         mov eax,dword ptr ss:[ebp-10]
    0054F811    E8 BAF1FFFF     call ExpPrint.0054E9D0         ; 中间值1的算法CALL
    0054F816    8D4D EC     


    这一段吧
    写得细点
    我们好多都没机会动态调试你那东东
    所以
    分细点

    贴出来吧

    一天一贴
    大家一起来分析

    OK
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-1-10 13:09:22 | 显示全部楼层
    确实太复杂了,那么一大段,看上去就头痛...
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表