用VC和自制工具VCDEBUG助手進行跟蹤破解[轉載] (3千字)

看雪資料發表於2001-11-10

用VC和自制工具VCDEBUG助手進行跟蹤破解


【宣告】

一.本文實用於初學者,需要具備一定的彙編和系統底層的知識。
二.本文只是為了讓廣大網友共同提高一些基礎知識,本人決無賣弄之意,只供需要這方面知識的讀者閱讀,如果你是高手,或者不需要這方面知識,請跳過。
三.本文的例項均為普通程式,如有雷同,敬請諒解。
四.本文歡迎傳抄轉載,但是不要用於任何商業用途。


【前言】


以前幹破解,盯著S-ICE的黑視窗,打著一些只有它才能輕鬆駕駛的除錯指令,實在是累。後來系統

換成2000了,S-ICE很難裝;好不容易裝上去了,LOAD後鍵盤又死了;把鍵盤整的不死了;又發現系

統效能因此下降了很多,2000也失去了它本身的穩定性。於是發誓象國內某些人一樣自己搞個專用

的偵錯程式TRW2001什麼的,可是談何容易,不是不可以做,只是那樣容易浪費生命。再說很多東西別

人已經給我們做的差不多了,比如VC。進入正題……


【正文】


VC有很多S-ICE沒法比的優點,但也有一些功能上的缺點。除錯介面非常舒服,和系統是一家人做的

,很合得來,但它為開發而做的,並非用來破解的,所謂正道,所以功能遠非S-ICE強大。但是

S-ICE中CRACKER常用的也就是那麼幾個,下面介紹一下VC給我們提供的可利用的除錯功能:

1. 彙編視窗介面,單步執行,指令斷點,RUN TO CURSOR,資料寫斷點。
2. 讀寫暫存器,記憶體,堆疊,更改下一步執行的位置,也就是改EIP(不知道的點以下右鍵去找菜

單); 其他的自己摸索吧!

這些一般的功能VC很得心應手。但是CRACK時馬上就發現一些致命的遺憾:
遺憾一:雖然可以檢視被除錯程式記憶體,但沒法搜尋,所以CRACKER們常用的 S 10:0 Lfffffff

'78787878' 無效;
遺憾二:雖然有儲存器改變(即寫)斷點,但沒法設讀斷點,所以CRACKER們常用的BPM 0x12345678

無效;
遺憾三:雖然可以設簡單的API斷點,但功能如同一般的指令斷點,而且對於無除錯資訊exe檔案時

可能無效,因為有時對應的DLL沒有裝。

針對這些遺憾我特地做了一個小的夥伴來為VC解決上面的三個問題,
1。新增了搜尋功能,內容文字框內可為0x開頭表示是十六進位制,否則為文字。搜的時候速度沒有

S-ICE中快,基本可以滿足;
2。執行完VCDEBUG後,VC所設的所有的資料寫斷點全部變成讀寫斷點。並且有彈出對話方塊提示讓你

辨別。搞定遺憾二;
3。API條件斷點比S-ICE中的更好用。比如我如果設API斷點GetWindowTextA(要加A或W), 我可以附

加條件:當第2個引數的內容='78787878'時中斷,這時在執行完GetWindowTextA函式後(注意我裡

在執行完中斷,這樣所有的引數值都出來了),如果視窗的名字=“78787878”時那就斷吧!同時我

會把引數的地址和內容在VC的DEBUG視窗輸出。

加了這些功能應該夠用了吧。
小試一下牛刀吧,拿比較容易的WINZIP8.0開刀,難的跟起來太累。
1。在VC中開啟WINZIP的EXE檔案,然後在VC的TOOLS選單中執行此除錯助手(注意,在外面執行沒用

);
2。RUN - 註冊 - 輸入你的大名,我輸了wzg,註冊碼隨你輸,如果認為78787878不雅觀,可以用

74747474;
3。在VCDEBUG助手設條件API斷點 GetWindowTextA; 條件為 第二個引數=“74747474”;
4。這時去按註冊按鈕吧;
5。斷了吧,看看VC的DEBUG輸出視窗有些什麼東西,是[0xXXXXXXXX]'74747474',這個地址很有用哦

,不太相信的話,在VC的記憶體檢視視窗看看這個地址中的內容吧;
6。可以關掉API斷點了,然後用上面的得到的地址在VC中設儲存器讀寫斷點,接下來,按RUN[F5],

大概斷過6,7下後,你就會發現標準的註冊碼比較彙編語句:(大概是這樣的,具體的記不清了)
mov al, byte ptr[0xXXXXXXX]
mov cl, byte ptr[0xYYYYYYY]
cmp al, cl
jnz XXXX
自己看一下,記下注冊碼吧.


【後記】


也許有的朋友認為破解一個軟體很容易,但是作為一個Cracker(或者是Hack)追求絕對技術,追求完全共享才應是我們最終的目標。





                                                                      2001.11.5
                                                                      fnlq[BCG&&CNCG]

相關文章