做过CTF的应该知道@无所不能的魂大人吧
之前看他的一篇IDA一日速成
有一些自己已经忘掉了的和不知道在此摘录出来
1. F5代码条件
Functions Window 窗口中的Segment属性可以分为plt,text,extern几种
而plt和extern都是外部库引入的一些函数,只有text是真正的程序代码
所以F5插件只对text属性的段有效
2. C与汇编切换
得到的C代码,可以使用tab键来进行C和ASM视图的切换
3. 修改十六进制
先在View-Open subviews中打开Hex dump视图
在IDA Vies-A中找到想要修改的位置,直接点击Hex View就可以自动定位
选中要更改的位置,然后右键点击Edit,修改完成后右键应用更改
4. 机器码87
jnbe是是不小于等于则跳,ja是大于则跳,机器码都是87
5. 同步反汇编窗口和Hex窗口
在反汇编窗口,选中一个地址然后右键
Synchronize with Hex View-A
6. 远程调试
在IDA的安装目录下找到Linux_server和Linux_serverx64两个文件
放进Linux服务器中,运行可以看见监听端口号是多少
然后在IDA中选好Remote Linux debugger调试模式,开始
Application和Input file输入要调试的文件名
路径的位置以调试器的位置为基准,也可以用绝对路径
建议放在一个文件夹下,直接写文件名较为方便
Hostname和Port不用说了,Password可以不用写
点击OK之后的对话框一路取消
再回到Linux服务器上查看,知道程序已经远程执行成功
这样就可以下断点了!
7. 调试过程中
在远程调试中,可以鼠标停放在函数上方
IDA会自动调出相关信息
哪天还是得把IDA权威指南仔细看一遍,翻过一次没细看就是不行