1.通过-g参数指定注入的进程,通过explore命令进入REPL模式(此模式可以使用objection的常用命令),支持-N来进行指定网络中的设备,并通过-h参数和-p参数来指定设备ip和端口以进行连接
2还可以使用patchapk命令将frida-gadget打包进app
命令
help:帮助提示
jobs:可以查看当前的hook任务同时管理如:# jobs kill
frida:查看frida的相关信息
内存漫游相关命令:
1.可以使用以下命令列出内存中的所有类
#android hooking list classes
2.可以使用以下命令在内存中所有已加载的类中搜索包含特定关键词的类。
#android hooking list classes
3.可以使用以下命令从内存中搜索所有包含关键词key的方法
android hooking search methods
4.搜索到我们感兴趣的类后,可以使用以下命令查看关心的类的所有方法:
#android hooking list class_methods
5.可以通过以下命令列出进程所有的activity(活动)
#andnroid hooking list activities
可以通过以下命令列出进程所有的service。
# android hooking list services
6.通过以下命令对指定的方法进行Hook
# android hooking watch class_method
–dump-args 、 –dumpbacktrace、–dump-return
分别用于打印函数的参数
、调用栈
以及返回值
。这三个参数对逆向分析的帮助是非常大的:有些函数的明文和密文非常有可能放在参数和返回值中,而打印调用栈可以让分析者快速进行调用链的溯源
1.1基于最简单的Java.choose的实现,在Frida脚本中,对实例的搜索在Objection中是使用以下命令实现的:
# android heap search instances
里面的handle值十分重要
1.2在Objection中调用实例方法的方式有两种。第一种是使用以下命令调用实例方法
无参数
# android heap execute
句柄(Handle)是一个唯一标识符,用于引用在Java堆中的对象。句柄可以看作是对堆 中对象的引用或指针,允许我们在代码中操作和调用该对象的方法。
有参数
android heap evaluate
在进入一个迷你编辑器环境后,输入想要执行的脚本内容,确认编辑完成,然后按Esc键退出编辑器,最后按回车键,即会开始执行这行脚本并输出结果。这里的脚本内容和在编辑器中直接编写的脚本内容是一样的(使用File类的canWrite()函数和setWritable()函数进行测试)