Objection

本文作者:杉木@涂鸦智能安全实验室

Home

objection - 基于frida的命令行hook工具食用手册

实用FRIDA进阶:内存漫游、hook anywhere、抓包-安全客 - 安全资讯平台

Objection是一个基于Frida的命令行hook工具,用于移动设备的运行时探索。它可以安装在Windows环境下,并解决多进程应用导致的程序闪退问题。Objection的使用包括启动Frida-server并转发端口,附加需要调试的app,进入交互界面。它提供了丰富的调试界面API,包括环境打印,内存搜索,堆内存搜索和操作,以及Android hooking等功能。此外,它还可以关闭app的ssl校验,尝试关闭app的root检测,以及模拟root环境等。

安装

Installation

pip3 install -U objection

windows环境下还需要添加环境变量,不然要到下载的目录下执行;
请添加图片描述

执行报错解决记录

  1. 多进程应用导致程序闪退

请添加图片描述

objection绕过双进程保护 - FreeBuf网络安全行业门户

我的目录是

C:\Users\Administrator\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\objection\utils\agent.py

我是通过检索agent.py文件找到的;然后在文件中添加对应代码;

import time......
#找到inject函数def inject(self):"""Injects the Objection Agent.:return:"""debug_print('Injecting agent...')session = self.get_session()self.script = session.create_script(source=self._get_agent_source())self.script.on('message', self.on_message)self.script.load()if not self.resumed:debug_print('Resuming PID `{pid}`'.format(pid=self.spawned_pid))self.device.resume(self.spawned_pid)#----------------添加下面两行--------------time.sleep(1)self.resumed = True

使用说明

Objection执行

官方参考文档:

Home

Usage: objection [OPTIONS] COMMAND [ARGS]..._   _         _   ____| |_|_|___ ___| |_|_|___ ___| . | . | | -_|  _|  _| | . |   ||___|___| |___|___|_| |_|___|_|_||___|(object)inject(ion)Runtime Mobile Explorationby: @leonjza from @sensepostBy default, communications will happen over USB, unless the --network optionis provided.Options:-N, --network            Connect using a network connection instead of USB.-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. (Includesagent source map in stack traces)--help                   Show this message and exit.Commands:api          Start the objection API server in headless mode.device-type  Get information about an attached device.explore      Start the objection exploration REPL.patchapk     Patch an APK with the frida-gadget.so.patchipa     Patch an IPA with the FridaGadget dylib.run          Run a single objection command.signapk      Zipalign and sign an APK with the objection key.version      Prints the current version and exists.

执行环境

需要先启动Frida-server并转发端口,具体参考

请添加图片描述
请添加图片描述

附加需要调试的app, 进入交互界面

objection.exe -g com.lalala explore

请添加图片描述

调试界面API

输入任意字符,界面会输出可执行的命令以及对应的含义,非常nice;
请添加图片描述

# env

打印所有有关环境的执行目录

memory

memory list modules //枚举当前进程模块
memory list exports [lib_name] //查看指定模块的导出函数
memory list exports libart.so --json /root/libart.json //将结果保存到json文件中
memory search --string --offsets-only //搜索内存

android heap

//堆内存中搜索指定类的实例, 可以获取该类的实例id
android heap search instances com.xx.xx.class//直接调用指定实例下的方法
android heap execute [ins_id] [func_name]//自定义frida脚本, 执行实例的方法
android heap execute [ins_id]

# android hooking

