天天看點

IDA靜态分析so檔案(一)環境開始總結感謝

本文是記錄自己學習IDA的一些總結與歸納,并将其展現成具體功能,便于複習與交流,有不對之處望大家包容并指出,歡迎大家留言收藏

本篇是IDA靜态分析的第一篇, 本文講解非常簡單的靜态分析so包 , 以便于熟悉IDA

環境

  • IDA pro 7.0
  • so包是32位
  • 附加GitHub位址下載下傳apk
  • 如果出現其他問題可以參考IDA常見問題

開始

  1. 通過分析apk, 我們知道, java層調用了那些本地函數 , 實際運用也是如果 , 我們需要先分析java層代碼 , 本文我們就是找到本地函數怎麼對比字元串
    IDA靜态分析so檔案(一)環境開始總結感謝
    IDA靜态分析so檔案(一)環境開始總結感謝
  2. 将apk包提取成檔案夾形式
    IDA靜态分析so檔案(一)環境開始總結感謝
  3. 打開IDA 到一下界面 ,我們選擇new
  • new 打開一個新的檔案
  • go 打開之前打開過得曆史資料
  • Previous 最近用過的檔案
    IDA靜态分析so檔案(一)環境開始總結感謝
  1. 找到我們項目中的so檔案,輕按兩下打開,一路确定
    IDA靜态分析so檔案(一)環境開始總結感謝
  2. 這時候ida正式打開so檔案 ,顯示出各個子產品,我們找到functions window , 顧名思義 , 是方法區 ,然後搜尋我們剛剛需要找的函數名(快捷鍵 ctrl + f ) ,輕按兩下打開函數
IDA靜态分析so檔案(一)環境開始總結感謝
  1. 這是這時候視圖區就定位到目前函數
    IDA靜态分析so檔案(一)環境開始總結感謝
  2. 點選函數名, 按F5 (注意:需要插件,很多ida都是自動內建的) 有确定按确定 , 就會轉成c函數
    IDA靜态分析so檔案(一)環境開始總結感謝
  3. 這時候,有一點c基礎的都大概能看得到基本邏輯 ,就是拿v5 和 password做對比,但是很别扭,為什麼參數都是int類型的 , 大家知道jni函數定義規則,由于ida并不能辨識參數類型,是以我們可以修改參數類型(點選參數類型按y)
    IDA靜态分析so檔案(一)環境開始總結感謝
  4. 最終成為如下圖,是不是非常親切
    IDA靜态分析so檔案(一)環境開始總結感謝

總結

本文講述以下幾點

  • 靜态檢視so包
  • 并找到指定函數
  • 修改函數類型

感謝

歡迎大家點贊分享收藏

IDA學習專欄

繼續閱讀