IDA超快速上手干货

安装与授权:https://www.cnblogs.com/jhxxb/p/13451569.html

如果是逆向较大的文件,需要等待较长时间加载计算,注意左下角不断有新的方法名字出现就是在计算,要耐心等待。

通常的逆向流程

1.在左边的方法名称中搜索main函数,通常ida计算完会直接进入main函数的界面。

ctrl+f:搜索(函数名)

2.分析逻辑,点击函数名

(1)双击可以进入函数位置

(2)选中后按n可以修改函数名(用来做标记)

3.如果没有直接可视的main函数,则按shift+f12看字符串,搜索找到关键字符串(如flag),双击进入调用字符串的代码部分。也能按x搜索交叉引用,找到使用字符串的代码的位置。

核心快捷键:

(1)按空格,切换代码和程序块界面

(2)按F5,切换到逆向还原的原代码界面,按tab,切换回汇编语言界面。

通常,通过上面的步骤就能从二进制文件中找到需要分析逻辑的源代码,接下来就需要结合计算机各方面的知识进行分析破解。

在分析完成后,若需要修改二进制文件,则使用keyboard。

ctrl+alt+k:用keyboard修改汇编语言命令。

根据函数代码逻辑修改对应位置的汇编语言,可以达到绕过检测引起的无限重启等作用。最后需要保存修改,重新输出文件。

错误处理方法

IDA的翻译有不准确的时候,需要人工查看汇编代码、分析逻辑,然后对IDA分析的代码进行修改。

结构体

添加结构体

打开结构体:View——Opensubviews可以打开很多窗口,若误关闭默认打开的窗口,也可以再这里重新打开,拖放到对应位置。在这里打开Local types,右键选择Add type即可创建结构体,选择合适的长度大小。

在创建的结构体内空白处,按d添加内容,按y更改内容。通常按照查找的官方文档进行定义。

后续修改

在合适的地方按y将变量类型改为添加的结构体,注意长度变化后数组可能变为单个变量。

外部引用的函数可能出现传参不对的情况,按y进行修改。

搜索函数后选中,按x可以获取其got表内容。

按g:跳转

编译出错时,点击选中函数开头,按p将其指定为函数。

查看.data内容时,点击变量跳转到.data的内容,若需要将零散字符整合到一起来看,点击view——open subview——hex dump,来修改每一行显示的字符的长度。

在反汇编代码中添加注释按“/”,在汇编代码中按”;”

遇到很长的字符串内容需要复制,选中内容,点击edit——export data,可以选择格式进行复制。