Feeds:
文章
留言

Archive for 2020 年 01 月

話說以前遊戲破解都會說"開啟 PC Tools 搜尋 xx xx xx xx 修改為 yy yy yy yy" 當時很好奇為什麼改了這計個數字就可以不用密碼本玩遊戲, 當時的技術水平無法理解, 下圖真是讓人熟悉的畫面

圖片來源

雖然之前用 IDA 修改過 ARM64 的組語, 不過一直沒機會試試 x86 的組語, 剛好最近有個專案有綁定 key 導致無法順利測試, 想說用 IDA 試試, 運氣真好(定位到目標還是很困難,可能還是要補強動態分析)破解成功. 紀錄一下思路.

1. IDA 7.0 使用正確版本載入 .dll, 由於該應用是 32 為版本, 所以使用 ida.exe 而非 ida64.exe

 

2. 搜尋字串

 

3. 跳到字串定義的 Address

4. 列出參照這個字串的相關函數

5. 跳到代碼的 Address

6. 圖表模式

7. 在往上尋找參照, 可以發現 “sub_101ECC10″ 返回值必須不為 0 , 所以只要讓她永遠返回 1 就不用 key 啦

遇到問題

1. 產生偽代碼時出現 “xxxxx: positive sp value has been found" , 網路上說調整 sp 可以修正, 不過實作上卻出現 “call analysis failed", 這個問題還需要再看有何解法, 網路另有一說法是 IDA Pro 7.2+ 有自動修正這個問題, 不過沒有版本可以驗證.

2. IDA 的 16 進位檢視的位址和實際檔案位置不同有點奇怪, 之前分析 ARM 不會有這個問題

Read Full Post »