Advanced Emailer 2.1 簡單演算法分析+序號產生器原始碼(tc2)
Advanced Emailer 2.1 簡單註冊演算法分析+序號產生器原始碼(tc2)
破解目標:Advanced
Emailer 2.1
官方主頁:http://www.emailarms.com/
軟體簡介:好像是發垃圾郵件的工具
下載地址:http://www.emailarms.com/downloads/zip/mailer.zip
使用工具:PEiD 0.8、Ollydbg
作者:炎之川[BCG]
時間:2003.5.11
主頁:http://skipli.yeah.net/
========================================================================
宣告:
本文純屬技術交流,無其他任何目的,轉載請註明作者並保持文章的完整。
========================================================================
印象中,論壇上曾經有朋友問過這軟體(或者是同一軟體公司的其他某個軟體),順便看看……
經過
PEiD 檢查,主程式沒加殼,Delphi 寫的。用 OD 裝入程式,中間可能會有幾次異常,按 Shift+F9 跳過。輸入假碼:01234567890123
(14位):
(; 後是 Ollydbg 所分析的內容,// 後是我加的註釋,文中數值均為十六進位制值)
00508920
/$ 55 PUSH EBP //斷點
00508921
|. 8BEC MOV EBP,ESP
00508923 |.
B9 05000000 MOV ECX,5
00508928 |> 6A 00
/PUSH 0
0050892A |. 6A 00
|PUSH 0
0050892C |. 49
|DEC ECX
0050892D |.^75 F9 \JNZ SHORT
mailer.00508928
0050892F |. 51
PUSH ECX
00508930 |. 53 PUSH
EBX
00508931 |. 56 PUSH ESI
00508932
|. 8BF0 MOV ESI,EAX
00508934 |.
33C0 XOR EAX,EAX
00508936 |. 55
PUSH EBP
00508937 |. 68 A18A5000
PUSH mailer.00508AA1
0050893C |. 64:FF30 PUSH
DWORD PTR FS:[EAX]
0050893F |. 64:8920 MOV
DWORD PTR FS:[EAX],ESP
00508942 |. 8D55 F4 LEA
EDX,DWORD PTR SS:[EBP-C]
00508945 |. 8B86 3C030000 MOV EAX,DWORD
PTR DS:[ESI+33C]
0050894B |. E8 448FF4FF CALL mailer.00451894
00508950
|. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
//取假碼
00508953 |. 8D55 F8 LEA EDX,DWORD PTR
SS:[EBP-8]
00508956 |. E8 5D79FCFF CALL mailer.004D02B8
0050895B
|. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
0050895E
|. B8 54725400 MOV EAX,mailer.00547254
00508963 |.
E8 28C1EFFF CALL mailer.00404A90
00508968 |. E8 93FDFFFF
CALL mailer.00508700 //關鍵call
0050896D |. 8BD8
MOV EBX,EAX //ebx=eax
0050896F |.
84DB TEST BL,BL //bl=0?
00508971
|. 0F84 D8000000 JE mailer.00508A4F //bl=0 就死啦
00508977
|. C686 5C030000 >MOV BYTE PTR DS:[ESI+35C],1
0050897E |. 8D45
FC LEA EAX,DWORD PTR SS:[EBP-4]
00508981 |.
50 PUSH EAX
00508982 |. 8D55
F0 LEA EDX,DWORD PTR SS:[EBP-10]
00508985 |.
B8 B88A5000 MOV EAX,mailer.00508AB8
; ASCII "B99E9DA78684BA9A97B78E"
0050898A
|. E8 A186FCFF CALL mailer.004D1030
0050898F |. 8B45
F0 MOV EAX,DWORD PTR SS:[EBP-10]
00508992 |.
50 PUSH EAX
00508993 |. 8D55
EC LEA EDX,DWORD PTR SS:[EBP-14]
00508996 |.
B8 D88A5000 MOV EAX,mailer.00508AD8
; ASCII "BE828B999A8C9F88B1A0848E9F829E828B99B1A9BFA0BFBEB5"
0050899B
|. E8 9086FCFF CALL mailer.004D1030
005089A0 |. 8B55
EC MOV EDX,DWORD PTR SS:[EBP-14]
005089A3 |.
A1 5C725400 MOV EAX,DWORD PTR DS:[54725C]
005089A8 |. 59
POP ECX
005089A9 |. E8 CEF4FFFF
CALL mailer.00507E7C
005089AE |. 8D55 E8
LEA EDX,DWORD PTR SS:[EBP-18]
005089B1 |. A1 54725400 MOV
EAX,DWORD PTR DS:[547254]
005089B6 |. E8 D985FCFF CALL mailer.004D0F94
005089BB
|. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
005089BE
|. 50 PUSH EAX
005089BF |.
8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
005089C2 |.
B8 148B5000 MOV EAX,mailer.00508B14
; ASCII "AC9E95BC9F9BA9819D8EAB95"
005089C7
|. E8 6486FCFF CALL mailer.004D1030
005089CC |. 8B45
E4 MOV EAX,DWORD PTR SS:[EBP-1C]
005089CF |.
50 PUSH EAX
005089D0 |. 8D55
E0 LEA EDX,DWORD PTR SS:[EBP-20]
005089D3 |.
B8 D88A5000 MOV EAX,mailer.00508AD8
; ASCII "BE828B999A8C9F88B1A0848E9F829E828B99B1A9BFA0BFBEB5"
005089D8
|. E8 5386FCFF CALL mailer.004D1030
005089DD |. 8B55
E0 MOV EDX,DWORD PTR SS:[EBP-20]
005089E0 |.
A1 5C725400 MOV EAX,DWORD PTR DS:[54725C]
005089E5 |. 59
POP ECX
005089E6 |. E8 D1F5FFFF
CALL mailer.00507FBC
005089EB |. 837D FC 00
CMP DWORD PTR SS:[EBP-4],0
005089EF |. 75 44
JNZ SHORT mailer.00508A35
005089F1 |. E8 7E2DF0FF CALL
mailer.0040B774
005089F6 |. 83C4 F4 ADD ESP,-0C
005089F9
|. DB3C24 FSTP TBYTE PTR SS:[ESP]
; |
005089FC |. 9B
WAIT
; |
005089FD |. 8D45 DC LEA EAX,DWORD
PTR SS:[EBP-24] ; |
00508A00 |.
E8 9F24F0FF CALL mailer.0040AEA4
; \mailer.0040AEA4
00508A05 |.
8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
00508A08 |.
50 PUSH EAX
00508A09 |. 8D55
D8 LEA EDX,DWORD PTR SS:[EBP-28]
00508A0C |.
B8 B88A5000 MOV EAX,mailer.00508AB8
; ASCII "B99E9DA78684BA9A97B78E"
00508A11
|. E8 1A86FCFF CALL mailer.004D1030
00508A16 |. 8B45
D8 MOV EAX,DWORD PTR SS:[EBP-28]
00508A19 |.
50 PUSH EAX
00508A1A |. 8D55
D4 LEA EDX,DWORD PTR SS:[EBP-2C]
00508A1D |.
B8 D88A5000 MOV EAX,mailer.00508AD8
; ASCII "BE828B999A8C9F88B1A0848E9F829E828B99B1A9BFA0BFBEB5"
00508A22
|. E8 0986FCFF CALL mailer.004D1030
00508A27 |. 8B55
D4 MOV EDX,DWORD PTR SS:[EBP-2C]
00508A2A |.
A1 5C725400 MOV EAX,DWORD PTR DS:[54725C]
00508A2F |. 59
POP ECX
00508A30 |. E8 87F5FFFF
CALL mailer.00507FBC
00508A35 |> 6A 40
PUSH 40
00508A37 |. B9 308B5000 MOV
ECX,mailer.00508B30 ;
ASCII "Information"
00508A3C |. BA 3C8B5000
MOV EDX,mailer.00508B3C
; ASCII "Registration has been completed successfully!"
00508A41
|. A1 AC595400 MOV EAX,DWORD PTR DS:[5459AC]
00508A46 |.
8B00 MOV EAX,DWORD PTR DS:[EAX]
00508A48
|. E8 B79DF6FF CALL mailer.00472804
00508A4D |. EB
22 JMP SHORT mailer.00508A71
00508A4F |>
B8 54725400 MOV EAX,mailer.00547254
00508A54 |. E8 E3BFEFFF
CALL mailer.00404A3C
00508A59 |. 6A 10
PUSH 10
00508A5B |. B9 6C8B5000 MOV ECX,mailer.00508B6C
; ASCII
"Error"
00508A60 |. BA 748B5000 MOV EDX,mailer.00508B74
; ASCII
"Registration code is invalid!"
00508A65 |. A1 AC595400
MOV EAX,DWORD PTR DS:[5459AC]
00508A6A |. 8B00
MOV EAX,DWORD PTR DS:[EAX]
00508A6C |. E8 939DF6FF
CALL mailer.00472804
00508A71 |> 33C0
XOR EAX,EAX
00508A73 |. 5A
POP EDX
00508A74 |. 59
POP ECX
00508A75 |. 59 POP
ECX
00508A76 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
00508A79
|. 68 A88A5000 PUSH mailer.00508AA8
00508A7E |>
8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
00508A81 |.
BA 08000000 MOV EDX,8
00508A86 |. E8 D5BFEFFF CALL
mailer.00404A60
00508A8B |. 8D45 F4 LEA EAX,DWORD
PTR SS:[EBP-C]
00508A8E |. E8 A9BFEFFF CALL mailer.00404A3C
00508A93
|. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
00508A96
|. BA 02000000 MOV EDX,2
00508A9B |. E8 C0BFEFFF
CALL mailer.00404A60
00508AA0 \. C3
RETN
------------------------------------------------------------------------
進入
00508700 的關鍵call:
00508700 /$ 53
PUSH EBX
00508701 |. 56
PUSH ESI
00508702 |. 57
PUSH EDI
00508703 |. BF 54725400 MOV EDI,mailer.00547254
00508708
|. 33F6 XOR ESI,ESI
0050870A |.
33DB XOR EBX,EBX
0050870C |. 8B07
MOV EAX,DWORD PTR DS:[EDI] //取假碼
0050870E
|. E8 E1C5EFFF CALL mailer.00404CF4 //假碼長度
00508713
|. 83F8 0E CMP EAX,0E //填入的註冊碼是否 14 位(0x0E
= 14)
00508716 |. 75 67 JNZ SHORT mailer.0050877F
//不是就死
00508718 |. 8B07 MOV
EAX,DWORD PTR DS:[EDI] //再取假碼
0050871A |. 8038 38
CMP BYTE PTR DS:[EAX],38 //取第一個字元,比較ASCII值是否 38(即“8”)
0050871D
|. 0F94C0 SETE AL
00508720 |. 83E0
7F AND EAX,7F //如果這一位相同,則eax&7F=01
00508723
|. 03F0 ADD ESI,EAX //eax的值加到esi,下同
00508725
|. 8B07 MOV EAX,DWORD PTR DS:[EDI]
00508727
|. 8078 02 36 CMP BYTE PTR DS:[EAX+2],36 //第1+2個字元是否為“6”
0050872B
|. 0F94C0 SETE AL
0050872E |. 83E0
7F AND EAX,7F
00508731 |. 03F0
ADD ESI,EAX
00508733 |. 8B07
MOV EAX,DWORD PTR DS:[EDI]
00508735 |. 8078 03 32
CMP BYTE PTR DS:[EAX+3],32 //第1+3個字元是否為“2”
00508739 |.
0F94C0 SETE AL
0050873C |. 83E0 7F
AND EAX,7F
0050873F |. 03F0
ADD ESI,EAX
00508741 |. 8B07
MOV EAX,DWORD PTR DS:[EDI]
00508743 |. 8078 04 37
CMP BYTE PTR DS:[EAX+4],37 //第1+4個字元是否為“7”
00508747 |. 0F94C0
SETE AL
0050874A |. 83E0 7F
AND EAX,7F
0050874D |. 03F0
ADD ESI,EAX
0050874F |. 8B07
MOV EAX,DWORD PTR DS:[EDI]
00508751 |. 8078 07 39 CMP BYTE
PTR DS:[EAX+7],39 //第1+7個字元是否為“9”
00508755 |. 0F94C0
SETE AL
00508758 |. 83E0 7F AND
EAX,7F
0050875B |. 03F0 ADD ESI,EAX
0050875D
|. 8B07 MOV EAX,DWORD PTR DS:[EDI]
0050875F
|. 8078 08 34 CMP BYTE PTR DS:[EAX+8],34 //第1+8個字元是否為“4”
00508763
|. 0F94C0 SETE AL
00508766 |. 83E0
7F AND EAX,7F
00508769 |. 03F0
ADD ESI,EAX
0050876B |. 8B07
MOV EAX,DWORD PTR DS:[EDI]
0050876D |. 8078 0A 30
CMP BYTE PTR DS:[EAX+A],30 //第1+0xA個字元是否為“0”
00508771 |.
0F94C0 SETE AL
00508774 |. 83E0 7F
AND EAX,7F
00508777 |. 03F0
ADD ESI,EAX //eax的值加到esi
00508779 |. 83FE 07
CMP ESI,7 //esi是否等於7?由於上面一共比較7個字元,故此處eax必須為7才能註冊成功
0050877C
|. 0F94C3 SETE BL //如果eax=7,則bl置1
0050877F
|> 8BC3 MOV EAX,EBX //ebx的值放入eax
00508781
|. 5F POP EDI
00508782 |.
5E POP ESI
00508783 |. 5B
POP EBX
00508784 \. C3
RETN //返回
演算法總結:
1、註冊碼長度必須為
14 位
2、註冊碼格式為:8-627--94-0---,“-”代表可以為任意字元(包括數字、字母、標點等)
3、在除錯過程中看到的一些奇怪的長字串,原以為是表什麼的,結果發現應該是沒有用處的
至此 Advanced Emailer 2.1 註冊演算法分析完成,隨便舉一個可用的註冊碼:80627009400000
註冊資訊儲存:
註冊成功後,軟體在登錄檔內新增以下鍵值:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DRMRSX]
"AsxQrvDlpcFx"="D5C0DBDFDAC0C0D4D9C0DDC0C0C0"
"TspJkiWwzZc"="37752.8389992245"
爆破方法:
00508774
|. 83E0 7F AND EAX,7F
00508777 |. 03F0
ADD ESI,EAX
00508779 |. 83FE 07
CMP ESI,7
改為:
00508774 BE 07000000
MOV ESI,7 //強制給esi賦值為7
00508779 83FE 07
CMP ESI,7
之後隨便輸入14位註冊碼即可註冊成功。發現檢查註冊碼長度的那個跳轉不能改,改了程式會出錯。
------------------------------------------------------------------------
序號產生器原始碼(TC
2.0)
順便寫一個最簡陋的序號產生器,tc 2.0 編譯透過。
註冊碼中可為任意字元的位使用隨機數填充,其實可以詢問是否要再次生成一個註冊碼,不過好像很麻煩,還要判斷鍵盤輸入的字元什麼的,還是算了吧,要生成更多的註冊碼就多執行幾次吧^^
#include "stdlib.h"
main()
{ int sn1,sn2,sn3;
printf("\n -= Advanced Emailer 2.1 keygen =-\n
code by lovefire[BCG]\n\n\n");
randomize();
/* 生成隨機數,下面是控制隨機數長度 */
sn1=random(9);
sn2=random(99);
sn3=random(999);
printf("regkey: 8%d627%d94%d0%d\n",sn1,sn2,sn1,sn3);
printf("\n\nRun keygen again to get another regkey.\n\nhave
fun^^\nwelcome to http://skipli.yeah.net/");
getch();
}
------------------------------------------------------------------------
炎之川
屬於中國破解組織BCG
(BeGiNnEr'S CrAcKiNg Group)
_/_/_/ _/_/_/ _/_/_/
_/ _/ _/ _/
_/_/_/ _/ _/ _/_/
_/ _/ _/ _/ _/
_/_/_/ _/_/_/
_/_/_/
相關文章
- 時間到了 v1.5 簡單註冊演算法分析
+ 序號產生器原始碼(tc2) (9千字)2003-04-12演算法原始碼
- Quickness 3.1
註冊演算法分析 + 序號產生器原始碼(tc2) (15千字)2003-04-13UI演算法原始碼
- AntiSpy PRO 1.02
註冊演算法分析 + 序號產生器原始碼(tc2) (12千字)2003-04-11演算法原始碼
- QuickCD V1.0.4演算法分析+序號產生器原始碼2015-11-15UI演算法原始碼
- SysSync Version 1.02簡單演算法分析+VB序號產生器原始碼 (8千字)2015-11-15演算法原始碼
- eBook Edit Pro 3.21 演算法分析及序號產生器原始碼2003-03-13演算法原始碼
- Advanced
Pic Hunter v1.55 序號產生器C語言原始碼2004-08-18C語言原始碼
- 守財奴1.9註冊分析+序號產生器原始碼2015-11-15原始碼
- Advanced Dialer v2.5演算法分析(附序號產生器) (3千字)2002-04-17演算法
- Uninstall
Manager V4.20簡單註冊演算法+加密演算法分析+序號產生器C++原始碼:-)2004-10-30演算法加密C++原始碼
- URL Address Book V6.05簡單演算法分析+VB序號產生器原始碼 (10千字)2015-11-15演算法原始碼
- 進位專家註冊演算法分析及序號產生器C原始碼2004-08-19演算法原始碼
- 超級公式計算器 V4.5x 演算法分析+序號產生器原始碼2015-11-15公式演算法原始碼
- 【原創】FileRecoveryAngel 演算法分析+序號產生器2015-11-15演算法
- 餅乾Flash播放器 V1.92-演算法+序號產生器原始碼2015-11-15播放器演算法原始碼
- Gif2Swf Ver 2.1 TC20序號產生器 && MASM32序號產生器 (4千字)2001-12-10ASM
- 序號產生器合集2024-03-17
- 全國電話通1.18
演算法分析+序號產生器2004-04-26演算法
- Windows系統切換工具
演算法分析+序號產生器2004-07-02Windows演算法
- mIRC
v 6.16序號產生器C語言原始碼2004-08-17C語言原始碼
- 印表機監控王
V3.08註冊演算法分析及序號產生器原始碼2015-11-15演算法原始碼
- 序號產生器制分析: (1千字)2001-11-19
- 蒼鷹象棋1.0
註冊演算法分析和序號產生器2004-05-16演算法
- mIRC v5.81版註冊碼演算法分析和序號產生器編寫2000-12-11演算法
- 美萍安全衛士V8.45序號產生器制作分析過程,及序號產生器! (11千字)2001-10-28
- HappyIcon序號產生器TC原始碼 (1千字)2001-04-08APP原始碼
- Myeclipse 6.5 序號產生器2020-04-06Eclipse
- 搜尋引擎工廠專業版演算法分析+演算法序號產生器2015-11-15演算法
- GIF Movie Gear v3.0.2 破解小談(附序號產生器原始碼)2015-11-15原始碼
- 分享一個navicat序號產生器2024-04-02
- win10如何執行序號產生器_win10怎麼執行序號產生器2020-08-28Win10
- 成語速查 v3.0-3.2破文加序號產生器原始碼,簡單-高手看到不要笑
(8千字)2003-01-22原始碼
- IrfanView 序號產生器分析(初級版)
(13千字)2015-11-15View
- Windows優化大師v3.0-v3.4的序號產生器原始碼2015-11-15Windows優化原始碼
- Lc3&Lc4
註冊演算法分析及序號產生器的製作2004-06-18演算法
- SWF2Video Pro V1.0.1.2 完全破解 演算法分析+序號產生器2015-11-15IDE演算法
- winzip序號產生器 (1千字)2001-04-12
- 《DesktopX v1.0》PJ 記錄 + 序號產生器原始碼 (13千字)2015-11-15原始碼