初學者破解小技巧 tKC's tutors #51

看雪資料發表於2003-08-31

我可憐的小貓不知為何一命嗚呼,害得我一個月沒上網,只好在家裡看以前下的tKC-CRACK教程。tKC是CRACK界的老大哥,他寫的tKC's TuTors共有一百多篇。最近看到這麼一篇,覺得對我們菜鳥有點幫助,因此不自量力的翻譯了一下,(課本上學的句式全都用不到,從初中開始學了六年英語不知學了些什麼:( ),因為文章寫得比較早,裡面提到的工具之類有點過時,各位將就一下。我在裡面加了自己的註釋,標註RB的就是了。

tKC's tutors #51

Part 1

題目:CrackTips For Newbies
作者:LW2000

---
英語不是我的母語,寫得不好請原諒!(RB:英語也不是我的母語,譯得不好請原諒!)
看到這個題目CrackTips For Newbies,高手莫笑!
---
在W32DASM中你可以透過雙擊某一行,使那條綠線停在該行上。
---
Hiew可以設定預設開啟方式為“程式碼模式”(decode mode)
只要開啟hiew.ini,把'StartMode'鍵值從'Text'改為'Code'.
(RB:其實最好改為'Hex'。不知各位是不是和我一樣也喜歡用HIEW,這樣修改以後的確方便多了。)
---
去除NAG視窗的簡便方法:
執行程式直到NAG出現,記下NAG視窗的標題和文字的前幾個詞。用一個十六進位制編輯器開啟這個EXE檔案(有時是DLL),查詢你記下的詞。如果找到了就向上翻頁找十六進位制字串'FF FF FF 80',找到後改為'FF FF FF 90'。如果NAG視窗需要按一個鈕才會消失,用這個方法通常不行。
---
當你在W32DASM中得到一個偏移量(offset),你會在狀態列裡看到類似'Offset E346Ah'的字樣,字元'h'的意思是十六進位制,不要把它也算進去,偏移量應該是E346A。
---
下面這個問題我已經回答過十幾遍了,所以請仔細地看,並且告訴你所有的朋友(如果你有朋友的話*g*)
幾乎在所有的INI或CFG檔案中';'和'//'都表示這一行是無效的!這只是表示註釋!在winice.dat中也是一樣
(RB:我孤陋寡聞,CFG檔案是什麼東東?ConFiG?)
我發誓,如果下一次還有人問我“我在winice.dat中加上了一行';EXP=c:\windows\system\vbrun300.dll'為什麼不起作用?”,他必須給我買臺新電腦!
---
試著把程式程式碼看懂!
---
在破解過程中經常會用相同的假序列號,因此你應該知道它的十六進位制形式是什麼。我比較喜歡123789,十六進位制形式是1E38D。應該避免使用像123456789這樣的假碼。
---
學習彙編!學習彙編!學習彙編!學習彙編!
(RB:不是我口吃,作者在這裡重複了四遍,翻譯要忠於原作 )
---
如果你跳過了一個CALL,檢查每個暫存器的值,你可能會發現序列號就在裡面。
(RB:序列號倒不一定有,但這個方法絕對太重要了!)
---
不要急於求成(RB:原文是Don't give up to fast),學習CRACK需要時間!
---
在W32DASM中,如果你想要查詢的“串式參考”出現了不止一次,你可以雙擊這個字串,然後W32DASM到了某個位置。再雙擊一次,就到了下一個出現該字串的地方,直到確定到了你要找的地方為止。
---
大部分的程式設計師很懶,他們寫一個過程或函式,當任務必須要完成時再呼叫它。通常一個程式會檢查兩次註冊碼:序列號剛輸入時和程式啟動時。So patch the function and save a lot of work. To Patch a funciton is often from advantage by CD-Checks, Nag Screens, Time or Date Checks,too.
---
在W32DASM中只要右鍵雙擊CALL或JUMP所在的一行就可以跳轉過去。想要返回按F12。
---
如果一個檢測是否註冊的函式返回值為-1,通常意味著沒有註冊。1(有時是0)通常表示註冊成功。
---
閱讀所有的tKC教程(RB:HEHE~~~給自己作廣告 )
---
假如有一個讓你使用20天的軟體。記住:大部分的程式設計師都很懶!一個很懶的程式設計師可能會用這樣的方法檢查是否過期:
 CMP DWORD PTR register, 14  <<-- 14是20的十六進位制
 JLE/JGE address             <<-- 通常是這樣一個條件跳轉
讓我們看看程式碼。83是CMP,14是20天,7E是JLE,7D是JGE。執行編輯器查詢,你可能找到一處或多處。我們把找到的JLE(7E 33)改為無條件跳轉(EB 33)。通常程式就被破解了~~~~~(RB:這個~~~沒這麼簡單吧 )
---
大部分的CRACKER說:如果你想變成真正的CRACKER,應該閱讀所有你能得到的教程!但是我認為:首先只讀那些最好的教程(關於初學者的),其它的教程會把你搞糊塗。這樣你可以節省很多時間。因此像我前面說的,閱讀所有TKC的教程!其它很好的教程還有BuLLeT,Tornado,HarvestR,The Saint Man,Acid Brun所寫的.(RB:在看雪論壇你可以找到最好的~~)
---
永遠不要――我說的是永遠不要――使用NOP,除非萬不得已的時候,因為通常有更好的辦法!例如你可以用INC ECX,DEC ECX或者其它類似的語句代替2個NOP。
---
現在你還在讀這篇文章嗎?好的!
另一個技巧是,使用專門的工具。這可以節省很多時間,既然有這樣的工具,為什麼不用呢?
下面是我比較喜歡的工具:
W32DASM 8.93(有兩個版本,一個含有SDR Enabler for VB Apps,另一個不含有)
SmartCheck 6.03 (用它破VB的程式很有趣!)
Softice 4.0 (無需說明了)
Hiew 6.16 (因為這是世界上最好的十六進位制編輯器)(RB:同意)
PE-Sniffer 1.06 (很好的檢測殼的軟體)(RB:我喜歡FI)
THE Customiser (玩視窗的工具)(RB:很有趣,有時也很有用)
ProcView 3.1.1.2 (to trough apps perfect out of memory,有時你的破解成了&%$#!,它比[ctrl]+[alt]+[del]好得多)(RB:不好意思沒用過)
RegMon (監視登錄檔)
FileMon (監視檔案)
GetType (檢測檔案)
Opcodes (知識就是力量)
ProcDump 1.5 (很酷的脫殼和PE檔案工具)
BlindRead (讀取CDROM上的crippeled files的好工具)
OpenList (看看該死的WINDOWS啟動時執行了什麼程式,對發現木馬很有用)
Snooper for Windows (get the text out of files)(RB:???)
這些看上去很多,但大部分工具都是很小的。

完成。有什麼意見?Email: LW2000@gmx.net !!! (RB:這是LW2000的EMAIL)


相關文章