iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0

前言

今天會嘗試使用 Ghidra 這個逆向工具來逆向昨天那支很簡單的 Hello world 程式,流程其實意外的不複雜 XD,那我們就開始吧~

逆向工具

最有名的應該是 IDA Pro 吧?但是那個 license 的費用實在不太親民。除此之外比較常聽到的免費工具有 Ghidra、x64dbg 等等。
我這次選擇使用 Ghidra 主要還是因為開源免費,再者我都沒用過沒有特別偏好,總之就先用這個看看 XD

安裝 Ghidra

Ref: https://github.com/NationalSecurityAgency/ghidra#install

  1. 安裝 JDK 17
  2. 下載 Ghidra 的 release file
  3. 解壓縮
  4. 啟動 ./ghidraRun

建立 Project

啟動之後,左上角裡面有個 New Project,後面就取個名字就可以建好專案。
https://ithelp.ithome.com.tw/upload/images/20231004/201626156H1on4hEDe.png

建好專案之後把昨天的 hello.out 拖曳進去資料夾中,看起來就會像這樣:
https://ithelp.ithome.com.tw/upload/images/20231004/20162615pHJaY2oSeC.png

之後點兩下 hello.out,就會使用 CodeBrowser 打開這個檔案,它會問你要不要分析這個檔案,選 Yes -> Analyze 就可以。
https://ithelp.ithome.com.tw/upload/images/20231004/20162615kA8G0g3RlJ.png

按下去之後馬上就分析好了:
https://ithelp.ithome.com.tw/upload/images/20231004/20162615ByrSMnhTWA.png
中間的區域是反組譯出來的組合語言,右邊的小區塊是反編譯出來的高階語言,可以看到即使和原先的程式不完全一樣,但要看出原本的功能是沒有問題的。

後記

今天簡單操作了一下 Ghidra,老實說沒做什麼事 XD,當然實務上逆向的程式都不會這麼簡單,裡面很多功能我也還不了解,不過也不用擔心,明天我們一樣會實際找題目來解!


上一篇
Day 19. Reverse - 簡介
下一篇
Day 21. Reverse - 實戰(上)
系列文
進了資安公司當後端 RD 才入門資安會不會太晚了30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言