MP3 explorer 破解和序號產生器的製作
=========================================================================
工具
=========================================================================
- Soft ice 3.23 (喜新不厭舊!)
- C++編譯器
- 大腦和好聽的音樂 :)
Note: 我希望你知道這些工具怎麼用,否則的話,先儲存這篇文章,找一些基礎的文章看看
我推薦"看雪學苑"中的文章!我主頁上也有連線.
=========================================================================
一,二,三 /開始!
=========================================================================
執行MP3 explorer,到幫助選單,點選關於,你應該看到輸入註冊碼的地方了吧!
輸入名字: ACiD BuRN
假設一個密碼: 12321
記得許多教程中讓你一步步地跟蹤除錯嗎?太累了,很久都不會走上路子,特別是一些新手,
這兒介紹一種新思維:使用BPR技術,可以輕易幫我們解決問題 :)
設定一個GetWindowtextA斷點,回到註冊視窗,點選OK! Soft ice自動跳出來!
Break due to BPX USER32!GETWINDOWTEXTA...
不要按任何鍵!(包括 F11 或 F12) 我們將要看一看堆疊的引數. 為了清楚地介紹,我們將看看
dword (命令 = dd) 那麼,在soft ice中鍵入: dd esp為什麼呢?讓我告訴你吧:
"dd"是指: 顯示 dword 和 "esp" 堆疊指標!
你鍵入"dd esp"之後, 在Soft-ice's中,視窗將發生變化,我們可以看到引數:
xxxx:yyyyyyyy A B C D ................
xxxx:yyyyyyyy E F G H ................
那些A,B,C,D,E...應該看起來象這樣: XXXXXXXX (當然XXXXXXXX只是一些數字)
你應該看到一些象這樣的:
xxxx:yyyyyyyy 0044423B 00000464 015DB338 0000000A ...........
我們將只用這些知識 :)
(你應該注意到,在這兒 A=0044423B , B=00000464, C= 015DB338...)
我們只能看到我們註冊的名字結束的地方 (015DB338).
鍵入 D "名字結束的地址" 這兒是: D 015DB338
現在,你可以按一下F11,你就應該在地址中看到我們輸入的名字(那就是名字結束的地方...)
很好,我們的路子走對了!
我們將使用一個 BPR (break on memory range). 這種斷點的設定應該象這樣:
bpr "開始地址" "結束地址" RW
RW 是指: 讀和寫.就是指將在這段地址進行讀寫的時候停下來.
那麼在Soft-ice中, 鍵入:
bpr 015DB338 015DB338 + (名字的長度 - 1) RW
如 ACiD BuRN (有九個字母 -> 9 - 1 = 8)
我們的目標是 ACiD BuRN,所以我們鍵入 :
bpr 15DB338 015DB338+8 RW
這時候,你設定的getwindowtextA斷點已經沒用了!你只有按F5了,我們將直接在目標處被截下.
但是,在這個軟體中,不太直接,我們落在 dll中,所以不停地按F5直到跳出去.當跳到軟體的程式碼
時, 我們來到了好地方! 就是從那開始的: 看看我 winice.log 中的記錄吧!
----------------------SNiP----- SNiP----- SNiP----------------------------
:bpx getwindowtexta
Break due to BPX USER32!GetWindowTextA (ET=1.17 seconds)
:dd esp
:d 15f5a18
Break due to G (ET=268.99 microseconds)
:bpr 15f5a18 15f5a18+8 RW
:bd 0
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
Break due to BPR #0267:015F5A18 #0267:015F5A20 RW
:u eip l 50
註釋:這兒是第一個 loop:
025F:0040A173 8B442420 MOV
EAX,[ESP+20] ; EAX 中是我名字的地址
025F:0040A177 0FBE0C06 MOVSX ECX,BYTE PTR [EAX+ESI] ; ECX = 第一個字母的hex值
025F:0040A17B 51
PUSH ECX
025F:0040A17C E8E9BB0100 CALL
00425D6A ; 有趣 !!!!
025F:0040A181 83C404 ADD
ESP,04
025F:0040A184 03E8
ADD EBP,EAX ; 把ascii值轉化成hex值送到EBP中
025F:0040A186 46
INC ESI ; 第二個字母!
025F:0040A187 3BF7
CMP ESI,EDI ; 都結束了嗎 ?!
025F:0040A189 7CE8
JL 0040A173 ; 如果沒有,跳回吧 !
025F:0040A18B 8B4C240C MOV
ECX,[ESP+0C] /
025F:0040A18F BAC0D40100 MOV
EDX,0001D4C0 /
025F:0040A194 2BD5
SUB EDX,EBP / 我們一會再看這兒
025F:0040A196 33C0
XOR EAX,EAX /
025F:0040A198 3BCA
CMP ECX,EDX /
025F:0040A19A 8D4C2420 LEA
ECX,[ESP+20] /
025F:0040A19E 0F94C0 SETZ
AL /
在這裡, 我們看到了把每個字母的ascii值轉化成hex值送到EBP中.但是,我們看到了那個Call
非常有趣!讓我們進去看看 :
:u eip l 50
025F:00425D6A 53
PUSH EBX
025F:00425D6B 33DB
XOR EBX,EBX ; 使EBX=0
025F:00425D6D 391D74344800 CMP [00483474],EBX
025F:00425D73 7513
JNZ 00425D88
025F:00425D75 8B442408 MOV
EAX,[ESP+08] ;把ascii值移至EAX
025F:00425D79 83F861 CMP
EAX,61 ;和 61h 比較
025F:00425D7C 7C59
JL 00425DD7 ;如果小於 61? 跳到 425DD7
025F:00425D7E 83F87A CMP
EAX,7A ;和 7A 比較
025F:00425D81 7F54
JG 00425DD7 ;如果大於 7A? 跳到 425DD7
025F:00425D83 83E820 SUB
EAX,20 ;小於 7A 但大於 61 (eax-20)
025F:00425D86 5B
POP EBX
025F:00425D87 C3
RET ;返回!call結束!
025F:00425D88 56
PUSH ESI
025F:00425D89 BE88484800 MOV ESI,00484888
025F:00425D8E 57
PUSH EDI
025F:00425D8F 56
PUSH ESI
那麼,接著該怎麼辦呢?!它和 61 , 7A 進行比較! 61h = a 並且 7Ah = z 如果它小於7A但是大於61
它將會被減去20.其實這只是把它轉化成大寫字母!那麼ACiD BuRN 的註冊碼將會和 Acid Burn, acid
burn, ACID burn...一樣.那麼主loop會怎麼做呢? 把所有字母轉化成大寫接著把ascii值轉化成hex值
送到EBP中... 所有的字母完成後我們將會在這兒:
025F:0040A18B 8B4C240C MOV
ECX,[ESP+0C] ; ECX = 我們輸入的假註冊碼
025F:0040A18F BAC0D40100 MOV
EDX,0001D4C0 ; EDX = 1D4C0h = 12000
025F:0040A194 2BD5
SUB EDX,EBP ; EDX = EDX - EBP
025F:0040A196 33C0
XOR EAX,EAX ; EAX = 0
025F:0040A198 3BCA
CMP ECX,EDX ; 比較真假註冊碼
025F:0040A19A 8D4C2420 LEA
ECX,[ESP+20]
025F:0040A19E 0F94C0 SETZ
AL
這已經很清楚了!
步驟是這樣的:
- 把所有字母轉化成大寫
- add all ascii values
- Subtract the result of ascii added to 12000
現在,你可以非常容易的為 MP3 Explorer 編寫序號產生器了 !通常, 我會把我自己編寫的原始碼
給你 :)這兒用的是是 C++ 和 inline asm :)
-------------------------原始碼 從這開始!---------------------------------
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main(){
int i,len;
unsigned char name[100];
unsigned long check=128;
printf("\Mp3 Explorer Keygen By : ACiD BuRN [Immortal descendants]
\n ");
printf("\
");
printf("\nEnter name: ");
gets(name);
len=strlen(name);
asm
{
xor ecx, ecx
xor edi, edi
mov edx, [len]
start1:
movsx eax, [name+ecx]
cmp eax, 97
jl temp1
cmp eax, 122
jg temp1
sub eax, 32
temp1:
add edi, eax
inc ecx
cmp ecx, edx
jne start1
mov eax, 120000
sub eax, edi
mov [check], eax
}
printf("=: %lu" ,check); /* %lu = decimal, check = serial */
printf("\nEnjoy!");
getch();
return 0;
}
----------------------------結束---------------------------------
=======================================================================
翻譯來自 "夢醒時分" 網站,歡迎訪問獲得更多的資料,爭作中國最好的網站! }
translate from "time of dream broken" get more information at our web.}
We Will
Best in China!
}
======================================================================}
http://todb.yeah.net http://go.163.com/~yinqun2000/
}
=======================================================================
相關文章
- 一個CrackMe的破解以及序號產生器的製作
(4千字)2001-08-16
- xplorer2之破解和序號產生器2004-12-05
- 製作mIRC6.02序號產生器(給別人寫的初學者序號產生器教材) (14千字)2015-11-15
- 貼彩虹狗破解工具的序號產生器 (727字)2001-07-01
- 010
Editorv1.3破解(序號產生器)2004-05-17
- 《淺談利用RSA演算法防止非法序號產生器的製作》2004-05-20演算法
- 序號產生器合集2024-03-17
- 2D動畫製作軟體:Moho Pro 14 for Mac 附序號產生器 圖文完整破解教程2023-11-27動畫Mac
- EditPlus 2.01b 序號產生器的製作 (22千字)2001-09-10
- 如何製作VB程式記憶體序號產生器--國內某軟體的序號產生器(隱去軟體資訊)
(14千字)2002-08-04記憶體
- Myeclipse 6.5 序號產生器2020-04-06Eclipse
- Lc3&Lc4
註冊演算法分析及序號產生器的製作2004-06-18演算法
- 遼寧省職稱計算機考試2001年光碟的破解和序號產生器的製作 (13千字)2001-05-04計算機
- Kalua Cocktails 1.1完全破解,內附彙編序號產生器(用序號產生器編寫器,並有它的使用教程)
(22千字)2002-02-27AI
- AlgoLab PtVector的破解及序號產生器的編寫 (17千字)2001-05-04Go
- 分享一個navicat序號產生器2024-04-02
- NetTalk破解與序號產生器(高手勿進) (10千字)2001-09-20
- win10如何執行序號產生器_win10怎麼執行序號產生器2020-08-28Win10
- 家庭銀行家
v2b53 破解、跟蹤和序號產生器(MASM32)2004-06-02ASM
- UltraEdit-32 8.10.1.0的破解及序號產生器的生成 (15千字)2001-05-15
- 用KEYMAKE製作記憶體序號產生器特殊一例
(11千字)2015-11-15記憶體
- 破解accoustica
2.21(帶序號產生器)----讓高手見笑了:) (11千字)2002-03-31
- Resource
Builder 1.1.0 完全破解~~附彙編序號產生器 (10千字)2015-11-15UI
- GIF Movie Gear v3.0.2 破解小談(附序號產生器原始碼)2015-11-15原始碼
- 網頁加密器(HTMLEncryptor1.1)破解及序號產生器 (1千字)2001-04-22網頁加密HTML
- winzip序號產生器 (1千字)2001-04-12
- SAP CRM One Order的事件序號產生器制2020-02-11事件
- winzip的通用序號產生器 (2千字)2001-12-10
- 文書處理大師 3.0 破解~~~附序號產生器 (17千字)2002-03-24
- 3DAxy貪吃蛇 AxySnake 破解與序號產生器 (21千字)2015-11-153D
- myeclipse序號產生器使用教程(破解MyEclipse 10可用)2018-01-17Eclipse
- 美萍安全衛士V8.45序號產生器制作分析過程,及序號產生器! (11千字)2001-10-28
- Gif2Swf Ver 2.1 TC20序號產生器 && MASM32序號產生器 (4千字)2001-12-10ASM
- 好用的專案流程管理 OmniPlan Pro 4序號產生器破解版v4.62023-12-19
- 序號產生器制分析: (1千字)2001-11-19
- Jutoh 3.03.10中文版 電子書製作工具(序號產生器)2020-12-18
- 密碼學-軟體加密技術和序號產生器制2020-04-06密碼學加密
- SAP CRM呼叫中心裡的事件序號產生器制2020-03-10事件