飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3991|回复: 6

[原创] 运行多个MSN的外挂器算法分析过程(高手飘过)

[复制链接]

该用户从未签到

发表于 2007-8-19 21:52:32 | 显示全部楼层 |阅读模式
【破文标题】运行多个MSN的外挂器算法分析过程
【破文作者】laccer
【作者邮箱】laccer@sina.com
【作者主页】
破解工具】peid0.94+OD
【破解平台】XPsp2
【软件名称】运行多个MSN的外挂器
【软件大小】224K
【原版下载】http://shareware.skycn.com/soft/7578.htm
【保护方式】注册码
【软件简介】本版本新增加对8.X的支持. MSN多开器本软件绿色软件,无需安装.我们平时是 不是很苦恼一台机器上只能运行一个MSN呢? 这个软件帮你解决烦恼,你就可以象用QQ一样, 想打开几个就打开几个. 使用方法: 直接点击运行。然后每次点击再运行一个MSN,,就可以再打开一个msn了. 更新日期: 2007年08月14日
【破解声明】初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
------------------------------------------------------------------------
【破解过程】用PEID0.94查壳,发现无壳,软件件用Microsoft Visual C++ 6.0写的.
运行输入假码,注册错误提示"注册号无效!"
od载入F9运行
查字符串"注册号无效!"找到双击来到:
00402E85   .  68 1CF24200   PUSH    MSN多开?0042F21C                   ;  注册号无效


