OllyDbg快捷键:
Ctrl+N 打开应用程序输入表
Ctrl+F9 出现ret命令的时候中断
Alt+F9 若进入系统领空,次命令可以瞬间回到应用程序领空
Ctrl+F2 重新运行程序
F12 暂停程序
Shift+F2条件断点 如: eax==0400000 或 [STRING[eax+4]=="c:\\1212.txt"]
乱码问题:
olldbg将这段代码当成数据了,Ctrl+A进行重新分析
如翻页后找不到当前断点行,可以点击上面的图片C也可以双击寄存器EIP 回到当前执行的地址
修改EIP:
将光标移到所需要的地址上,然后执行右键菜单"New Origin here"(此处新建EIP)或使用快捷键"Ctrl+*"
比如"call 401496",假设401496处是aa()函数,将光标停在401496,单击Shift+; 键,出来一个标签矿,输入
aa,这样所有调用401496的call都变成了"call aa" 的形式
IDA快捷键:
1,翻页:
当执行跳转功能后,需要返回时,只要在工具栏中点击 <- 或按Esc键,列表便会往后跳一页;
若要往前一页,点击 -> 或按"Ctrl+Enter"键.
2.注释:
按;号输入的注释,所有交叉参考处都会出现,
按:号键输入的注释只在该处出现
3.交叉参考
通过交叉参考(XREF)可以知道指令代码互相调用的关系.如下:
.text:00401165 loc_401165: ;CODE XREF:sub_401120+B|j
这句CODE XREF:sub_401120+B|j 表示该调用地址是401120,
"j"表示跳转(jump)
"o"表示偏移值(offset)
"p"表示子程序(procedure)
双击这里或按回车键可以跳到调用该处的地方
(在loc_401165字符上按X键,将打开交叉参考窗口)
4.参考重命名:
找到一段代码(一般为函数入口名),右键点击选择"Rename"可以将函数名称变成易懂的名称.
5.标签的用法:
在菜单"Jump"中选择"Mark Position" 将会打开 标记当前位置功能,输入一个名称, 在菜单"Jump/Jump to marked position" 中或按"Ctrl+M"键双击想要调转的名称,便会到达制定的代码位置.
6.进制的转换:
选择快捷键的#可以转换进制,选择"Toggle leading zeroes"功能是用0填补数据前的空位.