Boring_Binary
Introduction
第一章 通過逆向工程學習如何讀懂二進制代碼
1.1 先來實際體驗一下軟體分析吧
1.1.1 通過 Process Monitor 的日誌來確認程式的行為
1.1.2 從登錄檔訪問中能發現些什麼
1.1.3 什麼是逆向工程
1.2 嘗試靜態分析
1.2.1 靜態分析與動態分析
1.2.2 用二進制編輯器查看檔案內容
1.2.3 看不懂編譯語言也可以進行分析
1.2.4 在沒有原始碼的情況下搞清楚程式的行為
1.2.5 確認程式的原始碼
1.3 嘗試動態分析
1.3.1 設置Process Monitor的過濾規則
1.3.2 除錯器是做什麼用的
1.3.3 用Olly Dbg洞察程式的詳細邏輯
1.3.4 對反組譯原始碼進行分析
1.3.5 將分析結果與原始碼進行比較
1.4 學習最基礎的組譯指令
1.4.1 沒必要記住所有的組譯指令
1.4.2 組合語言是如何實現條件分支的
1.4.3 參數存放在堆疊中
1.4.4 從組合語言聯想到C語言
1.5 通過組譯指令洞察程式行為
1.5.1 給函數設置斷點
1.5.2 反組譯並觀察重要邏輯
第二章 在射擊遊戲中防止玩家作弊
2.1 解讀內存轉儲
2.2 如何防止軟體被別人分析
Powered by
GitBook
1.3.2 除錯器是做什麼用的
1.3.2 除錯器是做什麼用的
通過Process Monitor我們只能知道上面這些訊息,如果要進一步跟蹤程式邏輯,我們需要使用除錯器。
調試器是一種幫助發現程式問題和bug的軟體,一般來說至少應具備以下功能:
斷點:能夠讓程式在任意位置中斷、恢復執行的功能。
單步跳入:呼叫函數時進入函數內部。
單步跳出:呼叫函數時不進入函數內部,而是將函數呼叫作為一條指令來執行。
查看暫存器和記憶體數據:可以在程式中斷執行的狀態下確認暫存器、記憶體和變數的狀態。
本章使用的調試器為OllyDbg。
results matching "
"
No results matching "
"