IDA超快速上手干货
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,可以选择格式进行复制。