軟體破解筆記
右鍵複製程式 貼上快捷方式到下面的資料夾
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo 設定右鍵傳送到
od中
exe檔案 Ctrl+G跳轉401000
OD右下角-堆疊視窗
OD上方,字母b檢視下了什麼斷點
F8 單步走
F9 執行程式
十六進位制地址處雙擊下斷點
nop 空指令
jmp 無條件跳轉
je 判斷跳轉
dll一般跳轉10001000
跳轉指令後的地址前如果有X,則該指令不能被修改,在X前加0,或刪除X
暫存器z標誌位為1,je跳轉實現,為0不實現
殼內追蹤註冊碼:
右鍵 分析 刪除分析
搜尋字串
ESP定律:
程式載入OD->提示壓縮加密,點否->按F8->暫存器視窗只有ESP和EIP值發生變化且為紅色->暫存器視窗ESP處右鍵,資料視窗跟隨,也可以在command視窗輸入dd esp暫存器後面的地址,回車->左下角十六進位制視窗右鍵,斷點,硬體訪問,word->F9執行->F8單步->向上的跳轉,選中下一行F4->找大跳轉,跳轉過去就有可能是OEP->上面選擇除錯,硬體斷點刪除斷點->入口處OD脫殼除錯程序->脫殼
棧 先進後出
SP 棧頂指標
cmp 比較命令
test 比較命令 0為假,非0為真 修改對比的值,可影響跳轉
雙擊暫存器中的EIP,返回程式執行位置
通常在關鍵跳上方一般2-3個call中,會出現關鍵call
F7 進入call,可修改test對比暫存器的值,下一行retn返回
查詢字串時,鍵盤b查詢下一個
jnz 比較跳轉
ini配置檔案重啟驗證,下讀檔案斷點
API斷點MessageBoxA:資訊框斷點,讓軟體彈出資訊框之前斷下來,F8單步,找call附近是否有跳過這個call的跳轉,如果有,則有可能跳轉到了註冊成功,將跳轉到註冊失敗的跳轉nop
ini重啟驗證斷點:bp getprivateprofilestringa對ini檔案讀取的攔截,下好斷點後,F9執行,Ait+F9返回程式領空去尋找關鍵地方
系統領空:記憶體地址較大,系統領空不可修改
程式領空:地址較小,一般0開頭
當到程式領空後,OD標題中的模組會變為程式名稱
萬能斷點(改過PE頭的檔案):
載入程式,F9執行,反彙編視窗右鍵檢視,模組,user32,繼續右鍵查詢,二進位制字串,F3 A5 8B C8 83 E1 03 F3 A4 E8,輸入假碼後,下萬能斷點,點選軟體註冊,Ait+F9返回程式領空,F8單步
VB之tcMsgBox: