duelist crackme 1 破解 (5千字)
duelist crackme 1 破解 (希望轉載的時候保持完整)
作者 丁丁蝦 ddxia/[CCG]
目標 duelist crackme 1
目標URL http:\\go.163.com\~ddxia\crackme\DueList\Due-cm1.zip
工具 SoftIce4.01 for NT
樂趣 可以直接修改程式程式碼,得到序列號(懶人方法)^_^
首先看看它的readme.txt(建議在Crack Crackme前,讀一讀,會有些幫助的),是 Duelist寫的第一個純ASM的Crackme。
執行,會發現它需要一個序列號,別忙下中斷,看看是那一種出錯資訊,隨便填下123,然後按check按鈕,會彈出一個出錯對話方塊!然後按OK返回主程式。
對症下藥啦!:)
Ctrl+D 啟用SICE
BPX MESSAGEBOXA
Ctrl+D 返回程式。
再按check按鈕,就會攔截下來,跟著按F11跳出MESSAGEBOXA的系統程式碼(有點象TRW的Pmoudle),光帶會停在001B:00401193
001B:0040117D 6800200000 PUSH
00002000
001B:00401182 6801204000 PUSH
00402001
001B:00401187 6863204000 PUSH
00402063
001B:0040118C 6A00
PUSH 00
001B:0040118E E85C010000 CALL
USER32!MessageBoxA
001B:00401193 E95CFFFFFF JMP
004010F4
^^^^^^^^^^^^^^^^^^^^^^^^^^^---->游標會停在此處
有了結果,於是我們很想去知道原因是為什麼?對嗎?所以我們要回顧一下歷史,(是啊!在程式碼的歷史中,永遠都不會過期,可以追尋,可以重新來過,也可以重頭來過,但在現實中,歷史永遠是歷史,現在的我們只能是回憶、留戀,如果想在你的歷史長河裡留下精彩瞬間,請把握好今天吧!!)
簡單註冊方式:得到程式碼------》進行變化-----》然後進行比較----》對否?
我們可以看到如下的程式碼:
001B:004010FB 6A24
PUSH 24
001B:004010FD 68F7204000
PUSH 004020F7
^^^^^^^^^^^^^^^^^^^^^^^^----->GetDlgItemTextA是存放你輸入註冊碼的地方
001B:00401102 6A01
PUSH 01
001B:00401104 FF7508
PUSH DWORD PTR [EBP+08]
001B:00401107 E855020000
CALL USER32!GetDlgItemTextA
^^^^^^^^^^^^^^^^^^^^^^^^----->得到註冊碼
001B:0040110C 33C0
XOR EAX,EAX
001B:0040110E 80B8F720400000 CMP
BYTE PTR [EAX+004020F7],00
^^^^^^^^^^^^^^^^^^^^^^^^----->比較是否輸入?
001B:00401115 7418
JZ
0040112F
001B:00401117 80B0F720400043 XOR
BYTE PTR [EAX+004020F7],43
001B:0040111E 80B0F72040001E XOR
BYTE PTR [EAX+004020F7],1E
001B:00401125 80B0F720400055 XOR
BYTE PTR [EAX+004020F7],55
^^^^^^^^^^^^^^^^^^^^^^^^----->進行註冊碼變化
001B:0040112C 40
INC EAX
001B:0040112D E2DF
LOOP 0040110E
001B:0040112F 83F800
CMP EAX,00
001B:00401132 7518
JNZ 0040114C
^^^^^^^^^^^^^^^^^^^^^^^^----->轉化完沒有??
001B:00401134 6800200000 PUSH
00002000
001B:00401139 6801204000 PUSH
00402001
001B:0040113E 689D204000 PUSH
0040209D
001B:00401143 6A00
PUSH 00
001B:00401145 E8A5010000 CALL
USER32!MessageBoxA
001B:0040114A EBA8
JMP 004010F4
001B:0040114C 6A24
PUSH 24
001B:0040114E 68D3204000 PUSH
004020D3
001B:00401153 68F7204000 PUSH
004020F7
001B:00401158 E864000000 CALL
004011C1
^^^^^^^^^^^^^^^^^^^^^^^^----->進行比較的子程式
001B:0040115D 83F800
CMP EAX,00
^^^^^^^^^^^^^^^^^^^^^^^^----->是否正確??
001B:00401160 741B
JZ 0040117D
(JUMP )
001B:00401162 6800200000 PUSH
00002000
001B:00401167 6801204000 PUSH
00402001
001B:0040116C 6817204000 PUSH
00402017
001B:00401171 6A00
PUSH 00
001B:00401173 E877010000 CALL
USER32!MessageBoxA
我們可以注意到兩個地址
一個是 004020D3 -----存放著進過變化的註冊碼
另一個是004020F7 -----用輸入的註冊碼
:d 4020d3 4020f5
0023:004020D3 7B 61 65 78 64 6D 26 6B-7A 69 6B 63 65 6D 26 3C {aexdm&kzikcem&<
0023:004020E3 26 66 6D 7F 6A 61 6D 7B-26 6A 71 26 6C 7D 6D 64 &fmjam{&jq&l}md
0023:004020F3 61 7B 7C 00 31 32 33 00-00 00 00 00 00 00 00 00 a{|.123.........
程式進行變化的程式碼僅僅是XOR,一種非常簡單加密方法,有BUG呵呵~~~~,於是用SICE修改程式碼為如下:
001B:0040110E 80B8D320400000 CMP
BYTE PTR [EAX+004020D3],00
001B:00401115 7418
JZ
0040112F
001B:00401117 80B0D320400043 XOR
BYTE PTR [EAX+004020D3],43
001B:0040111E 80B0D32040001E XOR
BYTE PTR [EAX+004020D3],1E
001B:00401125 80B0D320400055 XOR
BYTE PTR [EAX+004020D3],55
僅僅是把這四句中的004020F7換為004020D3,即修改F7為D3,然後讓程式再執行一遍,呵呵~~程式會自動顯示正確註冊碼!趕緊抄下來!
0023:004020D3 73 69 6D 70 6C 65 2E 63-72 61 63 6B 6D 65 2E 34 simple.crackme.4
0023:004020E3 2E 6E 65 77 62 69 65 73-2E 62 79 2E 64 75 65 6C .newbies.by.duel
0023:004020F3 69 73 74 00 31 32 33 00-00 00 00 00 00 00 00 00 ist.123.........
退出程式,重新執行,輸入simple.crackme.4.newbies.by.dueist,OK
收工 :D
總結:在Crack中,可以發揮自己的主觀能動性(譁!上青少年修養課啊!我倒.........) 發揮想象力,不需要居伲於哪一種方法,儘管去發揮。Crack的精華之處在於不斷的探索和創新!
時間:2000.10.16 19:45
提議:該回家,愛護一下自己的胃了 :)
相關文章
- duelist crackme 2 破解(上) (6千字)2000-10-17
- 今天工作太忙了!好不容易才可以上來5分鐘---》duelist
crackme 4 破解(上) (7千字)2000-10-20
- 由於昨晚朋友過生日,今天睡過頭了!:)
才遲遲貼出《duelist crackme 3 破解》 (4千字)2000-10-19
- Fpc大哥crackme的破解。 (4千字)2001-09-22
- crackme破解教程(續) (高手莫入) (2千字)2001-03-17
- 第二個CrackMe的破解 (6千字)2001-08-17
- Nullz CrackMe 1.1破解過程 (13千字)2001-09-18Null
- 一個CrackMe的破解 *KeyFIle保護* (教你如何獲得
KeyFile) (5千字)2001-02-06
- 冷雨飄心的第二個crackme的破解方法,大家看看對不對! (5千字)2001-10-18
- PolyView 破解 (5千字)2000-12-31View
- 破解MyMahj (5千字)2001-06-20
- 破解winimage (1千字)2001-10-07
- 四個簡單的VB6 PCODE的crackme的2 Nag, 2 Code的破解。 (5千字)2001-10-14
- 破解練習-CRACKME0012023-02-11
- 破解TurboLaunch 4.04 (5千字)2001-06-06
- 破解“Mail Scan” (1千字)2000-08-04AI
- 一個CrackMe的破解以及序號產生器的製作
(4千字)2001-08-16
- [原創]破解-分析Crackme演算法2009-06-13演算法
- 破解入門5 (3千字)2000-09-23
- IPTools 1.10 破解 (5千字)2001-02-11
- see This 破解實戰! (5千字)2000-06-26
- 如何破解CuteFTP 4.0 (5千字)2000-07-20FTP
- 5StarZip 2001 破解----初學者破解入門 ---
[BCG]系列 (1千字)2001-04-13
- wintools5.0破解 (1千字)2000-03-02
- PolyView再破解---請指教 (5千字)2001-01-02View
- 我的破解心得(5) (16千字)2001-03-13
- 破解XFtpSvr =====> 請進 (5千字)2001-07-01FTPVR
- 破解MailScan V3.5.1.2 (5千字)2001-08-31AI
- SYSTEM CLEANER 暴力破解 (1千字)2001-01-04
- 我的破解心得(1) (3千字)2001-03-13
- 我的破解心得(12) (1千字)2001-03-13
- disk-check如何破解? (1千字)2001-03-22
- OpenExpert1.03破解 (1千字)2002-02-28
- CDCOPY v4.745破解 (1千字)2000-03-07
- 破解足彩大師5.0
(1千字)2015-11-15
- jdpack的脫殼及破解 (5千字)2002-06-25
- 談談VB程式的破解 (5千字)2002-10-28
- 登陸奇兵3.0破解心得 (5千字)2001-05-02