//列出内存中所有的类
android hooking list classes//在内存中所有已加载的类中搜索包含特定关键词的类
android hooking search classes [search_name]//在内存中所有已加载的方法中搜索包含特定关键词的方法
android hooking search methods [search_name]//直接生成hook代码
android hooking generate simple [class_name]/*
hook指定方法, 如果有重载会hook所有重载,如果有疑问可以看
- -dump-args : 打印参数
- -dump-backtrace : 打印调用栈
- -dump-return : 打印返回值
- /
android hooking watch class_method com.xxx.xxx.methodName --dump-args --dump-backtrace --dump-return//hook指定类, 会打印该类下的所以调用
android hooking watch class com.xxx.xxx//设置返回值(只支持bool类型)
android hooking set return_value com.xxx.xxx.methodName false
//查看任务列表
jobs list//关闭任务
jobs kill [task_id]//关闭app的ssl校验
android sslpinning disable//尝试关闭app的root检测
android root disable//尝试模拟root环境
android root simulate

漏洞悬赏计划:涂鸦智能安全响应中心(https://src.tuya.com)欢迎白帽子来探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/268368.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Idea的Marketplace下载不了插件,idea下不了插件

Idea的Marketplace下载不了插件 解决方案(配置代理) 附一张成功界面 2.问题复现 3.问题原因和解决方式:下载安装IDEA之后HTTP Proxy没有进行相关配置的问题,解决方式如下 1.首先打开file->setting->Appearance & B…

Maxscript入门教程:Print与Format命令

本文对Maxscript中的“Print”和“Format”命令之间的差异进行了一些小小的研究,得出的结论主要的差异是它们的结果中的引号“”。 “Print”很简单,直接使用,在调试时非常有用。为了工作,它只需要一个字符串(这是两个…

[学习笔记]在CentOS7中用Docker方式安装Jenkins

文章目录 原理:创建Docker网桥网络安装DinD创建镜像构建镜像运行容器 原理: Docker in Docker (以下简称 DinD)可以在 Container 中直接运行一个 Docker Daemon ,然后使用 Container 中的 Docker CLI 工具操作容器。其…

最详细的Selenium+Pytest自动化测试框架实战

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承 一定的selenium基础——本篇不讲selenium, 测试框架简介 测试框架有什么优点呢: 代码复用率高,如果不使用框架的话&#xff…

【模拟】LeetCode-48. 旋转图像

旋转图像。 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6]…

武汉凯迪正大—门尼粘度试验机

武汉凯迪正大KY-6004型门尼粘度仪用于胶料粘度和硫化指数的测定。试样在一定的温度和压力下,转子以一定的旋转力矩对试样加以一定的剪切力,仪器测出橡胶的反剪切力矩,是再生胶、橡胶、电线电缆行业常用的仪器之一。 武汉凯迪正大KY-6004型门…

科技与艺术相结合,虚拟人裸眼3D动画亮相城市商圈

随着元宇宙概念的火爆,虚拟制作技术的快速发展,虚拟人可以将虚拟世界与现实世界相结合,为用户带来沉浸式体验。如虚拟人壬子希以裸眼3D动画的形式亮相城市商圈,助力文旅以科技与艺术相结合的形式,展现城市文化与科技成…

【SpringBoot】入门精简

目录 一、初识 SpringBoot 1.1 介绍 1.2 项目创建 1.3 目录结构 1.4 修改配置 二、SpringBoot 集成 2.1 集成 Mybatis框架 2.2 集成 Pagehepler分页插件 2.3 集成 Druid数据库连接池 2.4 集成 Log日志管理 一、初识 SpringBoot 1.1 介绍 Spring Boot是一个用于简化Sp…

软件开发流程分析

软件开发流程分析 相关概念1 原型设计2 产品设计3 交互设计4 代码实现详细步骤 相关概念 前端:自研API,调用第三放API 后端:自研API,第三方API 数据库:Mysql,数据采集,数据迁移 服务器&#xf…

nuitka Unknown property box-shadow,transition,transform

nuitka 打包后,控制台的错误解决方法 nuitka --standalone --show-memory --show-progress --nofollow-imports --follow-import-toneed --output-dirout --windows-icon-from-ico./static/test.ico mainUI2.py 由于Qt样式表不是CSS,QSS基于CSS2.1&…

绘图示例---QT手动调用绘图事件,按钮控制图片

效果: 点击 “移动” 图片向右移动20,点击 “西理win嘛” 图片每秒向右移动20 QQ录屏20231212164128 下面时代码详解: 注意使用UI和代码实现按钮的不同 UI: ui->pushButton->setGeometry(windowWidth-105, windowHeight-25, 100, 20);…

windows下docker环境安装

开启硬件虚拟化技术 win10中开启 Hyper-V Win10 下是否开启硬件虚拟化技术,在控制面板,启用 window 功能,找到 Hyper-V 选项,点勾选确认。如图: Windows 11 家庭中文版新增 Hyper-V选项 注意以下的解决方案来自win1…