idapro快捷键
看詹爹的出题文档发现有一堆快捷键不会,找了一会,从官网发现一个比较全的快捷键表 ,只不过都是英文的,尝试翻译一下并一个一个实现。
用?
表示未实现,用*
个数表示主观重要程度,越多越重要(吧大概)🤔
文件操作
* Parse C header file…(分析C头文件):Ctrl + F9
? Create ASM file…(生成ASM文件):Alt + F10
* Save(保存):Ctrl + W
* Exit with Save (退出并保存): Alt + X 或 Alt + F4
导航
** Jump to operand (跳转到操作数):Enter
? Jump in a new window (跳入新窗口):Alt + Enter
*** Jump to previous position( 跳转到上一个位置):Esc
** Jump to next position (跳到下一个位置):Ctrl + Enter
这个操作就相当于是 Esc 的逆操作,好像之前不太常用
** Jump to address…(跳转到地址):G
这win11的圆角真tm傻逼。。。
** Jump by name…(按名称跳转):Ctrl + L
看起来不错
** Jump to function…(跳转到函数):Ctrl + P
同上
*** Jump to pseudocode(跳转到伪代码):Tab
* Jump to segment…(跳转到段):Ctrl + S
* Jump to segment register…(跳转到寄存器):Ctrl + G
* Jump to problem…(跳转到问题):Ctrl + Q
? List cross references to…(列出交叉引用):Ctrl + X *
**** Jump to xref to operand… (跳转到外部参照到操作数):X
极为重要
** Jump to entry point…(跳转到入口点):Ctrl + E
** Mark position…(标记位置):Alt + M
标记以后标记处的代码会变色
*** Jump to marked position…(跳转到标记位置):Ctrl + M
标记了两处,可以直接跳转,我超!好用!🤤
? Error operand (错误操作数):Ctrl + F
搜索
* Next code(下一个代码): Alt + C
就是这里的code应该是指汇编语言的指令,在汇编窗口中按一次跳到下一个
* Next data(下一个数据):Ctrl+ D
在数据窗口中跳转到下一个数据
* Next explored (下一个被发现的数据?不太会翻):Ctrl + A
在伪代码里是全选,在汇编里是找到下一个被发现的指令,在数据栏里是找到下一个知道是个啥的数据(雾
* Next unexplored(下一个未被发现的数据?也不太会翻):Ctrl + U
猜测有一些数据是unk开头,大概就是找这些数据吧
* Immediate value…(立即数):Alt + I
立即数通常是指在立即寻址方式指令中给出的数。可以是8位、16位或32位,该数值紧跟在操作码之后。如果立即数为16位或32位,那么,它将按“高高低低”的原则进行存储。
* Next immediate value(下一个立即数):Ctrl + I
* Text…(文本):Alt + T
* Next text(下一个文本):Ctrl + T
? Sequence of bytes…(字节序列):Alt + B
? Next sequence of bytes(下一个字节序列):Ctrl + B
编辑
***** Rename(重命名):N
* Enter repeatable comment…(输入可重复的注释):;
* Enter comment…(输入注释)::
** Begin selection(开始选择):Alt + L
不用按着鼠标然后一直拖了,自动选中功能,很方便
***** code(代码):C
把数据变成代码
***** data(数据):变成数据
极为重要,不解释
** Struct var…(结构体变量):Alt + Q
***** String(字符串):A
极为重要,不解释
***** Array(数组):*
极为重要,其中 Array size 也要关注一下
** Undefine(未定义):U
把数据变成 unk
型
* Enter anterior lines…(在上方插入注释):Insert
* Enter posterior lines… (在下方插入注释):Shift + Insert
* Offset (data segment) (偏移(数据段)):O
把数据变成 Off
型
? Offset (current segment)(偏移(当前段)):Ctrl + O
谔谔,好像没发现啥区别
? Offset by (any segment)…(偏移(任意段)):Alt + R
撞快捷键了哈哈
* Offset (user-defined)…(偏移(用户定义)):Ctrl + R
* Offset (struct)…(偏移):T
? Number(default)(数字(默认)):
***** Hexadecimal(16进制):Q
***** Decimal(10进制):H
***** Binary(二进制):B
***** Character(字符):C
*** segment(段):S
***** Enum member(枚举成员):M
*** Stack variable(堆栈变量):K
** Change sign(更改标志):_
就是把你之前改过的数据类型给刷新一次在伪代码界面显示出来,好像还有其他变动,不太清楚捏
* Bitwise negate(按位求反):~
* String literals…(字符串文字):Alt + A
***** Setup data types…(设置数据类型):Alt + D
*** Edit segment(设置段):Alt + S
**Change segment register value…(更改寄存器值):Alt + G
? Select union member…(选择联合成员):Alt + Y
**** Undo (后退):Ctrl + Z
**** Redo(撤销后退):Ctrl + Shift + Z
打开子视图
*Local types(本地类型):Shift + F1
***Functions(函数):Shift + F3
*Names(名字):Shift + F4
*Signatures(签名):Shift + F5
*Segments(段):Shift + F7
*Segments register(段寄存器):Shift + F8
*Structures(结构):Shift + F9
*Enumerations(枚举):Shift + F10
*Type libraries(类型库):Shift + F11
**********Strings(字符串):Shift + F12
不会这个的可以开了吧大概
函数
*****Create function…(创建函数):P
*****Edit function…(编辑函数):Alt + P
****Set function end(设置为函数结尾):E
没用过,感觉比 Alt + P方便?
**Stack variables…(堆栈变量):Ctrl + K
堆栈真不熟。。。。
***Change stack pointer…(更改堆栈指针):Alt + K
**Rename register…(重命名寄存器):V
*****Set type…(设置类型):Y
极为重要,可以编辑伪代码,让其变得更加易读
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 EPs1l0h's Castle!
评论