首页 > 其他分享 >学习笔记-Objection环境,自动化分析和插件

学习笔记-Objection环境,自动化分析和插件

时间:2022-11-11 09:34:17浏览次数:44  
标签:包名 插件 hook Objection xxx 笔记 objection -- android

Frida简介

  1. objection与frida版本匹配安装
  2. objection连接非标准端口
  3. objection内存漫游,hook,trace
  4. objection插件体系:Wallbreaker
  5. objection + DEXDump脱壳

0x01 objection安装

objection安装是使用pip install来进行安装,一般是与frida的版本来匹配的具体操作流程挂个肉丝的 星球,里面介绍的非常详细 https://wx.zsxq.com/dweb2/index/search/%E7%89%B9%E5%AE%9A%E7%89%88%E6%9C%AC pip install objection==xxx(版本号) 如果没加版本号,会直接安装新的 这里插一嘴,pyenv这玩意管理python环境是真的香,这里记录几个pyenv的命令 1. pyenv versions 查看管理的所有python的版本 2. pyenv local xxx(python的版本) 切换python版本 切换完后面再pip! # 0x02 Objection的使用

一. 从objection –help里面扒出来的

Options:
-N, --network Connect using a network connection instead of USB.
[default: False]

-h, --host TEXT [default: 127.0.0.1]
-p, --port INTEGER [default: 27042]
-ah, --api-host TEXT [default: 127.0.0.1]
-ap, --api-port INTEGER [default: 8888]
-g, --gadget TEXT Name of the Frida Gadget/Process to connect to.
[default: Gadget]

-S, --serial TEXT A device serial to connect to.
-d, --debug Enable debug mode with verbose output. (Includes
agent source map in stack traces)

--help Show this message and exit.

objecton可以选择两种连接方式,一种usb连接,一种是无线连接 1. usb连接: objection -g 包名 explore 2. 无线连接: objection -N -h xx(ip地址) -p xx(frida运行的非标准端口号) -g 包名 explore frida运行非标准端口:./frida_server -l 0.0.0.0:xxx(非标准端口号)

  • 以下操作(都在objection中进行)
    二. 搜加载的so库文件 memory list modules 三. 查看库的导出函数 memory list exports xxx.so
  • 有时候数据很难找时,可以去查看objection的日志进行查找.
    在kali中的命令行执行cat .objection/objection.log | grep i xxx(要查找内容的关键字)

四. 在内存堆中搜索与执行 查看堆中的对象:android heap search instances xxx.xxx.xxx.类名
调用方法: android heap execute 堆地址 方法名

五.在实例上执行js代码 先输入android heap evaluate 堆地址,会弹出一个窗口,输入js代码
如console.log(“evaluate result”+clazz.getPreferenceScreenResId()) 输入完后,按esc,回车自动执行该js代码

六.启动activity或者service  android intent lauch_activity 包名.活动名 做法是先查找activity有哪些 android hooking list activities
然后再启动我们想要启动的活动

内存漫游
其实frida hook本质操作对象是类,所以我们的hook入手点就是找到要hook的类 然后再找到我们要hook的方法,以及方法的参数与返回值,objection也帮我们搞好了

七.查找类以及类中方法
android hooking list class
方法
android hooking list class_method 类名
八.使用objection去hook类中的所有方法
android hooking watch class 包名.类名

使用jobs list可以查看hook数以及hook了哪个类
如果对特定的方法进行hook,并打印出参数和返回值调用栈
* android hooking watch class_method android.bluetooth.BluetoothDevice.getName –dump-args –dump-return –dump-backtrace

九.hook 方法的重载 以hook 构造方法为例 android hooking watch class_method 包名.类名.$init –dump-args

0x03 objection插件们(wallbreaker,dexdump)

在objeciton中,输入plugin load 插件所在目录
然后加载插件后,就可以开始愉快使用了 1. wallbreaker
打印出类的信息(方法与字段) plugin wallbreak classdump -fullname 包名.类名 2. dexdump 先进入对应包名,然后加载之后
plugin dexdump search 开始查找内存中的dex文件
plugin dexdump dump 把内存中的dex文件dump下来,之后有很多dex,先去找mainActivity
在kali命令行中找到存放dex文件的目录下,输入命令 grep -ril “MainActivity” * 如果还有有几个,那就多搜索不同的activity,就用objection中搜索activity,查看后,再次搜索,缩小范围

 

 

 

点击关注,共同学习!
[安全狗的自我修养](https://mp.weixin.qq.com/s/E6Kp0fd7_I3VY5dOGtlD4w)


[github haidragon](https://github.com/haidragon)


https://github.com/haidragon

标签:包名,插件,hook,Objection,xxx,笔记,objection,--,android
From: https://www.cnblogs.com/haidragon/p/16879555.html

相关文章

  • 学习笔记-Frida上手和逆向三段
    Frida上手和逆向三段FRIDA基本操作:参数,调用栈,返回值frida精髓2:方法重载,参数构造,动静态处理frida精髓3:主动调用,忽略内部细节,直接返回结果逆向三段:(hookinvoke)r......
  • 学习笔记-组件和事件hook核心原理和案例
    组件和事件的hook核心原理和案例0x01构造方法的hook的例子(java.lang.String这个随便哪个类都行)#构造方法的hookJava.use("java.lang.String").$init.implementation=........
  • 学习笔记-Frida反调试思路和hook native
    用户代码nativehookFrida反调试与反反调试基本思路(Java层API,Native层API,Syscall)六月题的Frida反调试的实现以及Native函数的Javahook以及主动调用静态注册函......
  • spring-boot-maven-plugin插件指定打包目录
    插件配置<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId>......
  • 学习笔记-hook和主动调用
    用户代码nativehook静态注册函数参数,返回值打印和替换调用栈主动调动符号hook==偏移hook枚举并保存结果0x01修改返回值以及参数和主动调用修改返回值修改......
  • 学习笔记-JNI框架层的Hook利用
    系统框架nativehookJNI函数符号hookJNI函数参数、返回值打印和替换动态注册JNI_OnloadhookRegisterNativesjnitrace引入一个例子,hookGetStringUTFChars这个jn......
  • 学习笔记-libc框架层的Hook利用
    系统框架层nativehooklibc函数符号hooklibc函数参数、返回值打印和替换主动调用libc读写文件hooklinkerdlopenfrida-trace引入例子,先hookpthread这个libc函......
  • Vue3学习笔记(五)——路由,Router
    一、前端路由的概念与原理1.1.什么是路由路由(英文:router)就是对应关系。1.2.SPA与前端路由SPA指的是一个web网站只有唯一的一个HTML页面,所有组件的展示与切换都......
  • 如何开发Vite3插件构建Electron开发环境
    新用户购买《Electron+Vue3桌面应用开发》,加小册专属微信群,参与群抽奖,送《深入浅出Electron》、《Electron实战》作者签名版。1等奖:《深入浅出Electron》+《Electron......
  • koa2后端热更新 使用nodemon插件就ok了
    为了不编辑一次代码,就得重新启动一次npmstart.使用nodemon插件1.安装  npminstallnodemon--save2.修改项目目录下package.json,如图3.重新启动项目,检测有node......