IDA簡單使用
2023-04-26 14:44 作者:rkvir逆向工程學(xué)院 | 我要投稿
今天來簡單介紹一下逆向中常用到的另一個靜態(tài)分析工具IDA,還是昨天那個打印demo(64位):
#include
#include
char a[] = "https://www.vultop.com/";
int main(int argc, char* argv[])
{
??? printf("%s", a);
??? system("pause");
??? return 0;
}
因?yàn)槭亲约壕帉懙拇a,有符號文件,所以分析起來很方便,函數(shù)名都有:

在箭頭這塊ctrl+f,出現(xiàn)搜索框,直接搜索main:

在右邊箭頭位置按空格:

可以看到我們的主函數(shù)代碼,在這塊按一下F5,就可以用到IDA中最強(qiáng)大方便的功能,俗稱F5大法,會編譯成成語言形式:

對照源代碼,基本流程很清晰。雙擊printf中的參數(shù)a:

按一下shift+f12就是字符串信息:

IDA其他頁面都有名字,這里不再解釋,接下來我們看一下沒有符號文件的時候的IDA:


可以看到這里大部分函數(shù)名是sub_xxx,搜索main函數(shù)也是搜不到的:

這種情況我們只能從start開始找主函數(shù),就像在OD里面找到主函數(shù)一樣,當(dāng)然也可以通過字符串叉查找。首先通過字符串查找一下:

雙擊:

標(biāo)記這串字符串,按ctrl+x,看看哪里引用了這段字符串:

然后就到了主函數(shù)這里:

F5就可以查看偽代碼,接下來我們靠特征找一下,函數(shù)名搜索框搜索start:




在這里按空格,方便查看,找下面這段代碼:

進(jìn)第二個call:

進(jìn)最后一個call,走進(jìn)一個jmp,到了主函數(shù)這里:

標(biāo)簽: