絕對菜鳥解狗教程――qdcrack作品之一(發表在我論壇的文章)寫得非常好!初學者必看呀! (11千字)
絕對菜鳥解狗教程――qdcrack作品之一
作者:qdcrack
轉載:大老
我的解狗論壇:http://dalao2002.yeah.net
歡迎轉載!轉載請保留完整!
有些朋友在破解軟體之前,言必稱什麼什麼狗,似乎知道什麼狗之後就有章可循,有法可依了,其實對於加密狗來講,一般的說,對於狗得型別資料比較重要的是硬複製狗,和對狗殼的研究,因為那都是狗公司現成的作品,但是對於一幫朋友來言,似乎都是比較複雜的事情!要弄清楚,搞明白似乎可能性不是很大!至於在軟體破解中,狗對埠的呼叫每種狗確實有些不同,似乎分別還挺明顯,於是很多朋友熱衷於對這類資料的蒐集,以為搞清楚了呼叫實質,就能以不變應萬變.其實殊不知加密狗廠商對於他們的程式,那時費了很大心血的,他們的加密重點也就是放在這個地方,吾不知以個人之力量對付別人專業集團之力量是否真正能行!至少非常難!非常非常難!
如!深思III的種子呼叫很隱蔽,GS-**狗令人眼花繚亂的花指令等等!我覺得大家還是好好看看小牧童寫的文章,明白一點:軟體狗的加密,重點應該放在軟體本身.我覺得大家應該好好體會一下,也許每個人對這句話的理解不同!但我想有個有個規律在裡面:
1:如果您是新手或者初學破解又或者破過幾個,但是破不出來的居多,我覺得您首先對軟體除錯和軟體爆破進行加強功力.多看看資料,其實很多技術是從簡單的破解軟體序列號開始的,他們之間有什麼本質不同哪??
2:如果您能破解大部分加密狗的軟體,那麼恭喜,我想現在最大的目標是簡化您的修改程式碼!追入真正的讀狗核心,讓最簡練的修改,獲得最穩定的效果.
3:如果您是高手,那才是真正要分析總結一下各種狗的特點,去蕪存精,寫點東西!讓後來的人瞭解,免得走寫彎路,至於敝帚自珍,真的沒什麼意思!現在我發現!很多真正的高手寫的東西卻很少。菜鳥吧,到是願意寫一些文章,但是又怕別人笑話!
ok!我等是菜鳥,作我們菜鳥應該做的事情:破解,發表,然後寫文章交流
目標:管家婆輝煌門板店8.2d
先安裝SQL7.0(SQL2000也可以!安裝軟體,伺服器端程式,再安裝門板店程式)
OK!老習慣,用PEID檢測一下程式是否加殼,雖然這些大型軟體不喜歡加殼!但是幸運的很,測出來ASPACK2.11的殼
!我發現一個規律,管家婆的軟體主要是輝煌版才加殼!別的都沒有!可能是不同開發小組的作風不同!赫赫,但是看看他們內部程式的流程!又好象差不太多!
別說廢話了!用ASPDIE2.1來脫殼!提示"看起來成功了!"呵呵!作者也把握不準自己的東西是否有100%脫殼能力!ASPDIE做得不錯!就是針對版本性比較強,CASPR好像就厲害多了!可喜對最新的ASPACK支援的不夠好!
試試看!脫殼成功否!程式執行,提示再印表機埠沒發現軟體狗,然後推出!看來脫的好、脫的妙、脫的結果呱呱叫!呵呵
現在也找到軟體提示點了!用WDASM32反彙編吧!軟體比較大,需要多等會!點支菸,放鬆一下!(你要是不會抽別學我)順便翻翻看學精華,哈!竟然找到兩篇介紹的文章,看他們說的好簡單呀!不過版本都老點了,不知道現在的是否還合適?(破解軟體之前開開別人的文章熱熱身!蠻好的!推薦大家試試看!)
反彙編完了!煙還沒抽完,算了!等會再抽工作要緊!掐滅!
察看字串,找到沒狗的提示!雙擊,我在雙擊,噢!!提示的地方沒有變化,說明只有一處!我喜歡!呵呵
看到出錯的CALL上面有個比較,下面接著跳轉!試試看!下斷點
:005FBED6 A1FC936000
mov eax, dword ptr [006093FC]
:005FBEDB C700E8030000
mov dword ptr [eax], 000003E8
:005FBEE1
E854340000 call 005FF33A
:005FBEE6 85C0
test eax, eax
:005FBEE8 743C
je 005FBF26 **************
:005FBEEA 6A00
push 00000000
* Possible StringData Ref from Code Obj ->"stop"
|
:005FBEEC 68C0C45F00
push 005FC4C0
:005FBEF1 8D45A4
lea eax, dword ptr [ebp-5C]
:005FBEF4
50
push eax
* Possible StringData Ref from Code Obj ->"myok"
|
:005FBEF5 B9D0C45F00
mov ecx, 005FC4D0
* Possible StringData Ref from Code
Obj ->"系統在列印口沒有找到軟體狗,請再試!"
|
:005FBEFA
BAE0C45F00 mov edx, 005FC4E0
下斷點BPX 5FBEE8 執行程式 !!!什麼什麼???竟然正常執行了!我建套帳,我進入!我點、我點。。。。。竟然沒有錯誤!!不會吧!!今天讓我逮了個熟鴿子!比共享軟體還共享!!哈哈!不好意思,這個不算,本來想給大家說點有經驗的地方,沒想到臭屁放了一個!哈哈!換一個吧!
千方百計POS前臺
同上面的步驟,安裝軟體,檢測殼!沒發現,執行軟體,還是提示沒在列印口發現軟體狗,不會又是一隻熟鴿子吧?嘿嘿!
反彙編,這次比較大,需要耐心!我找,再找。啊!菸頭菸頭終於找到了!點上繼續!呵呵!我發現了菸頭的味道非常之不好!有股煙臭味,但是我省!為了我國早日步入現代化,我省!!
其實上面的程式也未必沒有收穫!我們不是高手!我們要學會先從簡單的辦法入手,查出錯框,然後看看上面的跳轉,能改掉最好了!不能改掉再研究!說不定某天你會發現你只用了幾分鐘就破解了一個狗加密的軟體(雖然這種機會比較少),蠻有成就感吧?呵呵!上面的程式你還可以在研究!就是那個CALL,看看子程式裡面到底是那一步導致EAX不等於零,找到關鍵的CALL和跳轉!你可以修改子程式!如果這個子程式被多次呼叫,你就會避免不少暗樁,最好是一直追到讀狗的子子程式CALL,呵呵!我有時候也沒那個耐心和精力!
廢話少說!反彙編完成!老規矩找出錯字串參考,雙擊、雙擊、雙擊、再雙擊、!KAO!有四處地方,3處提示上面有比較明顯的跳轉!有一處地方看不明白出處!算了!死馬當活馬醫,把那三出現改掉,試著執行一下!嘿嘿!這次沒那麼幸運了!看來需要TRW出來運作一下!高手門都講用BPX
378和BPX DEVICEIOCONTROL這些專業的斷點來做!如果你比較精通!你可以去做!千萬別看這篇文章了!這篇文章是給沒有經驗的朋友的來看的!
執行TRW,點OK!什麼斷點也不用設,然後執行程式!出現提示出錯的框!這時候用CTR+N來撥出你的TRW,還是什麼都不用設!一直按F12,知道退出TRW來到程式!這時候就是等著你點確定了!點完後TRW迅速接管,落在:00454BF2處。不過剛中斷的地方上面這些程式一般都是處理你點選“確定“以後要處理的程式!和出現錯誤提示的地方一般相距還比較遠,如果你不放心!可以再454BED處按F9設斷點!才次執行,看看是否能在出提示框之前中斷!如果不能!說明你選的不對,需要再RET到上面的一個CALL裡面,然後再上面的CALL內部設斷點,當然這個斷點儘量設的有經驗點,別讓人笑話!,一般是在一個跳轉的上面,因為跳轉對我們來說很重要,多試試看!不行的話再重來!誰讓我們是菜鳥!不是高手,能夠很快進入關鍵的CALL,然後找到關鍵的跳轉!其實用BPX
378 和BPX DEVICEIOCONTROL也同樣存在著我們們碰到的問題!就是在什麼地方在此設斷,這個地址非常重要,如果能很快找到!那你也是老鳥了!呵呵
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00454BF8(U)
|
:00454BEA 8B45FC
mov eax, dword ptr [ebp-04]
:00454BED E87AFDFFFF
call 0045496C
:00454BF2 C3
ret
廢話少說!經過多次不停的測試!我們初步把範圍縮小到!
:0045CEB8 53
push ebx
:0045CEB9
6683783200 cmp word ptr [eax+32],
0000
:0045CEBE 740A
je 0045CECA
:0045CEC0 8BD8
mov ebx, eax
:0045CEC2 8BD0
mov edx, eax
:0045CEC4
8B4334 mov eax,
dword ptr [ebx+34]
:0045CEC7 FF5330
call [ebx+30] *********
這個CALL非常重要!那麼怎麼判斷是非常重要的CALL哪!這裡面有這樣幾個特點
1:攔住這個CALL應該再出現錯誤之前
2:它的下面一個子CALL應該在錯誤之後意思就是說
1
1.1
1.2 1.3 1.4 .......
1.1.1 1.1.2 1.2.1 1.2.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果你發現你當斷點設在1的地方!錯誤還沒出現 但是斷點設在1.1.1(或者1.1.2等等)的時候,已經出錯了!
那麼說明出錯的CALL一定在1.1或者1.2這些CALL的等級中間!詳細的跟蹤他們是你的關鍵!我們由此不難發現
我們可以設斷電45CEC7 然後執行程式跟蹤!發現在執行中被中斷了兩次!你不用跟蹤第一次!因為我們把斷點設的等級太高!此處會被別的多次呼叫!關鍵是下面的子CALL!
:00761160 0300
add eax, dword ptr [eax]
:00761162 0000
add byte ptr [eax], al
:00761164 55
push ebp
:00761165 8BEC
mov ebp, esp
:00761167 B911000000
mov ecx, 00000011
* Referenced by
a (U)nconditional or (C)onditional Jump at Address:
|:00761171(C)
|
:0076116C 6A00
push 00000000
:0076116E 6A00
push 00000000
:00761170 49
dec ecx
:00761171
75F9 jne
0076116C
:00761173 51
push ecx
:00761174 53
push ebx
:00761175 56
push esi
:00761176
57
push edi
:00761177 8945FC
mov dword ptr [ebp-04], eax
:0076117A 33C0
xor eax, eax
:0076117C 55
push ebp
:0076117D 683C197600 push
0076193C
:00761182 64FF30
push dword ptr fs:[eax]
:00761185 648920
mov dword ptr fs:[eax], esp
:00761188
8B45FC mov eax,
dword ptr [ebp-04]
:0076118B 83B8580B000000
cmp dword ptr [eax+00000B58], 00000000
:00761192 0F8539070000
jne 007618D1
***********
:00761198 8B45FC
mov eax, dword ptr [ebp-04]
:0076119B C780580B000001000000 mov
dword ptr [ebx+00000B58], 00000001
* Possible StringData Ref from Data
Obj ->"@"
|
:007611A5 A178677700
mov eax, dword ptr [00776778]
:007611AA
803800 cmp byte
ptr [eax], 00
:007611AD 0F8469060000
je 0076181C
*************
* Possible StringData
Ref from Data Obj ->""
|
:007611B3
A124687700 mov eax, dword ptr
[00776824]
:007611B8 8B00
mov eax, dword ptr [eax]
* Possible StringData
Ref from Data Obj ->""
|
:007611BA
8B15AC5E7700 mov edx, dword ptr [00775EAC]
:007611C0 3B02
cmp eax, dword ptr [edx]
:007611C2 7415
je 007611D9
* Possible StringData
Ref from Data Obj ->""
|
:007611C4
A124687700 mov eax, dword ptr
[00776824]
:007611C9 8B00
mov eax, dword ptr [eax]
* Possible StringData
Ref from Data Obj ->""
|
:007611CB
8B15F05E7700 mov edx, dword ptr [00775EF0]
:007611D1 3B02
cmp eax, dword ptr [edx]
:007611D3 0F853A030000
jne 00761513
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:007611C2(C)
|
* Possible
StringData Ref from Data Obj ->"@["
|
:007611D9 A1106A7700 mov
eax, dword ptr [00776A10]
:007611DE 8B00
mov eax, dword ptr [eax]
* Possible
StringData Ref from Data Obj ->""
|
:007611E0
8B1540677700 mov edx, dword ptr [00776740]
:007611E6 3B02
cmp eax, dword ptr [edx]
:007611E8 7415
je 007611FF
* Possible StringData
Ref from Data Obj ->"@["
|
:007611EA
A1106A7700 mov eax, dword ptr
[00776A10]
:007611EF 8B00
mov eax, dword ptr [eax]
* Possible StringData
Ref from Data Obj ->""
|
:007611F1
8B156C677700 mov edx, dword ptr [0077676C]
:007611F7 3B02
cmp eax, dword ptr [edx]
:007611F9 0F8514030000
jne 00761513
我們會在00761192處和007611AD出發現兩個比較大的跳轉,試試看!你會發現如果在761192處跳的話!嘿嘿!你會發現你連使用者名稱都不用敲就進去了!沒有提示找不到狗!運氣不錯!但是你點選一下選單!麻煩出來了!不好用!
OK!換!007611AD,讓他跳轉!這次不錯!成功出現提示連線資料庫!然後選擇伺服器!選擇資料庫,使用者名稱!密碼!哈哈!進去了!試著執行一下!怎麼樣???不錯吧!就是這麼簡單!需要的就是時間和精力!
我的文章完了!我向大家看不懂得地方就是那些什麼什麼一級一級的子CALL吧!我實在想不出別的辦法來描述我心中的想法,我會在找時間好好琢磨一下自己的語言!希望您能看得懂!這是我處理軟體的最先的辦法!一般來說!能解決大部分問題!當然有些軟體這樣來回的簡單跳轉是不能解決問題的!還需要TRW去好好分析讀狗流程!這不是我這篇菜鳥教程中的內容!下期再說吧!
--------------------------------------------------------------------------------
QQ:150025153 EMAIL:qdcrack@sina.com
相關文章
- 初學者作品(6) (1千字)2000-05-04
- Java編寫的文字編輯器(菜鳥作品)2015-07-18Java
- 初學者(11) (2千字)2000-05-18
- JavaScript初學者必看“this”2017-05-25JavaScript
- java 初學者必看2013-12-06Java
- 如何破解金蝶財務軟體行政事業版V6.2!發表在我論壇的文章!講的是彩虹聖天諾的狗的破解方法思路不錯!
(2千字)2015-11-15
- 專門針對初學者的Node.js教程--四個例子絕對可用2014-09-04Node.js
- 給初學者,因為我就是個初學者(1) (3千字)2000-05-03
- 給初學者,因為我就是個初學者(2) (1千字)2000-05-03
- 給初學者,因為我就是個初學者(4) (1千字)2000-05-03
- 本人作品---夢龍智慧專案管理99A解狗教程(獻給對加密狗有興趣的朋友)
(13千字)2015-11-15專案管理加密
- 初學者作品(5) (788字)2000-05-04
- 【前端開發】菜鳥必看,大佬繞道~使用控制檯寫js程式碼2020-12-04前端JS
- 本人作品,2488的解狗教程(DOS下的狗),應客戶要求,不便說出軟體名字。 (2千字)2002-02-18
- 菜鳥初鳴--最易破解的軟體 supercleaner (2千字)2001-10-11
- VUE的基礎配置(初學者必看)2020-12-16Vue
- 給對linux感興趣的初學者的文章2010-01-20Linux
- 一個菜鳥對密碼學的理解 (4千字)2015-11-15密碼學
- 演算法分析: <獻給初學者>
之一 (4千字)2002-06-06演算法
- 青島阿牛解狗教程之一(速達3000pro網路版) (11千字)2002-02-07
- 菜鳥破解一篇:vcrkme01 (11千字)2001-10-19
- 寫給大資料開發初學者的話 | 附教程(轉)2019-04-16大資料
- 菜鳥必看IPC空連線的使用(轉載)2012-07-02
- 初學者必看的JavaScript 七大點!2018-02-28JavaScript
- 菜鳥之作--FanPlayer
V1.8--(FCG的一篇作業)在看雪論壇學習的成果 (13千字)2002-05-27
- 絕對乾貨!初學者也能看懂的DPDK解析2018-09-04
- 給對linux感興趣的初學者的文章 (轉)2008-01-22Linux
- 給JAVA初學者最忠誠的建議——怎樣20天擺脫菜鳥行列?2016-03-04Java
- Node腳手架編寫初學者教程2017-06-26
- 一篇破解教程-----面向初學者 (15千字)2001-04-01
- 菜鳥破解vis_ddr v1.11 (14千字)2001-12-08
- 菜鳥破解錄(11)之 WinGlobe2.0 (7千字)2000-07-24
- JavaScript初學者必看“箭頭函式”2017-06-03JavaScript函式
- Java四大知識點講解,初學者必看!2021-11-03Java
- 圖解 Java 垃圾回收機制,寫得非常好!2019-06-12圖解Java
- 貼個教學,初學者請進! (11千字)2001-04-20
- 菜鳥必看的電腦音響常見故障與解決辦法2016-11-02
- 菜鳥必看:釋出駭客最初步的技術(轉)2007-09-19