ZHOU2X 发表于 2006-8-25 10:30:01

木马终结者 v2.1 注册算法分析

【破文标题】木马终结者 v2.1 注册算法分析
【破文作者】ZHOU2X
【破解工具】PEID,OD,W32Dasm
【破解平台】WinXP sp2
【软件名称】木马终结者 v2.1
【软件大小】242KB
【原版下载】本地下载
【保护方式】注册名,注册码
【软件简介】特洛伊木马病毒一种破坏力十分强的黑客病毒,你只要中了毒,你的计算机将被黑客控制,你的资料(所有帐号密码)也将被泄漏出去。木马终结者2.1是所有特洛伊木马病毒的克星,是一个专门防制特洛伊木马病毒的防毒软件,即使是最新出现的或者将要出现的类似病毒,总之是利用特洛伊木马病毒的原理的黑客病毒,都逃不过他的法眼,免除了其它防特洛伊木马病毒软件出现新的木马病毒后要更新或失效的麻烦,你也再不用担心你的网络安全,因此也是木马终结的时代了!
------------------------------------------------------------------------
先用PEiD 0.92侦测,ASPack 2.1 -> Alexey Solodovnikov,ESP定律轻松脱壳
试运行,有注册提示消息,过程中有弹出广告
点主窗口“注册”,输入姓名:ZHOU2X,试炼码:987654
在 0046BC1C 处下断,然后一路 F8,分析代码如下:

0046BC1C/.55             push ebp
0046BC1D|.8BEC         mov ebp,esp
0046BC1F|.33C9         xor ecx,ecx
0046BC21|.51             push ecx
0046BC22|.51             push ecx
0046BC23|.51             push ecx
0046BC24|.51             push ecx
0046BC25|.51             push ecx
0046BC26|.51             push ecx
0046BC27|.53             push ebx
0046BC28|.56             push esi
0046BC29|.8945 FC      mov ,eax
0046BC2C|.33C0         xor eax,eax
0046BC2E|.55             push ebp
0046BC2F|.68 D5BD4600    push 1_.0046BDD5
0046BC34|.64:FF30      push dword ptr fs:
0046BC37|.64:8920      mov dword ptr fs:,esp
0046BC3A|.33DB         xor ebx,ebx
0046BC3C|.8D55 F8      lea edx,
0046BC3F|.8B45 FC      mov eax,
0046BC42|.8B80 C4020000mov eax,dword ptr ds:
0046BC48|.E8 1751FCFF    call 1_.00430D64
0046BC4D|.8B45 F8      mov eax,
0046BC50|.E8 AF7FF9FF    call 1_.00403C04
0046BC55|.8BF0         mov esi,eax
0046BC57|.85F6         test esi,esi
0046BC59|.7E 39          jle short 1_.0046BC94
0046BC5B|.C745 F4 010000>mov ,1
0046BC62|>8D45 F0      /lea eax,
0046BC65|.50             |push eax
0046BC66|.B9 01000000    |mov ecx,1
0046BC6B|.8B55 F4      |mov edx,
0046BC6E|.8B45 F8      |mov eax,
0046BC71|.E8 9281F9FF    |call 1_.00403E08
0046BC76|.8B45 F0      |mov eax,
0046BC79|.E8 4A81F9FF    |call 1_.00403DC8
0046BC7E|.8A00         |mov al,byte ptr ds:
0046BC80|.25 FF000000    |and eax,0FF                        ;逐位提取注册名的代码到 eax
0046BC85|.69C0 FE020000|imul eax,eax,2FE                     ;eax=eax*2FE
0046BC8B|.03D8         |add ebx,eax                        ;ebx=ebx+eax
0046BC8D|.43             |inc ebx                              ;ebx=ebx+1
0046BC8E|.FF45 F4      |inc                         ;记数器
0046BC91|.4E             |dec esi                              ;记数器
0046BC92|.^ 75 CE          \jnz short 1_.0046BC62                ;循环
0046BC94|>8D55 EC      lea edx,
0046BC97|.8B45 FC      mov eax,
0046BC9A|.8B80 C8020000mov eax,dword ptr ds:
0046BCA0|.E8 BF50FCFF    call 1_.00430D64
0046BCA5|.8B45 EC      mov eax,
0046BCA8|.50             push eax
0046BCA9|.8D55 F0      lea edx,
0046BCAC|.8BC3         mov eax,ebx
0046BCAE|.E8 05C3F9FF    call 1_.00407FB8
0046BCB3|.8B55 F0      mov edx,
0046BCB6|.58             pop eax
0046BCB7|.E8 5880F9FF    call 1_.00403D14
0046BCBC|.0F85 B4000000jnz 1_.0046BD76                     ;注册码错误则跳走,下面是往注册表写注册信息
0046BCC2|.B2 01          mov dl,1
0046BCC4|.A1 28324500    mov eax,dword ptr ds:
0046BCC9|.E8 0677FEFF    call 1_.004533D4
0046BCCE|.8BF0         mov esi,eax
0046BCD0|.BA 01000080    mov edx,80000001
0046BCD5|.8BC6         mov eax,esi
0046BCD7|.E8 9077FEFF    call 1_.0045346C
0046BCDC|.B1 01          mov cl,1
0046BCDE|.BA ECBD4600    mov edx,1_.0046BDEC                   ;ASCII "\Software\"
0046BCE3|.8BC6         mov eax,esi
0046BCE5|.E8 DE78FEFF    call 1_.004535C8
0046BCEA|.84C0         test al,al
0046BCEC|.74 0C          je short 1_.0046BCFA
0046BCEE|.BA 00BE4600    mov edx,1_.0046BE00                   ;ASCII "Notojan2"
0046BCF3|.8BC6         mov eax,esi
0046BCF5|.E8 DA77FEFF    call 1_.004534D4
0046BCFA|>B1 01          mov cl,1
0046BCFC|.BA 14BE4600    mov edx,1_.0046BE14                   ;ASCII "\Software\Notojan2\"
0046BD01|.8BC6         mov eax,esi
0046BD03|.E8 C078FEFF    call 1_.004535C8
0046BD08|.84C0         test al,al
0046BD0A|.74 0C          je short 1_.0046BD18
0046BD0C|.BA 30BE4600    mov edx,1_.0046BE30                   ;ASCII "reg"
0046BD11|.8BC6         mov eax,esi
0046BD13|.E8 BC77FEFF    call 1_.004534D4
0046BD18|>B1 01          mov cl,1
0046BD1A|.BA 3CBE4600    mov edx,1_.0046BE3C                   ;ASCII "\Software\Notojan2\reg\"
0046BD1F|.8BC6         mov eax,esi
0046BD21|.E8 A278FEFF    call 1_.004535C8
0046BD26|.84C0         test al,al
0046BD28|.74 31          je short 1_.0046BD5B
0046BD2A|.8D55 EC      lea edx,
0046BD2D|.8B45 FC      mov eax,
0046BD30|.8B80 C8020000mov eax,dword ptr ds:
0046BD36|.E8 2950FCFF    call 1_.00430D64
0046BD3B|.8B45 EC      mov eax,
0046BD3E|.50             push eax
0046BD3F|.8D55 E8      lea edx,
0046BD42|.8B45 FC      mov eax,
0046BD45|.8B80 C4020000mov eax,dword ptr ds:
0046BD4B|.E8 1450FCFF    call 1_.00430D64
0046BD50|.8B55 E8      mov edx,
0046BD53|.8BC6         mov eax,esi
0046BD55|.59             pop ecx
0046BD56|.E8 297AFEFF    call 1_.00453784
0046BD5B|>8BC6         mov eax,esi
0046BD5D|.E8 DA76FEFF    call 1_.0045343C
0046BD62|.B8 5CBE4600    mov eax,1_.0046BE5C
0046BD67|.E8 8865FEFF    call 1_.004522F4
0046BD6C|.A1 E04A4700    mov eax,dword ptr ds:
0046BD71|.E8 32E1FDFF    call 1_.00449EA8
0046BD76|>8D55 EC      lea edx,
0046BD79|.8B45 FC      mov eax,
0046BD7C|.8B80 C8020000mov eax,dword ptr ds:
0046BD82|.E8 DD4FFCFF    call 1_.00430D64
0046BD87|.8B45 EC      mov eax,
0046BD8A|.50             push eax
0046BD8B|.8D55 F0      lea edx,
0046BD8E|.8BC3         mov eax,ebx
0046BD90|.E8 23C2F9FF    call 1_.00407FB8
0046BD95|.8B55 F0      mov edx,
0046BD98|.58             pop eax
0046BD99|.E8 767FF9FF    call 1_.00403D14
0046BD9E|.74 0A          je short 1_.0046BDAA
0046BDA0|.B8 78BE4600    mov eax,1_.0046BE78
0046BDA5|.E8 4A65FEFF    call 1_.004522F4
0046BDAA|>33C0         xor eax,eax
0046BDAC|.5A             pop edx
0046BDAD|.59             pop ecx
0046BDAE|.59             pop ecx
0046BDAF|.64:8910      mov dword ptr fs:,edx
0046BDB2|.68 DCBD4600    push 1_.0046BDDC
0046BDB7|>8D45 E8      lea eax,
0046BDBA|.BA 02000000    mov edx,2
0046BDBF|.E8 E87BF9FF    call 1_.004039AC
0046BDC4|.8D45 F0      lea eax,
0046BDC7|.E8 BC7BF9FF    call 1_.00403988
0046BDCC|.8D45 F8      lea eax,
0046BDCF|.E8 B47BF9FF    call 1_.00403988
0046BDD4\.C3             ret

------------------------------------------------------------------------
算法比较简单:逐位提取注册名的代码*2FE+1,再累加,其十进制值就是注册码
E语言注册机源码

.版本 2

.程序集 窗口程序集1

.子程序 _按钮1_被单击
.局部变量 Name, 文本型
.局部变量 len, 整数型
.局部变量 times, 整数型
.局部变量 code, 字节型
.局部变量 SN, 整数型

Name = 编辑框1.内容
len = 取文本长度 (Name)
.计次循环首 (len, times)
    code = 取代码 (Name, times)
    SN = SN + code × 766 + 1
.计次循环尾 ()
编辑框2.内容 = 到文本 (SN)


Name:ZHOU2X
SN:355430

BTW:“木马终结者 v2.1”使用逐个扫描端口方式监测系统,个人觉得那是“劳命伤财”的事,汗……
在《黑客X档案》2004.5光盘中看到用“Game Expert”软件另类破解“木马终结者 v2.1”的Flash动画,有兴趣的可以看下;“木马终结者 v2.1”原程序也是在此光盘中获取的。
------------------------------------------------------------------------
【版权声明】本文纯属技术交流,转载请注明作者并保持文章的完整,谢谢!

[ 本帖最后由 ZHOU2X 于 2006-8-25 10:33 编辑 ]

寒湖鹤影 发表于 2006-8-25 12:25:35

好文,学习了

bfqyygy 发表于 2006-8-25 15:48:32

算法分析。学习了!

tigerisme 发表于 2006-8-25 19:13:44

好文章,学习了!:victory:
0046BCBC
0046BD9E 是爆破点!

[ 本帖最后由 tigerisme 于 2006-8-25 19:16 编辑 ]

qq263 发表于 2006-8-25 22:37:47

学习了。。。支持下楼主

傲月游居 发表于 2006-8-30 14:11:22

不错.学习下.
页: [1]
查看完整版本: 木马终结者 v2.1 注册算法分析