CamoDroid 与 Frida Android动态分析工具搭建流程(linux)

CamoDroid 与 Frida Android动态分析工具搭建流程(linux)

写在前面

这个东西配置起来比较复杂,其实最主要就是配置frida,如果你之前就使用过frida框架的话问题就不是很大

介绍camodroid

CamoDroid 是一个开源和开放架构的 Android 应用程序动态分析环境(沙盒),可以抵御模拟器规避。它能够模仿考虑各种级别和功能的真实设备。迷彩机器人具有以下功能:

  1. CamoDroid 可以通过掩盖分析环境的存在来模仿实际设备来运行应用程序。它监控可用于识别 Android 沙箱的 Java 和本机 (C++) API,并提供类似于真实设备提供的返回值。
  2. 它将传感器模拟到正在运行的应用程序,并为正在运行的应用程序提供传感器读数。
  3. CamoDroid 模仿实际的用户数据(通过受益于包含各种文件类型的文件数据集)。
    它记录应用程序发出的受权限保护的 API 调用的执行。

配置流程

这个的大体流程可以分为三个部分

  1. 安装一个android模拟器
  2. 安装frida-tools在电脑上,安装frida-server在模拟器上面,同时确保模拟器上的frida-server在运行中
  3. 下载相应的数据包并放在这个device中的文件夹里面

听起来很简单对不对,但是如果不踩坑的就不叫编程了

安装模拟器

我用的xdroid,就直接跳过了,当然你也可以用其他的模拟器,作者推荐的是国外的GenyMotion

https://www.genymotion.com/

安装frida-tools

这个比较简单,我ubuntu上有好几个版本的python,我是用的python310,然后直接就pip安装frida-tools就可以了

首先我们打开一个终端,然后输入

sudo sysctl kernel.yama.ptrace_scope=0

之后再打开一个终端输入cat,然后就放着不管就可以了

20231008104803

之后我们新建一个python文件,输入下面这些代码,然后运行一下,如果输出正常的话就说明没有问题

import fridahttps://github.com/frida/frida/releases
session = frida.attach("cat")script = session.create_script("""
rpc.exports.enumerateModules = () => {return Process.enumerateModules();
};
""")
script.on("message", on_message)
script.load()print([m["name"] for m in script.exports.enumerate_modules()])

当然不出意外的话就要出意外的,如果你是这样运行那么很有可能会出现下面这个问题

frida.ProcessNotFoundError: ambiguous name; it matches: cat (pid: 15581), cat (pid: 15582), cat (pid: 28379)

这就说明你的电脑中同时存在的三个名字相同的进程,程序不知道到底是哪一个所以就报错了,然后我们的解决方法就是找到我们终端的进程的pid才可以

我们可以暂停之前的cat,然后输出一下是哪两个cat在后台运行,然后再启动cat,看看新增加的cat是哪一个,记下pid,一般来说的话,都是最后一个pid是我们需要的pid,比如我这里就是28379这个pid,然后我们直接把上面的这个代码换成下面这个

# 原来的代码是这样的
session = frida.attach("cat")#我们改成下面这样
session = frida.attach(28379)

这样就可以得到类似这种输出

[‘cat’, …, ‘ld-2.15.so’]

如果出现一个warning的话忽略就好,warning一般不重要

安装frida-server

首先需要安装adb,这个对于linux用户就是一行代码的事情

sudo apt-get install android-tools- adb

20231008112728

然后通过开发助手获得android系统的cpu信息,但是!!!!注意!!!如果是虚拟机,即使这里写的是可以跑arm,但是还是要下载x86_64的,我就踩了这一个坑

对了这个链接在这里

https://github.com/frida/frida/releases

20231008161300

这里我要提一嘴,我不明白为什么google就是不去完善他的arm架构模拟器,我尝试过很多次android studio的arm架构在电脑上跑,结果都是会有问题,按说这也不应该是很难的事情,因为其他的模拟器比如雷电或者xdroid都有相应的arm模拟器,但是android studio的就是跑不起来,无法运行带有arm架构下编译native code的软件,就很奇怪

然后下载好之后我们按这样搞

20231008163146

之后我们打开一个终端输入

frida-ps -U 

然后我们就可以看到这些进程了

20231008150334

这样就说明我们的frida什么的都配置好了

使用CamoDroid

这个官方的使用方法在这里

https://github.com/farnoodfaghihi/CamoDroid/wiki/Usage

首先打开一个终端,使用adb安装这个软件

adb install xxx.apk
如果报错的话就加上一个参数,就像下面这样
adb install -t xxx.apk

之后使用命令行运行上面的frida-server,如果之前运行过了就不要再运行了

之后我们运行这个代码,就是别忘了cd到camodroid的解压目录中再运行

官方给出的命令是,但是!!!这个命令不能用,有问题

frida -U -f com.example.application -l CamoDroid.js --no-pause

因为frida和这个软件的更新不同步,所以出了问题,正确命令应该是

frida -U -f com.example.application -l CamoDroid.js

注意:com.example.application是你的包名字,如果你不知道的话可以直接用开发助手查出来

20231008162246

之后我们运行完命令之后就是这样的

20231008162528

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

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

相关文章

力扣第 365 场周赛虚拟参赛

有序三元组中的最大值 I class Solution { public:long long maximumTripletValue(vector<int>& nums) {vector<long long> num;for (auto &item:nums) {num.push_back(item*1ll);}long long z 0,f 1000000;long long ans 0;long long maxx num[0],mi…

基于指数趋近律的机器人滑模轨迹跟踪控制算法及MATLAB仿真

机械手是工业制造领域中应用最广泛的自动化机械设备&#xff0c;广泛应用于工业制造、医疗、军工、半导体制造、太空探索等领域。它们虽然形式不同&#xff0c;但都有一个共同的特点&#xff0c;即能够接受指令&#xff0c;并能准确定位到三维(或二维)空间的某一点进行工作。由…

NoSQL之Redis 主从复制配置详解及哨兵模式

目录 1 Redis 主从复制 1.1 主从复制的作用 1.2 主从复制流程 2 搭建Redis 主从复制 2.1 安装 Redis 2.2 修改 Redis 配置文件&#xff08;Master节点操作&#xff09; 2.3 修改 Redis 配置文件&#xff08;Slave节点操作&#xff09; 2.4 验证主从效果 3 Redis 哨兵模…

PHP 伪协议:使用 php://filter 为数据流应用过滤器

文章目录 参考环境PHP 伪协议概念为什么需要 PHP 伪协议&#xff1f; php://filter概念格式 基本使用普通读写file_get_contents 与 file_put_contentsinclude 过滤器的基本使用base64 的编码与解码rot13 加解密rot13 算法string.rot13 过滤器列表多个过滤器的使用注意事项 处理…

TensorFlow案例学习:对服装图像进行分类

前言 官方为我们提供了一个 对服装图像进行分类 的案例&#xff0c;方便我们快速学习 学习 预处理数据 案例中有下面这段代码 # 预处理数据&#xff0c;检查训练集中的第一个图像可以看到像素值处于0~255之间 plt.figure() # 创建图像窗口 plt.imshow(train_images[0]) # …

【RabbitMQ】初识消息队列 MQ,基于 Docker 部署 RabbitMQ,探索 RabbitMQ 基本使用,了解常见的消息类型

文章目录 前言一、初识消息队列 MQ1.1 同步通信1.2 异步通信1.3 MQ 常见框架及其对比 二、初识 RabbitMQ2.1 什么是 RabbitMQ2.2 RabbitMQ 的结构 三、基于 Docker 部署 RabbitMQ四、常见的消息类型五、示例&#xff1a;在 Java 代码中通过 RabbitMQ 发送消息5.1 消息发布者5.2…

软件测试「转行」答疑(未完更新中)

⭐ 专栏简介 软件测试行业「转行」答疑&#xff1a; 如果你对于互联网的职业了解一知半解&#xff01;不知道行业的前景如何&#xff1f;对于众说纷纭的引流博主说法不知所措&#xff01;不确定这个行业到底适不适合自己&#xff1f; 那么这一篇文章可以告诉你所有真实答案&a…

【网络安全】关于CTF那些事儿你都知道吗?

关于CTF那些事儿你都知道吗&#xff1f; 前言CTF那些事儿内容简介读者对象专家推荐 本文福利 前言 CTF比赛是快速提升网络安全实战技能的重要途径&#xff0c;已成为各个行业选拔网络安全人才的通用方法。但是&#xff0c;本书作者在从事CTF培训的过程中&#xff0c;发现存在几…

<el-input> textarea文本域显示滚动条(超过高度就自动显示)+ <el-input >不能正常输入,输入了也不能删除的问题

需求&#xff1a;首先是给定高度&#xff0c;输入文本框要自适应这个高度。文本超出高度就会显示滚动条否则不显示。 <el-row class"textarea-row"><el-col :span"3" class"first-row-title">天气</el-col><el-col :span&…

Selenium进行无界面爬虫开发

在网络爬虫开发中&#xff0c;利用Selenium进行无界面浏览器自动化是一种常见且强大的技术。无界面浏览器可以模拟真实用户的行为&#xff0c;解决动态加载页面和JavaScript渲染的问题&#xff0c;给爬虫带来了更大的便利。本文将为您介绍如何利用Selenium进行无界面浏览器自动…

如何绘制Top级美图?20+案例分享

如何绘制Top级美图&#xff1f;20案例分享 #R语言绘图128个 #图表美化47个 工欲善其事&#xff0c;必先利其器&#xff01; R语言绘图爱好者赶紧看过来&#xff01;画图时选择称手的R包&#xff0c;是高效绘制美图的First Step&#xff01;今天分享一波科研美图绘制所需R包…

TensorFlow入门(九、张量及操作函数介绍)

在TensorFlow程序中,所有的数据都由tensor数据结构来代表。即使在计算图中,操作间传递的数据也是Tensor tensor在TensorFlow中并不是直接采用数组的形式,它只是对TensorFlow中计算结果的引用。也就是说在张量中并没有真正保存数字,它保存的是如何得到这些数字的计算过程 一个…

WebSocket ----苍穹外卖day8

介绍 实现步骤 各个模块详解 OnOpen OnOpen:标记一个方法作为处理WebSocket连接打开的方法 当一个客户端与服务器建立 WebSocket 连接时&#xff0c;服务器会接收到一个连接请求。一旦服务器接受了这个连接请求&#xff0c;一个 WebSocket 连接就会被建立。这时&#xff0c;被…

Git仓库迁移记录

背景&#xff1a;gitlab私服上面&#xff0c;使用 import project的方式&#xff0c;从旧项目迁移到新地址仓库&#xff0c;但是代码一直没拉过去。所以使用命令的方式&#xff0c;进行代码迁移。 第一步&#xff1a;使用git clone --mirror git地址&#xff0c;进行代码克隆 …

如何让 Llama2、通义千问开源大语言模型快速跑在函数计算上?

作者&#xff1a;寒斜 阿里云智能技术专家 「本文是“在 Serverless 平台上构建 AIGC 应用”系列文章的第一篇文章。」 前言 随着 ChatGPT 以及 Stable Diffusion&#xff0c;Midjourney 这些新生代 AIGC 应用的兴起&#xff0c;围绕 AIGC 应用的相关开发变得越来越广泛&…

【一周安全资讯1007】多项信息安全国家标准10月1日起实施;GitLab发布紧急安全补丁修复高危漏洞

要闻速览 1.以下信息安全国家标准10月1日起实施 2.GitLab发布紧急安全补丁修复高危漏洞 3.主流显卡全中招&#xff01;GPU.zip侧信道攻击可泄漏敏感数据 4.MOVEit漏洞导致美国900所院校学生信息发生大规模泄露 5.法国太空和国防供应商Exail遭黑客攻击&#xff0c;泄露大量敏感…

三模块七电平级联H桥整流器电压平衡控制策略Simulink仿真

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

竞赛选题 深度学习 YOLO 实现车牌识别算法

文章目录 0 前言1 课题介绍2 算法简介2.1网络架构 3 数据准备4 模型训练5 实现效果5.1 图片识别效果5.2视频识别效果 6 部分关键代码7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于yolov5的深度学习车牌识别系统实现 该项目较…

Linux虚拟机克隆之后使用ip addr无法获取ip地址

Linux虚拟机克隆之后使用ip addr无法获取ip地址 因为克隆得到的虚拟机&#xff0c;与原先的linux系统是一模一样的包括MAC地址和IP地址。需要修改信息。 设置IP地址&#xff1a; 使用vi命令打开linux的网卡 //ifcfg-enth0是虚拟网卡的名称&#xff0c;如果你的不叫这个名字&a…