1. 程式人生 > >ida動態除錯elf(無坑詳細)

ida動態除錯elf(無坑詳細)

原文網址:https://www.52pojie.cn/thread-730499-1-11.html

 

雖然linux下有gdb,radare2等神器,但有時候難免有用到IDA動態除錯linux下檔案的時候,這次自己按照網上教程來但是踩了無數坑,所以打算自己寫一篇教程


1.把ida中dbgsrv目錄下的linux_server或者linux_serverx64放到linux中(根據自己要除錯的程式選擇哪個版本的) 

 



2.chmod a+x linux_serverx64改變屬性,然後執行 linux_serverx64


   



3. 首先選擇Romote Linux debugger

,然後在process option中設定相關相關引數 


 



這裡要注意
很多失敗的原因都是因為這個引數沒設定好
很多失敗的原因都是因為這個引數沒設定好
很多失敗的原因都是因為這個引數沒設定好



重要的事說三遍,Application和Input file的路徑為linux中要除錯程式的路徑,包括程式


比如這裡/home/lql/mywork/other是除錯程式存放的路徑,WxyVM1是我們要除錯的程式名,Directory設定為存放路徑就可以了
第二個地方,hostname要設定為linux的ip地址,一開始我設定成localhost一直報錯,說目標機器積極拒絕······
埠號預設即可,密碼你沒有特意設定也預設為空,上面的那個Parameters
空著就好

 




4. 到這一步可以說是快成功了,首先在ida中下斷點,然後點start process,程式執行,在linux中就可以看到程式啟動了(注意這裡不是attach process,選擇attach process會報錯時候程式是在終端執行或者你沒有許可權)


 

 



5.後面具體除錯技巧我就不說了,F7,F8會用就能調了,然後在watch中加上要觀察的暫存器就可以了,這篇教程主要是為了能讓大家到達除錯的那一步