文章目录[隐藏]
转载 2 / 27
- 【转载】unidbg hook 使用大全
- 【转载】ida 基本使用 常用快捷键
- 【转载】Frida和调试器共存的问题
- 【转载】Charles抓包Android最佳流量转发APP
- 【转载】安卓自定义代码调用系统函数并编译so记录
- 【转载】jnitrace 手机卡死黑屏问题解决
- 【转载】Unidbg SO 逆向入门实战教程一 OASIS
- 【转载】Unidbg SO 逆向入门实战教程二 calculateS
- 【转载】Unidbg SO 逆向入门实战教程三 V2-Sign
- 【转载】Unidbg SO 逆向入门实战教程四 mfw
- 【转载】Unidbg SO 逆向入门实战教程五 qxs
- 【转载】Unidbg SO 逆向入门实战教程六 s
- 【转载】Unidbg SO 逆向入门实战教程七 main
- 【转载】Unidbg SO 逆向入门实战教程八 文件读写
- 【转载】Unidbg SO 逆向入门实战教程九 blackbox
- 【转载】Unidbg SO 逆向入门实战教程十 simpleSign
- 【转载】android app 加密参数分析研究 hash aes
- 【转载】第一讲——从黑盒攻击模型到白盒攻击模型
- 【转载】第二讲——白盒加密攻击方法的选择
- 【转载】第三讲——差分故障攻击的原理
- 【转载】第四讲——差分故障攻击的工具链
- 【转载】第五讲——使用源码进行DFA攻击
- 【转载】第六讲——使用Frida进行DFA攻击
- 【转载】第七讲——使用Unidbg进行DFA攻击
- 【转载】第八讲——案例
- 【转载】猿人学 - app 逆向比赛第四题 grpc 题解
- 【转载】猿人学 - app 逆向比赛第五题双向认证题解
0x1 ida 常用快捷键
-
1、切换文本视图与图表视图
空格键
-
2、返回上一个操作地址
ESC
-
3、搜索地址和符号
G
-
4、对符号进行重命名
N
-
5、常规注释
冒号键
-
6、可重复注释
分号键
-
7、添加标签
Alt+M
-
8、查看标签
Ctrl+M
-
9、查看段的信息
Ctrl+S
-
10、查看交叉应用
X
-
11、查看伪代码
F5
-
12、搜索文本
Alt+T
-
13、搜索十六进
Alt+B
0x2 ida 动态调试快捷键
F2:下断点
F3:打开程序
F4:运行到当前光标处(可应用在跳出 循坏)
F7:单步步入(进函数)
F8:单步 步过
F9;运行
F10:打开反汇编选项菜单快捷键
F12:暂时停止
Ctrl+F2:重新开始
Art+F2:结束跟踪
Shift+F2:打开附加选项窗口
Shift+F4:打开条件对话窗
Shift+F7:与F7相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步入被调试程序指定的异常处理
Ctrl+F7:自动步入,在所有的函数调用中一条一条地执行命令,断点或异常时,自动 停止
Shift+F8与F8相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步过被调试程序指定的异常处理
Ctrl+F8:自动步过,一条一条的执行命令,程序到达断点,或者发生异常时,自动步过过程都会停止
Shift+F9:与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理
Ctrl+F9:执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条命令执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
Alt+F9:执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中,在此期间不进入子函数也不更新CPU数据。按Esc键,可以停止跟踪。
Ctrl+F11:Run跟踪步入,一条一条执行命令,进入每个子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。
Ctrl+F12 :Run跟踪。步过,一条一条执行命令,但是不进入子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。
Art+C:快速回到主界面
Alt+B:显示断点窗口
Alt+E:显示模块窗口
Art+L:显示记录窗口
Alt+M:显示内存窗口
Alt+O:显示调试选项窗口
Alt+K:显示呼叫堆栈
Ctrl+E:编辑机器码
Ctrl+G:输入跟随地址
Ctrl+N:查找名称标志,选择你要下断的内容
Ctrl+S:打开查找命令次序窗口
Ctrl+P:显示补丁窗口
Ctrl+F9:返回到跟踪
Ctrl+F8:自动步进扫描,按F12可停止
Ctrl+F7:同上,功能略有不同
Ctrl+F6:回到OL主窗口
0x3 ida 命令
CALC :判断表达式
WATCH :添加监视表达式
AT / FOLLOW:(Disassemble at address)在地址进行反汇编
ORIG :(Disassemble at EIP )反汇编于 EIP
DUMP :(Dump at address )在地址转存
DA :(Dump as disassembly)转存为反汇编代码
DB :(Dump in hex byte format )转存在十六进制字节格式
DC :(Dump in ASCII format )转存在 ASCII 格式
DD :(Dump in stack format )转存在堆栈格式
DU :(Dump in UNICODE format )转存在 UNICODE 格式
DW :(Dump in hex word format )转存在十六进制字词格式
STK :(Go to address in stack )前往堆栈中的地址
AS + 地址 + 字符串 :(Assemble at address )在地址进行汇编
L + 地址 + 字符串 :(Label at address )在地址进行标号
C + 地址 + 字符串 :(Comment at address )在地址进行注释
BP :(Break with condition )使用条件中断
BPX :(Break on all calls )中断在全部调用
BPD :(Delete break on all calls )清除位于全部调用的断点
BC :(Delete breakpoint )清除断点
MR :(Memory breakpt on access )内存断点于访问时
MW :(Memory breakpt on write )内存断点于写入时
MD :(Remove memory breakpoint )清除内存断点
HR :(HW break on access )硬件中断在访问
HW :(HW break on write )硬件中断在写入
HE :(HW break on execution )硬件中断在执行
HD :(Remove HW breakpoint )清除硬件断点
STOP :(Pause execution )暂停执行
RUN :(Run program )运行程序
GE :(Run and pass exception )运行和通过例外
SI :(Step into )步入
SO :(Step over )步过
TI :(Trace in till address )跟踪进入直到地址
TO :(Trace over till address)跟踪步过直到地址
TC :(Trace in till condition)跟踪进入直到条件
TOC :(Trace over till condition )跟踪步过直到条件
TR :(Till return)直到返回
TU :(Till user code )直到用户代码
LOG :(View Log window )查看记录窗口
MOD :(View Modules window )查看模块窗口
MEM :(View Memory window )查看内存窗口
CPU :(View CPU window )查看 CPU 窗口
CS :(View Call Stack )查看 Call 堆栈
BRK :(View Breakpoints window )查看断点窗口
HELP :(Help on API function )API 函数的帮助
DASM :(Disassemble immediate opcode )反汇编直接的机器码
FR :(Find reference to selected command/address)查找参考到选定的命令/地址
AC :(Analyse code )分析代码
SN :(Search for Name(label) in current module )在当前模块中搜索名称(标号)
本文转载自:逆向so文件调试工具ida基础知识点