IDA进阶使用技巧

解决IDA F5时提示SP问题

Ida针对栈指针变化的分析时,很多时候会无法确定一个call到底是哪种调用约定,从而导致分析失败无法F5。

打开Options->General

IDA Options alysis Address representation use s egne Basic block Include S e 4" ent addresses Borders betEeen data/ code boundari es e line aph) n-graph) Gr aph ssembly line aph) f opcode bytes Glon—graph) Igstruction indentation Glon—graph) Cæ.ents indentation Glon—graph) Right margin Glon—graph) Ex segooo:0FE4 s limit oxloooo limit ox7FFE1000

. text . . text : . text : . text . . text : . text : . text . . text : . text : . text . . text : . text : . text : . text : . text : . text : . text : . text : . text : . text : . text . . text : . text : . text . . text : . text : . text : . text : . text : . text : . text : • 00401100 00401107 ØØ4011ØA 02 •ØØ4Ø11ØD 00401110 00401113 •00401116 00401119 •ØØ4Ø111F 00401124 02 00401127 0040112B 00401131 00401136 0040113B 00401140 00401142 00401147 •ØØ4Ø114E 00401153 00401158 •ØØ4Ø115D 00401162 1165 . text : 5 0040116 ØØ40116A 0040116C ØØ40116D ØØØ ØØ40116D 028 028 02 02 02 02 X 02 02 02 03 03 03 03 01 010 008 mov lump to operand Jump in a window Jump in a new hex window List cross references from... Edit function... Change stack pointer... Hide Graph view Proximity browser Undefine Synchronize with Run to cursor Add write trace Add zead/write trace Add execution trace Add breakpoint Copy address to command line Xrefs graph to„. Xrefs graph from... Eont... mov pop retn [ebP+var [ebp+var_4] 4] Enter 4] Alt+ Enter C] Ctrl+J Alto Alt+K Ctrl+Numpad+- eax Numpad+- ; "fuck" _krn1n_fnMsgBox allKrnILibCmd ; CODE XREF: sub_4010DB+50tj esp, ebp ebp

手动平衡变成负数堆栈即可。

显示OpCode的办法

设置个长度就可以了

看不懂的指令自动提示

快速选择数据并复制

不得不说ida自带的窗口想复制一些东西出去太难用了,但作者还是贴心的提供了连选功能。

按下Alt+L

注意光标的变化

选区之后按下Shift+E(Export data)

选择一个你要的风格就可以了。

修改IDA的虚拟基地址

当你调试的同时享受ida的f5功能的时候是不是每次都要手动算偏移而感到很烦呢?

Edit->Segments->Rebase Program

书签(标记)功能

必须一提的是,IDA没有提供查看之前写过的注释的功能(至少我没找到),请善用Alt+M功能,很多时候他会节约你找注释的时间(打过注释的地方记得下书签)。

Ctrl+M可以跳到一个标记去。

查看函数全局引用

View->Open subviews->Function calls

快速计算高级表达式

算地址的时候是不是每次都要打开一个计算器点来点去很浪费时间呢?

请按下键盘上的”?”键。

这个功能相信会节约你大量的时间!

快速筛选感兴趣的函数

在Function window中按下crtl+shift+f

删除数据库中的个人信息

如果你是正版用户的话,你自然不想把带着你个人授权信息的ida的分析数据库给别人。

那么del_user_info()

会帮助你隐藏你的身份

新建窗口为什么不出现在屏幕中间

相信好多朋友被ida的糟糕界面操作方式搞得很火,这里要提一下,你打开的新窗口默认会创建并dock在你鼠标目前所在的容器里面。

快速声明结构体

按下Shift+F1,右键Insert

快速关闭IDA而不提示保存数据库

按住Ctrl+Shift再去点X

警告!这样会放弃本次对数据的所有操作,相当于是不保存数据库。

快速查看所有快捷键

按下Ctrl+Shift+P

全局搜索数据

字符串窗口有时候可能会丢掉一些字符串。

Alt+T

Alt+B

修正非标准调用约定导致的错误分析

在函数头右键Set Item Type

__usercall xxxx@<返回值寄存器>

Z:\Reverse\crackhomework\zj\1\TIM截图20181105220530.png

发表评论

电子邮件地址不会被公开。 必填项已用*标注