MAC使用IDA PRO遠程調試LINUX程序


1 背景

 在學習Linux系統上的一些漏洞知識的時候,往往需要進行“實地測試”,但是在Linux系統上進行調試並不太方便,因為LINUX自帶的GDB調試工具真的不太人性化,即使有GDBTUI之類的“偽圖形界面調試器”,也跟IDA PRO之類的調試器相差甚遠。這里又遇到另一個問題了——LINUX平台的IDA PRO不太好找。

   綜上,對於初學者而言最佳方案就是使用IDA PRO的遠程調試功能!

2 環境配置

  本文主要說明在MAC系統上如何通過IDA PRO對linux程序進行遠程調試(如果宿主機為WINDOWS系統的話,原理類似)。

 2.1 遠程Linux端環境配置

  首先,需要將IDA PRO中自帶的用於遠程調試的程序拷貝到LINUX機器中,這個程序就是linux_server或者linux_serverx64,前者用於調試32位程序,后者用於64位程序,且后者並不能兼容前者,因此在調試的時候需要注意了。后文以調試32位程序為例。

  筆者的遠程Linux系統為Ubuntu14.04,這是一個64位系統,因此默認情況下無法運行32位的linux_server程序,主要報錯為缺少 libstdc++.so.6系統庫,解決辦法很簡單:

sudo apt-get install lib32stdc++6

  然后再運行linux_server就沒問題了,成功運行效果如下:

chouchou:~$ ./linux_server
IDA Linux 32-bit remote debug server(ST) v1.20. Hex-Rays (c) 2004-2015
Listening on port #23946...

 至此,Linux端的環境配置就完成了,是不是很簡單^_^ ?

 2.2 宿主MAC端環境配置

  1. 首先,需要將等待調試的Linux應用程序拷貝到MAC端,以調試overFlow程序為例,將該程序拷貝到MAC目錄中,筆者為~/Documents/vmWare/share/overFlow .

  2. 然后,使用IDA打開該程序,注意因為是32bit程序,所以我們也需要選擇32bit的IDA,通常命名為idaq.(64bit IDA通常命名為idaq64)

  3. 在IDA的菜單選擇Debugger->Select debugger,然后選擇Remote Linux debugger,如下圖所示:

      

   4. 再次點擊Debugger菜單,選擇Process options,然后參照下圖進行設置:

       

    至此,MAC端的環境配置完畢。

3 開始調試

   首先,我們在IDA中的main函數中下斷點,如下圖所示:

  然后在Debugger中選擇Start process,在彈出的窗口中根據提示信息選擇yes和cancle即可,最終得到如下圖所示的調試界面:

    大功告成!開始愉快的享受IDA帶來的非一般的調試體驗吧!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM