iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Security

逆向工程 – 從入門到放棄 系列

總是好奇:電腦是如何讀懂程式碼?電腦不是0和1的邏輯電路構成的嗎、為什麼在寫程式的時候不用寫一大堆0與1就能與它溝通?如果它跑得動,不就代表他中間有經過處理、剖析、那它到底是怎麼運作的?我能不能夠過逆向來更加了解電腦(CPU)的運作邏輯?打CTF的時候很常遇到Reverse題目,有哪些工具、技巧可以運用?惡意程式到底有什麼行為、我應該如何分析?

鐵人鍊成 | 共 30 篇文章 | 34 人訂閱 訂閱系列文 RSS系列文 團隊好想工作室 v4.0
DAY 21

Day21 - 逆向並找出函式呼叫的特徵

因為是函式呼叫所以能觀察到 main() 裡面去 call 其他 function 。今天介紹呼叫單一函數、函數裡僅有單一參數、雙參數、函數中再呼叫其他函數的情...

2020-10-06 ‧ 由 @x0mg 分享
DAY 22

Day22 - 逆向並找出陣列的特徵

今天準備逆向並找出陣列的特徵。包括陣列基本特徵、使用 for loop 遍歷陣列元素、二維陣列。 基本特徵 可以看到數字 10h, 20h, 30h 被 mo...

2020-10-07 ‧ 由 @x0mg 分享
DAY 23

Day23 - 逆向並找出指標的特徵

今天逆向並找出指標的特徵。指標意即記憶體位置,系統在傳資料的時候大多使用指標進行資料傳遞。 指標 disassemble main 跟上圖大同小異。 解答公...

2020-10-08 ‧ 由 @x0mg 分享
DAY 24

Day24 - 一題入門的 CTF

今天介紹入門的 CTF 題目,可以檢驗過去的學習知識是否夠紮實(當然某些題目可能需要通靈XD)。基本上,會挑一些基礎的、可以解釋的題目當作練習題,並且把它寫成...

2020-10-09 ‧ 由 @x0mg 分享
DAY 25

Day25 - Buffer Overflow

今天介紹簡單的 Buffer Overflow 題目。 Buffer Overflow 是什麼? 根據Wiki: (Buffer Overflow) 緩衝區...

2020-10-10 ‧ 由 @x0mg 分享
DAY 26

Day26 - 提升程式被逆向的難度 - 編碼

Day14 我們說到的驗證程式,透過 strings 搜尋就可以找到。於是我們想要提升逆向的成本,何不將驗證方式改掉?改成駭客想不到的方式? 實作 原本的程式太...

2020-10-11 ‧ 由 @x0mg 分享
DAY 27

Day27 - 防止被 Debugger 逆向

昨天有嘗試將驗證字串編碼,但還是容易被逆向找到程式邏輯並繞過。今天嘗試透過 Fuzzing 將程式位元反轉使得 Debugger 無法逆向。 目標: 如下圖,B...

2020-10-12 ‧ 由 @x0mg 分享
DAY 28

Day28 - reversing.kr - Easy_ELF

reversing kr 是一個很不錯的練習逆向的地方。 reversing .kr 介紹 This site tests your ability to...

2020-10-13 ‧ 由 @x0mg 分享
DAY 29

Day29 - 總結推薦逆向資源

WannaCry 還沒逆完,把最後一天的內容拿出來擋一下。請讀者見諒XD 今天不會講解技術,會推薦基礎的逆向工程資源。 以下是我覺得不錯的教材,推薦給讀者。 R...

2020-10-14 ‧ 由 @x0mg 分享
DAY 30

Day30 - 逆向 WannaCry 病毒,想哭病毒?

惡名昭彰的 WannaCry 讓 Windows 使用者欲哭無淚。今天來逆向 WannaCry,看這隻病毒到底有什麼實際行為?為什麼新聞說有人買下特定的網域,就...

2020-10-15 ‧ 由 @x0mg 分享