shark恆破解筆記1 殼內尋找註冊碼

2021-09-18 07:17:33 字數 1799 閱讀 7404

od開啟 明顯有殼

f9先執行程式 2、ctrl+g輸入401000到解碼段,如果出現db **

說明已經解碼過,脫離了程式本身的殼

滑鼠右鍵->分析->從模組中刪除分析 在這可以搜尋字串

搜尋字串 「未購買」

004bc939 ba 8cca4b00 mov edx,engydt.004bca8c ; - 未購買使用者
因為這裡顯示未購買,那麼前面一定有個地方是判斷了註冊碼的正確與否,我們向上翻

004bc8a0    ba 40ca4b00     mov edx,engydt.004bca40                  ; software\engydt
這裡是關於登錄檔項的資訊,程式肯定時在啟動的時候訪問了登錄檔,提取了我們輸入的使用者名稱和假碼,然後判斷是錯誤,所以註冊失敗,我們在這裡下斷點。重新執行

ps;為何選擇在這裡下斷點呢?因為軟體讀取登錄檔裡的註冊碼後,會和真碼進行比較,斷在這裡,然後進行單步除錯,就可以找到真碼了。

下個getstartupinfoa斷點,重新執行,讓程式在解碼後未真正"執行"前斷下來

ps:為何要在這個api下斷點?我的理解是由於加了殼,所以程式中登錄檔項下的那個斷點是不能用的,只得在軟體脫殼後且未驗證之前再下乙個斷點,讓我們有時間來手動啟用登錄檔項中的斷點。

f9 執行

發現程式已經在初始化之前斷了下來

現在我們檢視下斷點

觀察斷點視窗,前面下的斷點a,b,c如果顯示是add byte ******表示還

沒解碼完成。繼續f9執行程式,直到顯示正常匯程式設計序**,

刪除或禁用getstartupinfoa斷點,因為是有殼的程式,這時下的a,b,c斷點

是禁用的,我們右鍵啟用它,f9執行,程式會斷在a,b,c斷點處斷下。

f9執行 可以看到成功在登錄檔項處斷了下來

然後我們開始f8單步執行 來分析

直到註冊碼在堆疊視窗出現

有殼的程式不能儲存,需要打補丁,這裡直接複製了註冊碼就成功註冊了。

posted @

2019-04-15 09:44

卿先生 閱讀(

...)

編輯收藏

shark介面1分析(二) suspend流程

shark流程掛起過程 1 得到執行管理器介面 executionadministrationea shark.getinstance getadmininte ce getexecutionadministration 2 連線工作流伺服器 ea.connect username,password...

菜鳥筆記 1 暴力破解簡單程式

輸入任意數值,單擊登陸 記錄關鍵字 經過查殼後發現無殼 將login.exe載入ollydbg程式,單擊執行按鈕 或快捷鍵f9 單擊反彙編視窗,按ctrl g快捷鍵,在彈出的對話方塊中輸入 00401000 單擊 確定 按鈕。然後右鍵選單選擇 中文搜尋引擎 智慧型搜尋 在彈出字串介面,按快捷鍵ctr...

破解 彙編學習筆記

1.迴圈,用得比較多,也是加密 驗證常用的 mov eax,dword ptr ss ebp 4 call xx 這一般是取長度 test eax,eax loop jbe xx 長度為0,不做迴圈 mov edx,1 從第乙個開始 delphi程式 mov ecx,dword ptr ss ebp...