• 标 题:破解 Active Send Mail (邮件群发器) 2.6 (Build 2601) - 我第一次用TRW追出了注册码啊!:) (7千字)
  • 作 者:炎之川
  • 时 间:2001-12-9 20:12:17
  • 链 接:http://bbs.pediy.com

破解 Active Send Mail (邮件群发器) 2.6 (Build 2601)


软件名称:Active Send Mail (邮件群发器) 2.6(Build 2601)
文件大小:1140KB
软件授权:共享软件
使用平台:Win9x/Me/NT/2000
发布公司:http://www.co-top.com/
软件简介:这是一个用来发垃圾邮件的工具....
未注册版本限制: 发送的垃圾邮件中均附带软件的宣传连接

原版软件下载: http://www.csdn.net/soft/openfile.asp?kind=1&id=14633 (CSDN)
              http://www.co-top.com/download/sndmail.exe (官方网站)

破解工具:TRW2000 1.22 汉化增强版、w32dasm 中文黄金版


很早以前我爆破过这个软件的旧版本,记得只要改半个字节就可以爆破成功,今天找新版本来开刀吧!:)
这也是我第一次成功用 TRW 追出了软件的注册码(高手们不要笑我啊),相对于我在看雪论坛这里贴的前两篇破文,应该有了一点点进步吧!:)

软件的注册形式是给你一个机器码,然后注册后会发给你对应机器码的注册码。

破解过程:

1. 运行软件,关于/注册,在这里可以看到我的机器码“EM613060620347XU”,随便填入注册码“78787878”。
2. 按 Ctrl+N 激活 TRW,
  输入  bpx hmemcpy  <---- 下万能断点 hmemcpy
  输入  g            <---- 把控制权还给程序,程序继续运行
  这时返回到注册窗口,点击“注册”按钮,马上被 TRW 拦截下来了,这时在屏幕下方可以看到: Break on BP1,说明拦截成功。
  输入  bc *        <---- 清除断点
  输入  pmodule

  接下来按41次 F10(42 次时跳出注册失败的提示)后若干次 F12,来到下面 (trw 抓取屏幕的方法我还没搞清楚,先用w32dasm 反汇编出来的代替吧!):

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004C5C87(C)
|
:004C5CDB 8B55F0                  mov edx, dword ptr [ebp-10]
:004C5CDE 8D45F8                  lea eax, dword ptr [ebp-08]
:004C5CE1 E8A2EAF3FF              call 00404788
:004C5CE6 8D55E8                  lea edx, dword ptr [ebp-18]
:004C5CE9 8B83FC020000            mov eax, dword ptr [ebx+000002FC]
:004C5CEF E8500EF8FF              call 00446B44
:004C5CF4 8B45E8                  mov eax, dword ptr [ebp-18]
:004C5CF7 8D55EC                  lea edx, dword ptr [ebp-14]
:004C5CFA E80530F4FF              call 00408D04
:004C5CFF 8B55EC                  mov edx, dword ptr [ebp-14]
:004C5D02 8B45F8                  mov eax, dword ptr [ebp-08]
:004C5D05 E8E2EDF3FF              call 00404AEC              <------ 在这个call里比较注册码,F8跟进去...
:004C5D0A 7536                    jne 004C5D42              <------ 如果输入的注册码与正确的不等,则
                                                                    弹出错误提示,此处改 je 004C5D42
                                                                    即可爆破成功!

* Possible StringData Ref from Code Obj ->"注册成功"
                                  |
:004C5D0C B8A85D4C00              mov eax, 004C5DA8
:004C5D11 E8BE97F7FF              call 0043F4D4
:004C5D16 8B45F8                  mov eax, dword ptr [ebp-08]
:004C5D19 50                      push eax
:004C5D1A 8D45E4                  lea eax, dword ptr [ebp-1C]
:004C5D1D E876C6FEFF              call 004B2398
:004C5D22 8B45E4                  mov eax, dword ptr [ebp-1C]

* Possible StringData Ref from Code Obj ->"RegistNo"
                                  |
:004C5D25 B9BC5D4C00              mov ecx, 004C5DBC

* Possible StringData Ref from Code Obj ->"Regist"
                                  |
:004C5D2A BAD05D4C00              mov edx, 004C5DD0
:004C5D2F E8C0C3FEFF              call 004B20F4

* Possible StringData Ref from Code Obj ->"已经注册"
                                  |
:004C5D34 BAE05D4C00              mov edx, 004C5DE0
:004C5D39 8BC3                    mov eax, ebx
:004C5D3B E8340EF8FF              call 00446B74
:004C5D40 EB18                    jmp 004C5D5A

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004C5D0A(C)                                             
|