向上找到如下:
  1. 00402DA0   .  6A FF         PUSH    -1                                 : 下断      
  2. 00402DA2   .  68 08374200   PUSH    MSN多开?00423708                   ;  SE 处理程序安装
  3. 00402DA7   .  64:A1 0000000>MOV     EAX, DWORD PTR FS:[0]
  4. 00402DAD   .  50            PUSH    EAX
  5. 00402DAE   .  64:8925 00000>MOV     DWORD PTR FS:[0], ESP
  6. 00402DB5   .  83EC 08       SUB     ESP, 8
  7. 00402DB8   .  56            PUSH    ESI
  8. 00402DB9   .  8BF1          MOV     ESI, ECX
  9. 00402DBB   .  6A 01         PUSH    1
  10. 00402DBD   .  E8 D6720100   CALL    MSN多开?0041A098
  11. 00402DC2   .  A1 CCF54200   MOV     EAX, DWORD PTR DS:[42F5CC]         ;  假码
  12. 00402DC7   .  894424 04     MOV     DWORD PTR SS:[ESP+4], EAX
  13. 00402DCB   .  8D8E 1C010000 LEA     ECX, DWORD PTR DS:[ESI+11C]
  14. 00402DD1   .  C74424 14 000>MOV     DWORD PTR SS:[ESP+14], 0
  15. 00402DD9   .  51            PUSH    ECX
  16. 00402DDA   .  8D4C24 08     LEA     ECX, DWORD PTR SS:[ESP+8]
  17. 00402DDE   .  E8 74870100   CALL    MSN多开?0041B557
  18. 00402DE3   .  51            PUSH    ECX
  19. 00402DE4   .  8D5424 08     LEA     EDX, DWORD PTR SS:[ESP+8]          ;  假码地址传到EDX
  20. 00402DE8   .  8BCC          MOV     ECX, ESP
  21. 00402DEA   .  896424 0C     MOV     DWORD PTR SS:[ESP+C], ESP
  22. 00402DEE   .  52            PUSH    EDX                                ;  压入假码地址
  23. 00402DEF   .  E8 E3830100   CALL    MSN多开?0041B1D7                   ;  读取假码
  24. 00402DF4   .  E8 77FEFFFF   CALL    MSN多开?00402C70                   ;  算法CALL
  25. 00402DF9   .  83C4 04       ADD     ESP, 4
  26. 00402DFC   .  85C0          TEST    EAX, EAX                           ;  EAX值是否为零
  27. 00402DFE   .  74 1C         JE      SHORT MSN多开?00402E1C             ;  关键跳(EAX值为零OVER)
  28. 00402E00   .  6A 00         PUSH    0
  29. 00402E02   .  68 60F24200   PUSH    MSN多开?0042F260                   ;  NGNSSS
  30. 00402E07   .  68 7CF24200   PUSH    MSN多开?0042F27C                   ;  注册成功
  31. 00402E0C   .  8BCE          MOV     ECX, ESI
  32. 00402E0E   .  E8 296B0100   CALL    MSN多开?0041993C
  33. 00402E13   .  8BCE          MOV     ECX, ESI
  34. 00402E15   .  E8 609A0100   CALL    MSN多开?0041C87A
  35. 00402E1A   .  EB 75         JMP     SHORT MSN多开?00402E91
  36. 00402E1C   >  6A 08         PUSH    8
  37. 00402E1E   .  68 68F24200   PUSH    MSN多开?0042F268                   ;  1163659294813585
  38. 00402E23   .  6A 08         PUSH    8
  39. 00402E25   .  8D4C24 10     LEA     ECX, DWORD PTR SS:[ESP+10]
  40. 00402E29   .  E8 0B8A0100   CALL    MSN多开?0041B839
  41. 00402E2E   .  50            PUSH    EAX
  42. 00402E2F   .  E8 0C810000   CALL    MSN多开?0040AF40
  43. 00402E34   .  83C4 0C       ADD     ESP, 0C
  44. 00402E37   .  85C0          TEST    EAX, EAX
  45. 00402E39   .  75 12         JNZ     SHORT MSN多开?00402E4D
  46. 00402E3B   .  50            PUSH    EAX
  47. 00402E3C   .  68 60F24200   PUSH    MSN多开?0042F260                   ;  NGNSSS
  48. 00402E41   .  68 3CF24200   PUSH    MSN多开?0042F23C                   ;  这是个盗版的注册号,请注册正式版本
  49. 00402E46   .  8BCE          MOV     ECX, ESI
  50. 00402E48   .  E8 EF6A0100   CALL    MSN多开?0041993C
  51. 00402E4D   >  6A 08         PUSH    8
  52. 00402E4F   .  68 28F24200   PUSH    MSN多开?0042F228                   ;  0386848021608060
  53. 00402E54   .  6A 08         PUSH    8
  54. 00402E56   .  8D4C24 10     LEA     ECX, DWORD PTR SS:[ESP+10]
  55. 00402E5A   .  E8 DA890100   CALL    MSN多开?0041B839
  56. 00402E5F   .  50            PUSH    EAX
  57. 00402E60   .  E8 DB800000   CALL    MSN多开?0040AF40
  58. 00402E65   .  83C4 0C       ADD     ESP, 0C
  59. 00402E68   .  85C0          TEST    EAX, EAX
  60. 00402E6A   .  75 12         JNZ     SHORT MSN多开?00402E7E
  61. 00402E6C   .  50            PUSH    EAX
  62. 00402E6D   .  68 60F24200   PUSH    MSN多开?0042F260                   ;  NGNSSS
  63. 00402E72   .  68 3CF24200   PUSH    MSN多开?0042F23C                   ;  这是个盗版的注册号,请注册正式版本
  64. 00402E77   .  8BCE          MOV     ECX, ESI
  65. 00402E79   .  E8 BE6A0100   CALL    MSN多开?0041993C
  66. 00402E7E   >  6A 00         PUSH    0
  67. 00402E80   .  68 60F24200   PUSH    MSN多开?0042F260                   ;  NGNSSS
  68. 00402E85   .  68 1CF24200   PUSH    MSN多开?0042F21C                   ;  注册号无效
  69. 00402E8A   .  8BCE          MOV     ECX, ESI
  70. 00402E8C   .  E8 AB6A0100   CALL    MSN多开?0041993C
  71. 00402E91   >  8D4C24 04     LEA     ECX, DWORD PTR SS:[ESP+4]
  72. 00402E95   .  C74424 14 FFF>MOV     DWORD PTR SS:[ESP+14], -1
  73. 00402E9D   .  E8 C0850100   CALL    MSN多开?0041B462
  74. 00402EA2   .  8B4C24 0C     MOV     ECX, DWORD PTR SS:[ESP+C]
  75. 00402EA6   .  5E            POP     ESI
  76. 00402EA7   .  64:890D 00000>MOV     DWORD PTR FS:[0], ECX
  77. 00402EAE   .  83C4 14       ADD     ESP, 14
  78. 00402EB1   .  C3            RETN
复制代码



跟进CALL    MSN多开?00402C70
如下:
  1. 00402C70  /$  6A FF         PUSH    -1
  2. 00402C72  |.  68 E8364200   PUSH    MSN多开?004236E8                   ;  SE 处理程序安装
  3. 00402C77  |.  64:A1 0000000>MOV     EAX, DWORD PTR FS:[0]
  4. 00402C7D  |.  50            PUSH    EAX
  5. 00402C7E  |.  64:8925 00000>MOV     DWORD PTR FS:[0], ESP
  6. 00402C85  |.  83EC 18       SUB     ESP, 18
  7. 00402C88  |.  53            PUSH    EBX
  8. 00402C89  |.  8B4C24 2C     MOV     ECX, DWORD PTR SS:[ESP+2C]       ;  假码
  9. 00402C8D  |.  33C0          XOR     EAX, EAX
  10. 00402C8F  |.  894424 05     MOV     DWORD PTR SS:[ESP+5], EAX
  11. 00402C93  |.  33DB          XOR     EBX, EBX
  12. 00402C95  |.  66:894424 09  MOV     WORD PTR SS:[ESP+9], AX
  13. 00402C9A  |.  895C24 24     MOV     DWORD PTR SS:[ESP+24], EBX
  14. 00402C9E  |.  884424 0B     MOV     BYTE PTR SS:[ESP+B], AL
  15. 00402CA2  |.  8B41 F8       MOV     EAX, DWORD PTR DS:[ECX-8]        ;  假码位数
  16. 00402CA5  |.  83F8 10       CMP     EAX, 10                          ;  是否16位
  17. 00402CA8  |.  885C24 04     MOV     BYTE PTR SS:[ESP+4], BL
  18. 00402CAC  |.  0F8C C0000000 JL      MSN多开?00402D72                 ;  假码小于16位就OVER
  19. 00402CB2  |.  56            PUSH    ESI
  20. 00402CB3  |.  68 04010000   PUSH    104
  21. 00402CB8  |.  8D4C24 34     LEA     ECX, DWORD PTR SS:[ESP+34]
  22. 00402CBC  |.  E8 788B0100   CALL    MSN多开?0041B839
  23. 00402CC1  |.  8B10          MOV     EDX, DWORD PTR DS:[EAX]          ;  假码第1至第4位
  24. 00402CC3  |.  33F6          XOR     ESI, ESI
  25. 00402CC5  |.  895424 10     MOV     DWORD PTR SS:[ESP+10], EDX
  26. 00402CC9  |.  8B48 04       MOV     ECX, DWORD PTR DS:[EAX+4]        ;  假码第5至第8位
  27. 00402CCC  |.  894C24 14     MOV     DWORD PTR SS:[ESP+14], ECX
  28. 00402CD0  |.  8B50 08       MOV     EDX, DWORD PTR DS:[EAX+8]        ;  假码第9至第12位
  29. 00402CD3  |.  895424 18     MOV     DWORD PTR SS:[ESP+18], EDX
  30. 00402CD7  |.  8B40 0C       MOV     EAX, DWORD PTR DS:[EAX+C]        ;  假码第13至第16位
  31. 00402CDA  |.  894424 1C     MOV     DWORD PTR SS:[ESP+1C], EAX
  32. 00402CDE  |>  8A4C34 10     /MOV     CL, BYTE PTR SS:[ESP+ESI+10]    ;  假码ASCII转换数字
  33. 00402CE2  |.  51            |PUSH    ECX
  34. 00402CE3  |.  E8 68FFFFFF   |CALL    MSN多开?00402C50
  35. 00402CE8  |.  83C4 04       |ADD     ESP, 4
  36. 00402CEB  |.  884434 10     |MOV     BYTE PTR SS:[ESP+ESI+10], AL    ;  假码转换后的数字放入[ESP+ESI+10]
  37. 00402CEF  |.  46            |INC     ESI                             ;  每取一次假码ESI值加1
  38. 00402CF0  |.  83FE 10       |CMP     ESI, 10                         ;  是否取够16位
  39. 00402CF3  |.^ 7C E9         \JL      SHORT MSN多开?00402CDE          ;  不够继续
  40. 00402CF5  |.  33C0          XOR     EAX, EAX
  41. 00402CF7  |.  8D4C24 10     LEA     ECX, DWORD PTR SS:[ESP+10]       ;  转换后的数字的地址放ECX
  42. 00402CFB  |.  5E            POP     ESI
  43. 00402CFC  |>  8A51 01       /MOV     DL, BYTE PTR DS:[ECX+1]         ;  取假码转换数字后的偶数位
  44. 00402CFF  |.  8A19          |MOV     BL, BYTE PTR DS:[ECX]           ;  取假码转换数字后的奇数位
  45. 00402D01  |.  C0E2 04       |SHL     DL, 4                           ;  偶数位的数字左移4位(假如DL=02,左移4位后是20)
  46. 00402D04  |.  02D3          |ADD     DL, BL                          ;  偶数位左移4位的数字加奇数位的数字=DL
  47. 00402D06  |.  83C1 02       |ADD     ECX, 2                          ;  地址加2(为取假码数字作准备)
  48. 00402D09  |.  885404 04     |MOV     BYTE PTR SS:[ESP+EAX+4], DL     ;  [偶数位左移4位的数字]加[奇数位的数字]结果放[ESP+EAX+4]
  49. 00402D0D  |.  40            |INC     EAX
  50. 00402D0E  |.  83F8 08       |CMP     EAX, 8
  51. 00402D11  |.^ 7C E9         \JL      SHORT MSN多开?00402CFC
  52. 00402D13  |.  8A4424 07     MOV     AL, BYTE PTR SS:[ESP+7]          ;  假码转换数字后的第7位第8位=AL
  53. 00402D17  |.  8A5C24 04     MOV     BL, BYTE PTR SS:[ESP+4]          ;  假码转换数字后的第1位第2位=BL
  54. 00402D1B  |.  8A4C24 0B     MOV     CL, BYTE PTR SS:[ESP+B]          ;  假码转换数字后的第15位第16位=CL
  55. 00402D1F  |.  8A5424 05     MOV     DL, BYTE PTR SS:[ESP+5]          ;  假码转换数字后的第3位第4位=DL
  56. 00402D23  |.  32C3          XOR     AL, BL                           ;  AL XOR BL=AL
  57. 00402D25  |.  8A5C24 06     MOV     BL, BYTE PTR SS:[ESP+6]          ;  假码转换数字后的第5位第6位
  58. 00402D29  |.  32CA          XOR     CL, DL                           ;  CL XOR DL=CL
  59. 00402D2B  |.  8A5424 09     MOV     DL, BYTE PTR SS:[ESP+9]          ;  假码转换数字后的第11位第12位
  60. 00402D2F  |.  32D3          XOR     DL, BL                           ;  DL XOR BL = DL
  61. 00402D31  |.  8A5C24 08     MOV     BL, BYTE PTR SS:[ESP+8]          ;  假码转换数字后的第9位第10位
  62. 00402D35  |.  325C24 0A     XOR     BL, BYTE PTR SS:[ESP+A]          ;  BL XOR [ESP+A]=BL    [ESP+A]=第13位第14位
  63. 00402D39  |.  3C 38         CMP     AL, 38                           ;  AL与38比较
  64. 00402D3B  |.  75 35         JNZ     SHORT MSN多开?00402D72
  65. 00402D3D  |.  80F9 78       CMP     CL, 78                           ;  CL与78比较
  66. 00402D40  |.  75 30         JNZ     SHORT MSN多开?00402D72
  67. 00402D42  |.  80FA 4E       CMP     DL, 4E                           ;  DL与4E比较
  68. 00402D45  |.  75 2B         JNZ     SHORT MSN多开?00402D72
  69. 00402D47  |.  80FB 1A       CMP     BL, 1A                           ;  BL与1A比较
  70. 00402D4A  |.  75 26         JNZ     SHORT MSN多开?00402D72           ;  以上相等注册成功
  71. 00402D4C  |.  8D4C24 2C     LEA     ECX, DWORD PTR SS:[ESP+2C]
  72. 00402D50  |.  C74424 24 FFF>MOV     DWORD PTR SS:[ESP+24], -1
  73. 00402D58  |.  E8 05870100   CALL    MSN多开?0041B462
  74. 00402D5D  |.  B8 01000000   MOV     EAX, 1
  75. 00402D62  |.  5B            POP     EBX
  76. 00402D63  |.  8B4C24 18     MOV     ECX, DWORD PTR SS:[ESP+18]
  77. 00402D67  |.  64:890D 00000>MOV     DWORD PTR FS:[0], ECX
  78. 00402D6E  |.  83C4 24       ADD     ESP, 24
  79. 00402D71  |.  C3            RETN
复制代码




------------------------------------------------------------------------
【破解总结】注册码要符合以下条件:
假码第1位第2位   XOR 假码第7位第8位=38     
假码第3位第4位   XOR 假码第15位第16位=78   
假码第5位第6位   XOR 假码第11位第12位=4E   
假码第9位第10位  XOR 假码第13位第14位=1E   

有效的一组注册码:1212129112F6B395
------------------------------------------------------------------------
【版权声明】【版权声明】转载请注明出处,请注明作者并保持文章的完整, 谢谢!

[ 本帖最后由 laccer 于 2007-8-19 23:52 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-19 22:00:54 | 显示全部楼层
我的沙发,哈哈哈哈
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-19 22:01:05 | 显示全部楼层
第一个来支持 学习一下
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-19 22:01:52 | 显示全部楼层
算法keygen类?咋不放上来?
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-19 22:02:10 | 显示全部楼层
小子的动作好快啊!沙发没做到/:L
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-20 17:17:13 | 显示全部楼层
学习了,谢谢/:014
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-12-8 13:11
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2007-12-2 09:59:38 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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