由一道逆向題而引發,IDA調試ELF文件


 

通過suctf-2016的一道題:serial-150而引發的一系列問題與解決方案:

  1. 這道題目怎么解:

    本意是想通過解決這道題來學習新知識,確實學到了。

    IDA打開后發現無法反編譯,此時我想,如果是exe的話我可以用od動態調試,可是elf該用什么呢?linux上有專門的調試工具,可我都沒怎么用過。

    在網上搜尋wp后發現用的是IDA通過遠程連接linux來調試elf文件,那么問題來了,我不會。

  2. IDA遠程動態調試ELF文件

    因為還沒有研究《IDA Pro權威指南》,暫時跟着網上的來。

    綜合了多家博客的方式,我也算終於摸索出來如何實現IDA遠程調試ELF文件。

     

    從效果上看,IDA在我主機上運行,通過設置連接到了虛擬機的linux系統上,實現了主機調試,虛擬機運作的這么一種方式。原理暫不明白。

    以下是成功之后的情況:

     

     

    連接的第一步:

    將對應的文件復制到linux中,一個32位一個64位請自己選擇。(以64位為例

    然后我將需要調試的文件一並復制到一個專門的文件夾:

     

    然后在linux中運行,這里我用了【chmod 777 linux_server64】指令打開權限,然后【./linux_server64】開啟服務:

     

    此時,linux上的步驟已經完成了。

    如果是第一次操作的話需要加幾個步驟:

【ifconfig】來找到自己虛擬機的ip地址:

我的虛擬機在這一步出現了問題,這是后面我要說的。

【pwd】記錄所在位置的路徑:

 

然后就是主機上IDA的設置了:

像之前一樣將文件拖入IDA,然后打開。

打開之后在菜單欄:

select debugger

 

選擇remote linux debugger

 

選擇process options

 

這一步就比較重要了,也比較容易出錯,改寫什么我都在圖中標注好了。

 

如果沒有問題的話,我們按下F9就可以開始調試了,同時linux虛擬機上會顯示連接成功的消息:

 

之后便可以開始調試了,具體怎么調試就是另一個問題了。

 

一些問題:

第一個問題:

我遇到的第一個問題就是IDA反映了這么一段話:

The file cant be loaded by the debugger plugin.

Please verify that the parameters are valid.

調試器插件無法加載文件,請驗證參數是否有效。

我解決這個問題的方法是關閉了防火牆,大概放開端口也可以解決。

Ubuntu關閉防火牆:【sudo ufw disable】

Ubuntu打開防火牆:【sudo ufw enable】

Ubuntu開啟端口:【sudo ufw allow 端口號】

 

第二個問題:

    

這個是因為填寫的ip地址不正確,至於為什么填了個這個,是因為我第一次ifconfig的時候沒有ip地址…

 

第三個問題:

這個也是因為輸錯了ip,不過這次不是localhost了,是我另外的虛擬機的。

 

  1. VMware下我的Ubuntu虛擬機沒有IP地址解決方案

    在我嘗試連接虛擬機的時候,第一次並沒有填寫正確的ip地址,因為根本沒有給我。

    在網上找解決方案,看到一個人的博客里寫着自己修改了開機選項,關閉了一些選項,把他們開啟就好了https://blog.csdn.net/qq_38222534/article/details/80635272

     

    最后,你問我這題怎么做?

    那得等我用熟動態調試才行。


免責聲明!

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



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