飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3455|回复: 4

[原创] 1st Mass Mailer 4.2算法分析

[复制链接]
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-18 17:56:03 | 显示全部楼层 |阅读模式
    【破文作者】tianxj
    【作者邮箱】tianxj_2007@126.com
    【作者主页】www.chiapyg.com
    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】1st Mass Mailer 4.2(2008-4-15版)
    【软件大小】2085KB
    【软件类别】国外软件/邮件处理
    【软件语言】英文
    【原版下载】华军软件园
    【保护方式】注册码
    【软件简介】利用该工具可以同时发送多个e-mail给你的客户或联系人
    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------
    【破解内容】
    --------------------------------------------------------------
    **************************************************************
    一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
    "registration code is invalid!"
    **************************************************************
    二、用PEiD对这个软件查壳,为 Borland Delphi 6.0 - 7.0
    **************************************************************
    三、运行OD,打开mailer,用F12暂停法,来到关键之处
    1. 005E2214  /$  55            PUSH EBP
    2. 005E2215  |.  8BEC          MOV EBP,ESP
    3. 005E2217  |.  B9 06000000   MOV ECX,6
    4. 005E221C  |>  6A 00         /PUSH 0
    5. 005E221E  |.  6A 00         |PUSH 0
    6. 005E2220  |.  49            |DEC ECX
    7. 005E2221  |.^ 75 F9         \JNZ SHORT mailer.005E221C
    8. 005E2223  |.  51            PUSH ECX
    9. 005E2224  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
    10. 005E2227  |.  33C0          XOR EAX,EAX
    11. 005E2229  |.  55            PUSH EBP
    12. 005E222A  |.  68 9D235E00   PUSH mailer.005E239D
    13. 005E222F  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    14. 005E2232  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    15. 005E2235  |.  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
    16. 005E2238  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    17. 005E223B  |.  8B80 A8030000 MOV EAX,DWORD PTR DS:[EAX+3A8]
    18. 005E2241  |.  E8 AA52E8FF   CALL mailer.004674F0
    19. 005E2246  |.  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]            ;  //EAX=[EBP-14]=试练码
    20. 005E2249  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
    21. 005E224C  |.  E8 2715F5FF   CALL mailer.00533778
    22. 005E2251  |.  8B55 F0       MOV EDX,DWORD PTR SS:[EBP-10]            ;  //EDX=[EBP-10]=试练码
    23. 005E2254  |.  B8 6C755F00   MOV EAX,mailer.005F756C
    24. 005E2259  |.  E8 C633E2FF   CALL mailer.00405624
    25. 005E225E  |.  E8 11FDFFFF   CALL mailer.005E1F74                     ;  //关键CALL
    26. 005E2263  |.  8845 FB       MOV BYTE PTR SS:[EBP-5],AL               ;  //[EBP-5]=AL
    27. 005E2266  |.  807D FB 00    CMP BYTE PTR SS:[EBP-5],0                ;  //关键比较
    28. 005E226A  |.  0F84 DB000000 JE mailer.005E234B                       ;  //关键跳转
    29. 005E2270  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    30. 005E2273  |.  C680 BC030000>MOV BYTE PTR DS:[EAX+3BC],1
    31. 005E227A  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    32. 005E227D  |.  50            PUSH EAX
    33. 005E227E  |.  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
    34. 005E2281  |.  B8 B4235E00   MOV EAX,mailer.005E23B4                  ;  b99e9da78684ba9a97b78e
    35. 005E2286  |.  E8 5963F5FF   CALL mailer.005385E4
    36. 005E228B  |.  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]
    37. 005E228E  |.  50            PUSH EAX
    38. 005E228F  |.  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
    39. 005E2292  |.  B8 D4235E00   MOV EAX,mailer.005E23D4                  ;  be828b999a8c9f88b1a0848e9f829e828b99b1a9bfa0bfbeb5
    40. 005E2297  |.  E8 4863F5FF   CALL mailer.005385E4
    41. 005E229C  |.  8B55 E4       MOV EDX,DWORD PTR SS:[EBP-1C]
    42. 005E229F  |.  A1 74755F00   MOV EAX,DWORD PTR DS:[5F7574]
    43. 005E22A4  |.  59            POP ECX
    44. 005E22A5  |.  E8 FE1EFAFF   CALL mailer.005841A8
    45. 005E22AA  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
    46. 005E22AD  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    47. 005E22B2  |.  E8 7562F5FF   CALL mailer.0053852C
    48. 005E22B7  |.  8B45 E0       MOV EAX,DWORD PTR SS:[EBP-20]
    49. 005E22BA  |.  50            PUSH EAX
    50. 005E22BB  |.  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]
    51. 005E22BE  |.  B8 10245E00   MOV EAX,mailer.005E2410                  ;  ac9e95bc9f9ba9819d8eab95
    52. 005E22C3  |.  E8 1C63F5FF   CALL mailer.005385E4
    53. 005E22C8  |.  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]
    54. 005E22CB  |.  50            PUSH EAX
    55. 005E22CC  |.  8D55 D8       LEA EDX,DWORD PTR SS:[EBP-28]
    56. 005E22CF  |.  B8 D4235E00   MOV EAX,mailer.005E23D4                  ;  be828b999a8c9f88b1a0848e9f829e828b99b1a9bfa0bfbeb5
    57. 005E22D4  |.  E8 0B63F5FF   CALL mailer.005385E4
    58. 005E22D9  |.  8B55 D8       MOV EDX,DWORD PTR SS:[EBP-28]
    59. 005E22DC  |.  A1 74755F00   MOV EAX,DWORD PTR DS:[5F7574]
    60. 005E22E1  |.  59            POP ECX
    61. 005E22E2  |.  E8 0520FAFF   CALL mailer.005842EC
    62. 005E22E7  |.  837D F4 00    CMP DWORD PTR SS:[EBP-C],0
    63. 005E22EB  |.  75 44         JNZ SHORT mailer.005E2331
    64. 005E22ED  |.  E8 72BBE2FF   CALL mailer.0040DE64
    65. 005E22F2  |.  83C4 F4       ADD ESP,-0C
    66. 005E22F5  |.  DB3C24        FSTP TBYTE PTR SS:[ESP]                  ; |
    67. 005E22F8  |.  9B            WAIT                                     ; |
    68. 005E22F9  |.  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]            ; |
    69. 005E22FC  |.  E8 F3B2E2FF   CALL mailer.0040D5F4                     ; \mailer.0040D5F4
    70. 005E2301  |.  8B45 D4       MOV EAX,DWORD PTR SS:[EBP-2C]
    71. 005E2304  |.  50            PUSH EAX
    72. 005E2305  |.  8D55 D0       LEA EDX,DWORD PTR SS:[EBP-30]
    73. 005E2308  |.  B8 B4235E00   MOV EAX,mailer.005E23B4                  ;  b99e9da78684ba9a97b78e
    74. 005E230D  |.  E8 D262F5FF   CALL mailer.005385E4
    75. 005E2312  |.  8B45 D0       MOV EAX,DWORD PTR SS:[EBP-30]
    76. 005E2315  |.  50            PUSH EAX
    77. 005E2316  |.  8D55 CC       LEA EDX,DWORD PTR SS:[EBP-34]
    78. 005E2319  |.  B8 D4235E00   MOV EAX,mailer.005E23D4                  ;  be828b999a8c9f88b1a0848e9f829e828b99b1a9bfa0bfbeb5
    79. 005E231E  |.  E8 C162F5FF   CALL mailer.005385E4
    80. 005E2323  |.  8B55 CC       MOV EDX,DWORD PTR SS:[EBP-34]
    81. 005E2326  |.  A1 74755F00   MOV EAX,DWORD PTR DS:[5F7574]
    82. 005E232B  |.  59            POP ECX
    83. 005E232C  |.  E8 BB1FFAFF   CALL mailer.005842EC
    84. 005E2331  |>  6A 40         PUSH 40
    85. 005E2333  |.  B9 2C245E00   MOV ECX,mailer.005E242C                  ;  information
    86. 005E2338  |.  BA 38245E00   MOV EDX,mailer.005E2438                  ;  registration has been completed successfully!
    87. 005E233D  |.  A1 80FF5E00   MOV EAX,DWORD PTR DS:[5EFF80]
    88. 005E2342  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    89. 005E2344  |.  E8 9F5AEAFF   CALL mailer.00487DE8
    90. 005E2349  |.  EB 22         JMP SHORT mailer.005E236D
    91. 005E234B  |>  B8 6C755F00   MOV EAX,mailer.005F756C
    92. 005E2350  |.  E8 7B32E2FF   CALL mailer.004055D0
    93. 005E2355  |.  6A 10         PUSH 10
    94. 005E2357  |.  B9 68245E00   MOV ECX,mailer.005E2468                  ;  error
    95. 005E235C  |.  BA 70245E00   MOV EDX,mailer.005E2470                  ;  registration code is invalid!
    96. 005E2361  |.  A1 80FF5E00   MOV EAX,DWORD PTR DS:[5EFF80]
    97. 005E2366  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    98. 005E2368  |.  E8 7B5AEAFF   CALL mailer.00487DE8
    99. 005E236D  |>  33C0          XOR EAX,EAX
    100. 005E236F  |.  5A            POP EDX
    101. 005E2370  |.  59            POP ECX
    102. 005E2371  |.  59            POP ECX
    103. 005E2372  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    104. 005E2375  |.  68 A4235E00   PUSH mailer.005E23A4
    105. 005E237A  |>  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
    106. 005E237D  |.  BA 08000000   MOV EDX,8
    107. 005E2382  |.  E8 6D32E2FF   CALL mailer.004055F4
    108. 005E2387  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    109. 005E238A  |.  E8 4132E2FF   CALL mailer.004055D0
    110. 005E238F  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    111. 005E2392  |.  BA 02000000   MOV EDX,2
    112. 005E2397  |.  E8 5832E2FF   CALL mailer.004055F4
    113. 005E239C  \.  C3            RETN
    114. 005E239D   .^ E9 1E2AE2FF   JMP mailer.00404DC0
    115. 005E23A2   .^ EB D6         JMP SHORT mailer.005E237A
    116. 005E23A4   .  8A45 FB       MOV AL,BYTE PTR SS:[EBP-5]
    117. 005E23A7   .  8BE5          MOV ESP,EBP
    118. 005E23A9   .  5D            POP EBP
    119. 005E23AA   .  C3            RETN
    120. ==============================================================
    121. 005E1F74  /$  55            PUSH EBP
    122. 005E1F75  |.  8BEC          MOV EBP,ESP
    123. 005E1F77  |.  83C4 F0       ADD ESP,-10
    124. 005E1F7A  |.  33C0          XOR EAX,EAX
    125. 005E1F7C  |.  8945 F8       MOV DWORD PTR SS:[EBP-8],EAX
    126. 005E1F7F  |.  C645 FF 00    MOV BYTE PTR SS:[EBP-1],0
    127. 005E1F83  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    128. 005E1F88  |.  8945 F4       MOV DWORD PTR SS:[EBP-C],EAX
    129. 005E1F8B  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
    130. 005E1F8E  |.  8945 F0       MOV DWORD PTR SS:[EBP-10],EAX
    131. 005E1F91  |.  837D F0 00    CMP DWORD PTR SS:[EBP-10],0
    132. 005E1F95  |.  74 0B         JE SHORT mailer.005E1FA2                 ;  //若试练码为空则跳
    133. 005E1F97  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
    134. 005E1F9A  |.  83E8 04       SUB EAX,4
    135. 005E1F9D  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    136. 005E1F9F  |.  8945 F0       MOV DWORD PTR SS:[EBP-10],EAX
    137. 005E1FA2  |>  837D F0 0E    CMP DWORD PTR SS:[EBP-10],0E
    138. 005E1FA6  |.  0F85 85000000 JNZ mailer.005E2031                      ;  //若试练码非14位则跳
    139. 005E1FAC  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]            ;  //试练码地址
    140. 005E1FB1  |.  8038 31       CMP BYTE PTR DS:[EAX],31                 ;  //试练码第1位与"1"比较
    141. 005E1FB4  |.  0F94C0        SETE AL                                  ;  //条件为假 FALSE,置0;条件为真 TRUE,置1
    142. 005E1FB7  |.  83E0 7F       AND EAX,7F
    143. 005E1FBA  |.  0145 F8       ADD DWORD PTR SS:[EBP-8],EAX             ;  //累加
    144. 005E1FBD  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    145. 005E1FC2  |.  8078 02 39    CMP BYTE PTR DS:[EAX+2],39               ;  //试练码第3位与"9"比较
    146. 005E1FC6  |.  0F94C0        SETE AL
    147. 005E1FC9  |.  83E0 7F       AND EAX,7F
    148. 005E1FCC  |.  0145 F8       ADD DWORD PTR SS:[EBP-8],EAX
    149. 005E1FCF  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    150. 005E1FD4  |.  8078 03 33    CMP BYTE PTR DS:[EAX+3],33               ;  //试练码第4位与"3"比较
    151. 005E1FD8  |.  0F94C0        SETE AL
    152. 005E1FDB  |.  83E0 7F       AND EAX,7F
    153. 005E1FDE  |.  0145 F8       ADD DWORD PTR SS:[EBP-8],EAX
    154. 005E1FE1  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    155. 005E1FE6  |.  8078 04 35    CMP BYTE PTR DS:[EAX+4],35               ;  //试练码第5位与"5"比较
    156. 005E1FEA  |.  0F94C0        SETE AL
    157. 005E1FED  |.  83E0 7F       AND EAX,7F
    158. 005E1FF0  |.  0145 F8       ADD DWORD PTR SS:[EBP-8],EAX
    159. 005E1FF3  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    160. 005E1FF8  |.  8078 07 39    CMP BYTE PTR DS:[EAX+7],39               ;  //试练码第8位与"9"比较
    161. 005E1FFC  |.  0F94C0        SETE AL
    162. 005E1FFF  |.  83E0 7F       AND EAX,7F
    163. 005E2002  |.  0145 F8       ADD DWORD PTR SS:[EBP-8],EAX
    164. 005E2005  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    165. 005E200A  |.  8078 08 34    CMP BYTE PTR DS:[EAX+8],34               ;  //试练码第9位与"4"比较
    166. 005E200E  |.  0F94C0        SETE AL
    167. 005E2011  |.  83E0 7F       AND EAX,7F
    168. 005E2014  |.  0145 F8       ADD DWORD PTR SS:[EBP-8],EAX
    169. 005E2017  |.  A1 6C755F00   MOV EAX,DWORD PTR DS:[5F756C]
    170. 005E201C  |.  8078 0A 30    CMP BYTE PTR DS:[EAX+A],30               ;  //试练码第11位与"0"比较
    171. 005E2020  |.  0F94C0        SETE AL
    172. 005E2023  |.  83E0 7F       AND EAX,7F
    173. 005E2026  |.  0145 F8       ADD DWORD PTR SS:[EBP-8],EAX
    174. 005E2029  |.  837D F8 07    CMP DWORD PTR SS:[EBP-8],7               ;  //比较累加值是否是7,即这7个数是否都正确
    175. 005E202D  |.  0F9445 FF     SETE BYTE PTR SS:[EBP-1]                 ;  //条件为假 FALSE,置0;条件为真 TRUE,置1
    176. 005E2031  |>  8A45 FF       MOV AL,BYTE PTR SS:[EBP-1]               ;  //AL=[EBP-1]
    177. 005E2034  |.  8BE5          MOV ESP,EBP
    178. 005E2036  |.  5D            POP EBP
    179. 005E2037  \.  C3            RETN
    复制代码
    **************************************************************  
    【破解总结】
    和固定注册码差不多,适合像我这样的小菜鸟练习
    --------------------------------------------------------------
    【算法总结】
    1、注册码长度为14
    2、注册码第1位必须为"1";第3位必须为"9";第4位必须为"3";第5位必须为"5";第8位必须为"9";第9位必须为"4";第11位必须为"0"
    --------------------------------------------------------------
    【算法注册机
    Private Sub Command1_Click()
    Dim a1, a2, a3, a4, a5, a6, a7
    a1 = Int(Rnd() * 10)
    a2 = Int(Rnd() * 10)
    a3 = Int(Rnd() * 10)
    a4 = Int(Rnd() * 10)
    a5 = Int(Rnd() * 10)
    a6 = Int(Rnd() * 10)
    a7 = Int(Rnd() * 10)
    Text1.Text = "1" & a1 & "9" & "3" & "5" & a2 & a3 & "9" & "4" & a4 & "0" & a5 & a6 & a7
    End Sub
    --------------------------------------------------------------
    【注册信息】
    注册码:1*935**94*0***   (星号任意)
    --------------------------------------------------------------
    感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
    --------------------------------------------------------------
    【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

    评分

    参与人数 1威望 +40 飘云币 +80 收起 理由
    hj2008mt + 40 + 80 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-19 10:28:53 | 显示全部楼层
    向楼主学习算法分析。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2008-4-19 11:40:44 | 显示全部楼层
    强烈支持一下哦/:001
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2008-4-19 11:43:39 | 显示全部楼层
    学习,写得不错,适合我这样的菜鸟学习
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-19 14:06:03 | 显示全部楼层
    /:001  把软件找来看看
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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