* Possible StringData Ref from Code Obj ->"注册码错误!"
                                  |
:004C5D42 B8F45D4C00              mov eax, 004C5DF4
:004C5D47 E88897F7FF              call 0043F4D4
:004C5D4C 8B83FC020000            mov eax, dword ptr [ebx+000002FC]
:004C5D52 8B10                    mov edx, dword ptr [eax]
:004C5D54 FF92C0000000            call dword ptr [edx+000000C0]


按 F8 进入 call 00404AEC:

* Referenced by a CALL at Addresses:
|:00418563  , :0041F00E  , :0041FE0F  , :004259D1  , :00426E34 
|:00434E5C  , :004459AE  , :00445A3C  , :00445B92  , :00446969 
|:00446B9C  , :00448AAB  , :00452E8F  , :0045363B  , :004538C9 
|:0045398B  , :00453B09  , :00456D15  , :0045719F  , :0045725E 
|:004576D2  , :0045791B  , :00458193  , :00458B99  , :00458D4F 
|:004599C1  , :00459BA3  , :00459F7F  , :00467C73  , :0046B6D1 
|:0046B7B5  , :0046CB48  , :0046CB6D  , :0046CC68  , :0046CCC9 
|:0046F5C3  , :0047C677  , :0047CAB6  , :0047E313  , :0047ECA3 
|:0047F09C  , :00480DEE  , :00496769  , :004A7E1D  , :004A7FD8 
|:004A94D2  , :004A9578  , :004A95BC  , :004A9EE4  , :004A9F07 
|:004A9F15  , :004C5D05  , :004C5E9E  , :004CCBB2  , :004CCBC5 
|:004CD150  , :004CD1DF  , :004CD3A1  , :004CD658  , :004CE992 
|:004CEA5C  , :004CEB03  , :004CFBFE  , :004CFC25  , :004D2EF1 
|:004D2F26  , :004D3902  , :004D3A25  , :004D5C32  , :004D61B3 
|:004D676F  , :004D69DA  , :004D71D6  , :004D728A  , :004D7CD9 
|:004D7CFE  , :004D99B2  , :004DC3AE  , :004DC9C9  , :004DDFF6 
|:004DE01A 
|
:00404AEC 53                      push ebx      <----- 进入后光棒停在这里,往下走
:00404AED 56                      push esi
:00404AEE 57                      push edi
:00404AEF 89C6                    mov esi, eax 
:00404AF1 89D7                    mov edi, edx 
:00404AF3 39D0                    cmp eax, edx  <----- 比较 eax 与 edx 是否相等,经典啊!
:00404AF5 0F848F000000            je 00404B8A
:00404AFB 85F6                    test esi, esi
:00404AFD 7468                    je 00404B67
:00404AFF 85FF                    test edi, edi
:00404B01 746B                    je 00404B6E
:00404B03 8B46FC                  mov eax, dword ptr [esi-04]
:00404B06 8B57FC                  mov edx, dword ptr [edi-04]
:00404B09 29D0                    sub eax, edx
:00404B0B 7702                    ja 00404B0F
:00404B0D 01C2                    add edx, eax

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404B0B(C)
|
:00404B0F 52                      push edx
:00404B10 C1EA02                  shr edx, 02
:00404B13 7426                    je 00404B3B


在 ":00404AF3 39D0      cmp eax, edx"  处,下 d eax 即可得正确的注册码“V?GHDGGGGIAJENPG”,下 d edx,可以在内存区看到我输入的假注册码“78787878”.

至此软件破解完成,我的注册码为:
机器码:EM613060620347XU
注册码:V?GHDGGGGIAJENPG

用软件给自己的几个信箱发送了一下邮件,软件的宣传链接已经没有了,说明找到的注册码是正确的。

注册信息保存在生成的 System.snm 文件中(文本格式)。


3. 制作另类注册机
打开 注册机编写器 1.4,选择菜单“其它”->“另类注册机”,在弹出的设置框中,进行如下设置:
a.按“浏览”按钮,选择主程序文件 sndmail.exe
b.按下方“添加”铵钮,添加如下数据:

    地址一
    中断地址: 4C5D05
    中断次数: 1
    第一字节: E8
    指令长度: 5

    地址二
    中断地址: 404AF3
    中断次数: 1
    第一字节: 39
    指令长度: 2

c.在右边注册码选项中选择“内存方式”,并选中下面的单选框,选择eax
d.设置用户信息
e.按“生成”,输入生成的EXE文件名




                                                            炎之川 于 2001.12.9
                                                            emali: skipli@sina.com
                                                            QQ: 6148025