飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7924|回复: 17

[原创] Internet Download Manager 简单分析

[复制链接]

该用户从未签到

发表于 2008-6-5 16:56:15 | 显示全部楼层 |阅读模式
小Q下午给的一个下载工具:Internet Download Manager  不清楚怎么用

官方:http://www.internetdownloadmanager.com/
Download:http://www.internetdownloadmanager.com/idman512.exe

注册后将信息保存到注册表中:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Internet Download Manager]
"FName"="Nisy[PYG]"
"LName"="Bbs.ChinaPYG.CoM"
"Email"="[email protected]"
"Serial"="11111-22222-33333-44444"

KEY格式是这样的:
00426ED1   .  83F9 17          CMP ECX,17
00426ED4   .  75 1C            JNZ SHORT IDMan.00426EF2
00426ED6   .  807D 8D 2D       CMP BYTE PTR SS:[EBP-73],2D
00426EDA   .  75 16            JNZ SHORT IDMan.00426EF2
00426EDC   .  807D 93 2D       CMP BYTE PTR SS:[EBP-6D],2D
00426EE0   .  75 10            JNZ SHORT IDMan.00426EF2
00426EE2   .  807D 99 2D       CMP BYTE PTR SS:[EBP-67],2D
00426EE6   .  75 0A            JNZ SHORT IDMan.00426EF2
00426EE8   .  C705 443C5A00 00>MOV DWORD PTR DS:[5A3C44],0                       ;  下方对这个0还做判断

程序启动的时候有两次调用注册信息:

00426CA0      55               PUSH EBP                                          ;  01
00426CA1      8BEC             MOV EBP,ESP

0042D2A0      55               PUSH EBP                                          ;  02
0042D2A1      8BEC             MOV EBP,ESP

但验证有点奇怪,一会我继续搞搞,这两处调用都需要返回数据为EAX=0,比较方法有点象那个字体试衣间:

第一处:

0042D842      8DB5 50FEFFFF    LEA ESI,DWORD PTR SS:[EBP-1B0]                    ;  把这里修改为[EBP-6C]
0042D848   .  8D45 94          LEA EAX,DWORD PTR SS:[EBP-6C]
0042D84B      8A10             MOV DL,BYTE PTR DS:[EAX]                          ;  以下是对两组字符串做比较
0042D84D   .  8A1E             MOV BL,BYTE PTR DS:[ESI]
0042D84F   .  8ACA             MOV CL,DL
0042D851   .  3AD3             CMP DL,BL
0042D853   .  75 1E            JNZ SHORT IDMan.0042D873
0042D855   .  84C9             TEST CL,CL
0042D857   .  74 16            JE SHORT IDMan.0042D86F
0042D859      8A50 01          MOV DL,BYTE PTR DS:[EAX+1]
0042D85C   .  8A5E 01          MOV BL,BYTE PTR DS:[ESI+1]
0042D85F   .  8ACA             MOV CL,DL
0042D861   .  3AD3             CMP DL,BL
0042D863   .  75 0E            JNZ SHORT IDMan.0042D873
0042D865   .  83C0 02          ADD EAX,2
0042D868   .  83C6 02          ADD ESI,2
0042D86B   .  84C9             TEST CL,CL
0042D86D   .^ 75 DC            JNZ SHORT IDMan.0042D84B
0042D86F   >  33C0             XOR EAX,EAX
0042D871   .  EB 05            JMP SHORT IDMan.0042D878
0042D873      1BC0             SBB EAX,EAX
0042D875   .  83D8 FF          SBB EAX,-1
0042D878   >  85C0             TEST EAX,EAX
0042D87A   .  75 25            JNZ SHORT IDMan.0042D8A1
0042D87C   .  8D8D 6CFAFFFF    LEA ECX,DWORD PTR SS:[EBP-594]
0042D882   .  C745 FC FFFFFFFF MOV DWORD PTR SS:[EBP-4],-1
0042D889   .  E8 C2810700      CALL IDMan.004A5A50
0042D88E   .  33C0             XOR EAX,EAX                                       ;  这里就返回EAX=0了
0042D890   .  8B4D F4          MOV ECX,DWORD PTR SS:[EBP-C]
0042D893   .  64:890D 00000000 MOV DWORD PTR FS:[0],ECX
0042D89A   .  5F               POP EDI
0042D89B   .  5E               POP ESI
0042D89C   .  5B               POP EBX
0042D89D   .  8BE5             MOV ESP,EBP
0042D89F   .  5D               POP EBP
0042D8A0   .  C3               RETN

第二处:

0042762E      8DB5 88FEFFFF    LEA ESI,DWORD PTR SS:[EBP-178]                    ;  这里修改为[EBP-78]
00427634      8D45 88          LEA EAX,DWORD PTR SS:[EBP-78]


提取一个特征码好了 方便以后的定位:  8D B5 ?? ?? FF FF 8D 45
01.GIF

IDMan_Cr.rar

897.64 KB, 下载次数: 12, 下载积分: 飘云币 -2 枚

PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-1-13 12:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2008-6-5 17:02:23 | 显示全部楼层
    呵呵,占楼,以后补充信息!!/:good
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-6-5 17:33:10 | 显示全部楼层
    IDM... 这个很好用...
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2017-9-28 11:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2008-6-5 17:53:01 | 显示全部楼层
    好像有网络验证的。。用过。。后来因为破解的失败就没用过了。。
    有迅雷。。这个也懒的用。。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-6-5 18:07:05 | 显示全部楼层
    原帖由 pentacle 于 2008-6-5 17:53 发表
    好像有网络验证的。。用过。。后来因为破解的失败就没用过了。。
    有迅雷。。这个也懒的用。。


    没看到网络验证呀 ~~ 小Q给了我一个国外的补丁 那个补丁是这样的

    将这两个CALL直接 XOR EAX,EAX RETN

    最后修改一个字节 使注册那个按钮成为灰钮 那个字节不知道是用怎么找到的
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-24 21:35
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2008-6-5 18:20:49 | 显示全部楼层
    谢谢分享,学习一下!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-6-5 18:22:41 | 显示全部楼层
    原帖由 pentacle 于 2008-6-5 17:53 发表
    好像有网络验证的。。用过。。后来因为破解的失败就没用过了。。
    有迅雷。。这个也懒的用。。


    的确是有网络验证的....Nisy兄再看看...
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-6-5 19:33:37 | 显示全部楼层
    原帖由 Luckly 于 2008-6-5 18:22 发表


    的确是有网络验证的....Nisy兄再看看...



    网络验证的症状是什么 我这里没有反应呀 /:L  调整日期后照旧可以使用
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2008-6-5 20:08:40 | 显示全部楼层
    我记得黑防某期有这个软件的算法分析!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-6-5 21:06:59 | 显示全部楼层
    http://www.pediy.com/bbshtml/BBS6/pediy6139.htm

    找到了3.15的算法.还是03年的东西...汗..参考.[code]标 题:与RC加密算法的第一次亲密接触  
    发信人:newlaos
    时 间:2003/06/30 10:46am
    详细信息:


    软件信息
    ========
    软件名称:Internet Download Manager
    软件版本:3.15
    软件大小:833KB
    应用平台:Windows 9x/Me/2k/XP
    下载地址:http://www.internetdownloadmanager.com/idman315.exe

    填入注册码部分的算法比较简单,考虑篇幅这里就不说了,只说它的重启和RC加密算法
    1、
    [HKEY_CURRENT_USER\Software\DownloadManager]
    "idmvers"="3.16 Trial"                <===体验版,意思是说不是正式版了
    "Serial"="ABCDE-GHIJK-MNOPQ-STUVW"

    2、软件一见到注册表里的Serial键值,立马就报是60天试用版,肯定有问题(估计只是在体验版里加的)
    "Serial"="ABCDE-GHIJK-MNOPQ-STUVW"


    3、但是,程序里依然有核心校验部分(而且用的是RC的加密算法)
    0041249F   . 68 A0674C00    PUSH IDMAN.004C67A0                      ; |valueName = "Serial"
    004124A4   . 897D FC        MOV DWORD PTR SS:[EBP-4],EDI             ; |
    004124A7   . 52             PUSH EDX                                 ; |hKey => 0
    004124A8   . 897D EC        MOV DWORD PTR SS:[EBP-14],EDI            ; |
    004124AB   . C645 FC 01     MOV BYTE PTR SS:[EBP-4],1                ; |
    004124AF   . C685 5CFFFFFF >MOV BYTE PTR SS:[EBP-A4],0               ; |
    004124B6   . C645 B0 00     MOV BYTE PTR SS:[EBP-50],0               ; |
    004124BA   . 895D E8        MOV DWORD PTR SS:[EBP-18],EBX            ; |
    004124BD   . FFD6           CALL ESI                                 ; \RegQueryvalueExA
    004124BF   . 85C0           TEST EAX,EAX
    004124C1   . 75 1D          JNZ SHORT IDMAN.004124E0
    004124C3   . 8D85 5CFFFFFF  LEA EAX,DWORD PTR SS:[EBP-A4]         <===在这里可以看到注册码
    004124C9   . 50             PUSH EAX                                 ; /Arg1
    004124CA   . E8 21050000    CALL IDMAN.004129F0         <===跟进     ; \IDMAN.004129F0
    004124CF   . 83C4 04        ADD ESP,4
    004124D2   . 84C0           TEST AL,AL     <===要想成功,则AL必须为0
    004124D4   . 75 0A          JNZ SHORT IDMAN.004124E0
    004124D6   . C745 EC 010000>MOV DWORD PTR SS:[EBP-14],1
    004124DD   . 8B7D EC        MOV EDI,DWORD PTR SS:[EBP-14]
    004124E0   > A1 9CB74D00    MOV EAX,DWORD PTR DS:[4DB79C]

    ---------------004124CA CALL IDMAN.004129F0 跟进----------------
    004129F0  /$ 55             PUSH EBP
    004129F1  |. 8BEC           MOV EBP,ESP
    004129F3  |. 6A FF          PUSH -1
    004129F5  |. 68 F8CD4900    PUSH IDMAN.0049CDF8                               ;  SE handler installation
    004129FA  |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
    00412A00  |. 50             PUSH EAX
    00412A01  |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
    00412A08  |. 83EC 58        SUB ESP,58
    00412A0B  |. 8B55 08        MOV EDX,DWORD PTR SS:[EBP+8]
    00412A0E  |. 53             PUSH EBX
    00412A0F  |. 56             PUSH ESI
    00412A10  |. 57             PUSH EDI
    00412A11  |. 8BFA           MOV EDI,EDX
    00412A13  |. 83C9 FF        OR ECX,FFFFFFFF
    00412A16  |. 33C0           XOR EAX,EAX
    00412A18  |. 33DB           XOR EBX,EBX
    00412A1A  |. F2:AE          REPNE SCAS BYTE PTR ES:[EDI]
    00412A1C  |. F7D1           NOT ECX
    00412A1E  |. 49             DEC ECX
    00412A1F  |. 8965 F0        MOV DWORD PTR SS:[EBP-10],ESP
    00412A22  |. 83F9 32        CMP ECX,32
    00412A25  |. 895D FC        MOV DWORD PTR SS:[EBP-4],EBX
    00412A28  |. 0F87 B0010000  JA IDMAN.00412BDE
    00412A2E  |. B9 0D000000    MOV ECX,0D
    00412A33  |. 8D7D 9C        LEA EDI,DWORD PTR SS:[EBP-64]
    00412A36  |. F3:AB          REP STOS DWORD PTR ES:[EDI]
    00412A38  |. 8BFA           MOV EDI,EDX
    00412A3A  |. 83C9 FF        OR ECX,FFFFFFFF
    00412A3D  |. F2:AE          REPNE SCAS BYTE PTR ES:[EDI]
    00412A3F  |. F7D1           NOT ECX
    00412A41  |. 8D75 9C        LEA ESI,DWORD PTR SS:[EBP-64]
    00412A44  |. 2BF9           SUB EDI,ECX
    00412A46  |. 8BD6           MOV EDX,ESI
    00412A48  |. 8BC1           MOV EAX,ECX
    00412A4A  |. 8BF7           MOV ESI,EDI
    00412A4C  |. 8BFA           MOV EDI,EDX
    00412A4E  |. C1E9 02        SHR ECX,2
    00412A51  |. F3:A5          REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
    00412A53  |. 8BC8           MOV ECX,EAX
    00412A55  |. 83E1 03        AND ECX,3
    00412A58  |. F3:A4          REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
    00412A5A  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
    00412A5D  |. E8 AE9B0200    CALL IDMAN.0043C610
    00412A62  |. BF 64734C00    MOV EDI,IDMAN.004C7364                            ;  ASCII "506938841"
    00412A67  |. 83C9 FF        OR ECX,FFFFFFFF
    00412A6A  |. 33C0           XOR EAX,EAX
    00412A6C  |. C645 FC 01     MOV BYTE PTR SS:[EBP-4],1
    00412A70  |. F2:AE          REPNE SCAS BYTE PTR ES:[EDI]
    00412A72  |. 8B7D 08        MOV EDI,DWORD PTR SS:[EBP+8]
    00412A75  |. F7D1           NOT ECX
    00412A77  |. 49             DEC ECX
    00412A78  |. 51             PUSH ECX
    00412A79  |. 83C9 FF        OR ECX,FFFFFFFF
    00412A7C  |. F2:AE          REPNE SCAS BYTE PTR ES:[EDI]
    00412A7E  |. F7D1           NOT ECX
    00412A80  |. 49             DEC ECX
    00412A81  |. 68 64734C00    PUSH IDMAN.004C7364                               ;  ASCII "506938841"(估计就是密钥)
    00412A86  |. 8D45 9C        LEA EAX,DWORD PTR SS:[EBP-64]
    00412A89  |. 51             PUSH ECX
    00412A8A  |. 50             PUSH EAX                 <===EAX="ABCDE-GHIJK-MNOPQ-STUVW"(假注册码)
    00412A8B  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
    00412A8E  |. E8 0D9F0200    CALL IDMAN.0043C9A0      <===一个很关键的CALL,对数据加密的CALL(用的RC2的加密方式)
    00412A93  |. B2 C6          MOV DL,0C6
    00412A95  |. B9 11000000    MOV ECX,11
    00412A9A  |. 8D7D D8        LEA EDI,DWORD PTR SS:[EBP-28]
    00412A9D  |. 8D75 9C        LEA ESI,DWORD PTR SS:[EBP-64]  <===ESI为加密后的数据
    00412AA0  |. 33C0           XOR EAX,EAX
    00412AA2  |. C645 D8 2B     MOV BYTE PTR SS:[EBP-28],2B
    00412AA6  |. C645 D9 52     MOV BYTE PTR SS:[EBP-27],52
    00412AAA  |. C645 DA D1     MOV BYTE PTR SS:[EBP-26],0D1
    00412AAE  |. C645 DB 9E     MOV BYTE PTR SS:[EBP-25],9E
    00412AB2  |. C645 DC 8A     MOV BYTE PTR SS:[EBP-24],8A
    00412AB6  |. C645 DD 82     MOV BYTE PTR SS:[EBP-23],82
    00412ABA  |. C645 DE DE     MOV BYTE PTR SS:[EBP-22],0DE
    00412ABE  |. C645 DF EB     MOV BYTE PTR SS:[EBP-21],0EB
    00412AC2  |. C645 E0 EE     MOV BYTE PTR SS:[EBP-20],0EE
    00412AC6  |. C645 E1 62     MOV BYTE PTR SS:[EBP-1F],62
    00412ACA  |. C645 E2 A4     MOV BYTE PTR SS:[EBP-1E],0A4
    00412ACE  |. 8855 E3        MOV BYTE PTR SS:[EBP-1D],DL
    00412AD1  |. C645 E4 84     MOV BYTE PTR SS:[EBP-1C],84
    00412AD5  |. C645 E5 99     MOV BYTE PTR SS:[EBP-1B],99
    00412AD9  |. C645 E6 8F     MOV BYTE PTR SS:[EBP-1A],8F
    00412ADD  |. C645 E7 1F     MOV BYTE PTR SS:[EBP-19],1F
    00412AE1  |. 885D E8        MOV BYTE PTR SS:[EBP-18],BL
    00412AE4  |. F3:A6          REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
    <===ESI为我们注册码加密后的结果,EDI就是上面的内定列表:(两者要相等)
    ********************************************
    0074DDD4  2B 52 D1 9E 8A 82 DE EB  +R褳妭揠
    0074DDDC  EE 62 A4 C6 84 99 8F 1F  頱て剻?
    ********************************************
    00412AE6  |. 0F84 E7000000  JE IDMAN.00412BD3
    00412AEC  |. B0 BE          MOV AL,0BE
    00412AEE  |. 8855 E1        MOV BYTE PTR SS:[EBP-1F],DL
    00412AF1  |. B9 19000000    MOV ECX,19
    00412AF6  |. 8D7D D0        LEA EDI,DWORD PTR SS:[EBP-30]
    00412AF9  |. 8D75 9C        LEA ESI,DWORD PTR SS:[EBP-64]
    00412AFC  |. 33D2           XOR EDX,EDX
    00412AFE  |. C645 D0 92     MOV BYTE PTR SS:[EBP-30],92
    00412B02  |. C645 D1 F5     MOV BYTE PTR SS:[EBP-2F],0F5
    00412B06  |. C645 D2 25     MOV BYTE PTR SS:[EBP-2E],25
    00412B0A  |. C645 D3 CD     MOV BYTE PTR SS:[EBP-2D],0CD
    00412B0E  |. C645 D4 78     MOV BYTE PTR SS:[EBP-2C],78
    00412B12  |. 8845 D5        MOV BYTE PTR SS:[EBP-2B],AL
    00412B15  |. C645 D6 4A     MOV BYTE PTR SS:[EBP-2A],4A
    00412B19  |. C645 D7 04     MOV BYTE PTR SS:[EBP-29],4
    00412B1D  |. C645 D8 6A     MOV BYTE PTR SS:[EBP-28],6A
    00412B21  |. C645 D9 FF     MOV BYTE PTR SS:[EBP-27],0FF
    00412B25  |. C645 DA A3     MOV BYTE PTR SS:[EBP-26],0A3
    00412B29  |. C645 DB 2C     MOV BYTE PTR SS:[EBP-25],2C
    00412B2D  |. C645 DC 9C     MOV BYTE PTR SS:[EBP-24],9C
    00412B31  |. C645 DD 96     MOV BYTE PTR SS:[EBP-23],96
    00412B35  |. C645 DE 28     MOV BYTE PTR SS:[EBP-22],28
    00412B39  |. C645 DF B0     MOV BYTE PTR SS:[EBP-21],0B0
    00412B3D  |. C645 E0 26     MOV BYTE PTR SS:[EBP-20],26
    00412B41  |. C645 E2 A6     MOV BYTE PTR SS:[EBP-1E],0A6
    00412B45  |. C645 E3 D5     MOV BYTE PTR SS:[EBP-1D],0D5
    00412B49  |. C645 E4 D8     MOV BYTE PTR SS:[EBP-1C],0D8
    00412B4D  |. C645 E5 E3     MOV BYTE PTR SS:[EBP-1B],0E3
    00412B51  |. C645 E6 EF     MOV BYTE PTR SS:[EBP-1A],0EF
    00412B55  |. C645 E7 07     MOV BYTE PTR SS:[EBP-19],7
    00412B59  |. 885D E8        MOV BYTE PTR SS:[EBP-18],BL
    00412B5C  |. F3:A6          REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
    <===ESI为我们注册码加密后的结果,EDI就是上面的内定列表:(两者要相等)
    ********************************************
    0074DDCC  92 F5 25 CD 78 BE 4A 04  掯%蛒綣
    0074DDD4  6A FF A3 2C 9C 96 28 B0  j
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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