利用ida內置腳本IDC靜態除錯和Linux內核動態除錯gdb兩種方法解決攻防世界no-strings-attached
一、首先來看靜態除錯的解決辦法
1、檔案識別
直接拖進PE識別工具 elf/32位
可以看出不是window可執行的PE檔案,而是以Linux為內核的ELF檔案,要在Linux系統下進行運行,
2、進行匯編與反匯編
話不多說,程式直擊拖進ida.(注意這里的程式是32位的,要用32位ida來進行反匯編)


加密是對s和dword_8048A90進行操作
s代碼段

由于我們一個一個讀取資料太麻煩這里我們利用ida的內置腳本IDC將十分方便


這樣我們就得到s全部的資料

接下來我們再打一腳本來模擬加密程序

運行之后我們就可以得到答案

通過靜態除錯后我們發現flag為9447{you_are_an_international_mystery}
二、Linux動態除錯gdb來解決該問題
從上面ida的分析我們可以知道,加密程序decrypt運行完成后只要知道回傳值dest即可,所以利用gdb在decrypt下斷點即可
1、gdb ./檔案名 載入程式

2、b decrypt(函式名)在decrypt下斷點

3、r運行

4、n單步進入

5、x查看值 /s以字串的形式 $eax 查看暫存器eax的值

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256331.html
標籤:其他
上一篇:Apache Druid 命令執行漏洞(CVE-2021-25646)復現
下一篇:長這么大第一次不回家過年
