Frida进阶内存漫游

Frida进阶内存漫游

首页角色扮演无情剑客更新时间:2024-04-29

在前面的系列文章中对Frida相关的API进行了介绍。

Hook everything

Frida只是提供了各种API供我们调用,在此基础之上可以实现具体的功能,比如禁用证书绑定之类的脚本,就是使用Frida的各种API来组合编写而成。于是有大佬将各种常见、常用的功能整合进一个工具,供我们直接在命令行中使用,这个工具便是objection。

objection基本整合了常用的各种hook功能,在逆向apk、Hook代码、查看内存信息的时候为我们提供极大的方便。使用objection掌握常用的命令,大部分情况下是不需要写任何代码的。

内存漫游启动objection

保证Frida server开启 命令行输出

objection -g com.lingpao.lpcf622b explore

  1. 查看基本信息
  2. 查看内存中加载的库 memory list modules
  3. 查看库的的导出函数 memory list exports libgsl.so
  4. 提取整个内存 memorydumpall from_base后续文章会对dump出的内存做详细的分析。
  5. 搜索整个内存 memory search"88"--string--offsets-only, 关于如何进行的搜索,在Frida API使用(2)中介绍了通过Frida进行搜索。Objection对通配符的支持不好。
Hook anywhere
  1. 列举内存中的所有类 android hooking list classes
  2. 在内存中所有已加载的类中搜索包含特定关键词的类 android hooking search classes game
  3. 内存中搜索所有的方法 android hooking search methods game 非常耗时的一个操作。
  4. 列出类的所有方法 android hooking list class_methods com.fish.main.MainGameActivity
  5. 直接生成hook代码 android hooking generate simple com.fish.main.MainGameActivity 没有参数,需要自行添加。
  6. hook类的所有方法 android hooking watchclasscom.fish.main.MainGameActivity 当需要调用相应的方法的方法的时候,可以看出相应的hook信息被打印出来。关于Activity的声明周期在Frida API进阶-文件有介绍。
  7. hook方法的参数、返回值和调用栈 android hooking watch class_method com.fish.main.MainGameActivity.onWindowFocusChanged--dump-args--dump-return--dump-backtrace
  8. hook方法的所有重载 android hooking watch class_method java.io.File.$init--dump-args
启动Activity或者Service
  1. 查看当前可用的Activity android hooking list activities
  2. 直接启动activity android intent launch_activity com.zhihu.matisse.ui.MatisseActivity
  3. 查看可开启的服务 android hooking list services
  4. 开启服务 android intent launch_service com.cameraphotodemo.localnotificationfunction.ExtFuncUtils$DetectService
objection的缺陷退出

exit抓包

Tcpdump进行抓包,具体可参见下图,后续文章会详细讲解抓包。

通过 tcpdump-h可以查看每一个参数的含义。

公众号

更多Frida相关内容,欢迎关注我的微信公众号:无情剑客。

,
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved