移动安全Android——客户端静态安全

article/2025/8/7 7:51:08

一、反编译保护

测试工具

Jadx

GitHub - skylot/jadx: Dex to Java decompiler

PKID

[下载]PKID-APP查壳工具-Android安全-看雪-安全社区|安全招聘|kanxue.com

测试流程

(1)通过Jadx对客户端APK文件进行反编译,观察是否进行代码混淆

(2)使用PKID查看APK是否已经进行加固

二、安装包签名

测试流程

(1)使用Jadx反编译工具查看客户端签名状态,观察红框部分是否为专用签名

三、应用完整性校验

测试工具

apktool

Apktool | Apktool

测试流程

(1)将需要测试的APK文件放到apktool目录下

(2)通过apktool进行反编译,命令执行完成后会在当前目录下生成反编译后的文件夹

java -jar apktool_2.11.1.jar d APK包名
java -jar apktool_2.11.1.jar d xxxxxxxxx.apk

(3)进入反编译后的文件夹,在AndroidManifest.xml文件中检索HTTP,修改任意一个URL的值为www.baidu.com

(4)回到apktool目录下执行命令重新打包修改过的APK文件

java -jar apktool_2.11.1.jar b apk文件夹 -o 将要生成的apk文件名称
java -jar apktool_2.11.1.jar b xxxxxxxxxxx -o xxxxxxxxxxx1.apk

(5)若出现如下报错,删除文件夹下的public.xml文件即可

(6)对重新打包编译的APK文件进行签名

java -jar signapk.jar testkey.x509.pem testkey.pk8 原apk文件名 新apk文件名
java -jar signapk.jar testkey.x509.pem testkey.pk8 xxxxxxxxxx1.apk xxxxxxxxxx2.apk

(7)手机安装并运行重新打包的修改过的APP,如果出现闪退,卡第一屏等无法使用现象则说明应用存在自检校验,处于安全状态。如果能正常运行修改后的APP,则APP应用不满足完整性校验,存在风险。

四、组件导出安全

测试工具

ADB

Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip

        adb安装目录下启动CMD窗口,执行adb version查看是否安装成功

drozer安装

GitHub - ReversecLabs/drozer at 3.1.0

(1)下载Github上的项目文件

(2)在drozer-3.1.0-py3-none-any.whl安装目录下启动CMD窗口,执行下面命令会生成三个exe文件,生成的文件并不会出现在当前目录下,需要到C盘python3目录下的scripts文件夹中找到,将其移回drozer文件夹下。

pip install drozer-3.1.0-py3-none-any.whl

drozer-agent安装

Release drozer-agent 3.1.0 · WithSecureLabs/drozer-agent · GitHub

        手机安装下面APK应用

测试流程

(1)手机USB接入电脑,进入开发者模式,打开USB调试模式

 设置——>关于手机/关于本机——>版本信息——>点击版本号6次即可进入开发者模式设置——>开发者选项——>下滑,开启USB调试

(2)adb检查设备连接情况

(3)adb开启监听端口

adb forward tcp:31415 tcp:31415

(4)手机打开drozer-agent监听

(5)Drozer文件夹下开启drozer控制台

drozer console connect

(6)手机运行待测APP后在adb执行以下命令,找到待测APP的包名

adb shell dumpsys activity top|findstr ACTIVITY

(7)Drozer执行命令进行组件导出安全检查,结合AI与网上教程进行可导出组件的调用测试

#查看可导出组件
run app.package.attacksurface 待测APP包名
run app.package.attacksurface 待测APP包名
run app.provider.info -a 待测APP包名
run app.activity.info -a 待测APP包名
run app.service.info -a 待测APP包名
run app.broadcast.info -a 待测APP包名


http://www.hkcw.cn/article/qWdqPMoxGV.shtml

相关文章

支持功能安全ASIL-B的矩阵管理芯片IS32LT3365,助力ADB大灯系统轻松实现功能安全等级

随着自动驾驶技术的快速发展,汽车前灯智能化也越来越高。自适应远光灯 (ADB) 作为一种智能照明系统,在提升驾驶安全性和舒适性方面发挥着重要作用。ADB 系统通过摄像头和传感器获取前方道路信息,例如来车的位置、距离和速度,并根据…

Python训练营打卡Day40

DAY 40 训练和测试的规范写法 知识点回顾: 1.彩色和灰度图片测试和训练的规范写法:封装在函数中 2.展平操作:除第一个维度batchsize外全部展平 3.dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout 作…

晨控CK-FR03与汇川H5U系列PLC配置MODBUS TCP通讯连接操作手册

晨控CK-FR03与汇川H5U系列PLC配置MODBUS TCP通讯连接操作手册 CK-FR03-TCP是一款基于射频识别技术的高频RFID标签读卡器,读卡器工作频率为13.56MHZ,支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。 读卡器同时支持标准工业通讯协…

二叉树实验

引言 在数据结构的学习过程中,二叉树作为一种典型的非线性结构,其构造和操作方式具有高度的层次性和结构性。而递归正是处理这种结构最自然的方式之一。关于二叉树的基本结构如下图所示: 递归的本质是函数调用自身的过程,这恰好…

【空间光学系统与集成微纳光子学系统简介】

空间光学系统 空间光学系统指用于太空探测、遥感、通信等领域的光学仪器,通常具备高分辨率、轻量化、抗辐射等特性。主要应用包括: 天文观测:如哈勃望远镜、詹姆斯韦伯太空望远镜(JWST),利用大口径主镜收集…

开发一款IIS自动检测修复工具

目录 实现的功能 技术栈与依赖 DLL 实现细节 变量 初始化操作 自定义cpu阈值 检测IIS应用程序池 获取自定义阈值 获取某个应用程序池的占用率 获取性能计数器实例名 Kill 并重新启动应用池 写入日志到 Log 目录,并显示在文本框中 实际运行效果 此工具可…

网络编程4-epoll

select底层原理 fd_set底层使用位图标记每个文件标识符有没有被使用,位图在c语言里靠数组实现。 select 流程 在用户态空间里(栈、堆、数据段)申请一个fd_set将fd_set从用户态拷贝到内核态(在后面操作系统轮询会使用到&#xff09…

SOC-ESP32S3部分:19-ADC模数转换

飞书文档https://x509p6c8to.feishu.cn/wiki/XycAwmO6Niitdtka1RAcclYfnvf ESP32-S3 集成了两个 12 位 SAR ADC,共支持 20 个模拟通道输入。 SAR ADC 管脚通过 IO MUX 与 GPIO1 ~ GPIO20、RTC_GPIO1 ~ RTC_GPIO20、触摸传感器接口、UART 接口、SPI 接口、以及 USB…

默克微生物培养基选择指南

微生物学研究需要能在实验室提供各种不同种类的细菌、酵母或病毒。诸如发酵、蛋白质和疫苗生产的大规模过程需要大量处于生理活性状态的细菌。因此,针对各种应用需要有能提供适当的生化环境并保持微生物所有特征的合适的营养培养基。 任何微生物培养基都应包括营养…

移动安全Android——解决APP抓包证书无效问题

问题 通过Burpsuite和ProxyPin进行代理抓包Android APP的时候发现虽然已经正确添加了用户证书,但是还是会出现SSL握手错误,证书无效问题。这是因为Android 7 以上版本APP默认不信任用户证书,只信任系统证书,所以需要将用户证书移动…

【数据库】数据库恢复技术

数据库恢复技术 实现恢复的核心是使用冗余,也就是根据冗余数据重建不正确数据。 事务 事务是一个数据库操作序列,是一个不可分割的工作单位,是恢复和并发的基本单位。 在关系数据库中,一个事务是一条或多条SQL语句&#xff0c…

【学习笔记】深度学习-梯度概念

一、定义 梯度向量不仅表示函数变化的速度,还表示函数增长最快的方向 二、【问】为什么说它表示方向? 三、【问】那在深度学习梯度下降的时候,还要判断梯度是正是负来更新参数吗? 假设某个参数是 w,损失函数对它的…

【ROS2实体机械臂驱动】rokae xCoreSDK Python测试使用

【ROS2实体机械臂驱动】rokae xCoreSDK Python测试使用 文章目录 前言正文配置环境下载源码配置环境变量测试运行修改点说明实际运行情况 参考 前言 本文用来记录 xCoreSDK-Python的调用使用1。 正文 配置环境 配置开发环境,这里使用conda做python环境管理&…

深入浅出网络分析与故障检测工具

目录 网络故障检测工具:别只靠“Ping 不通” 实战组合拳:分析 检测 问题闭环 四、选择工具的几个建议 五、总结:工具是手段,思维才是核心 在如今这个“数据就是生命线”的时代,网络的稳定性和性能直接决定着企业…

使用Haproxy搭建Web群集

目录 1,Haproxy简介 1,核心功能与特点 二,搭建haproxy群集 1,准备工作 2,修改haproxy的配置文件 3,准备网站 4,配置日志 5,验证 1,Haproxy简介 HAProxy 是一款高…

Elasticsearch的写入流程介绍

Elasticsearch 的写入流程是一个涉及 分布式协调、分片路由、数据同步和副本更新 的复杂过程,其设计目标是确保数据一致性、可靠性和高性能。以下是写入流程的详细解析: 一、写入流程总览 二、详细步骤解析 1. 客户端请求路由 请求入口:客户端(如 Java 客户端、REST API)…

记录一次apisix上cros配置跨域失败的问题

安全要求不允许跨域请求,但是业务侧由于涉及多个域名,并且需要共享cookie,所以需要配置跨域。 在apisix上配置了cors如下。 结果安全漏扫还是识别到了跨域请求的漏洞。 调试了cors.lua的插件脚本,发现apisix上是如果不在allowOri…

VSCode无法转到定义python源码(ctrl加单击不跳转)

已经尝试的方案: 1.确保对应python环境正确激活 在 VSCode 中,打开命令面板(CtrlShiftP),输入并选择 Python: Select Interpreter,然后从列表中选择正确的 Python 解释器。 2.重新卸载Python插件再重新安装…

会议室钥匙总丢失?换预约功能的智能门锁更安全

在企业日常运营中,会议室作为重要的沟通与协作场所,其管理效率与安全性直接影响着企业的运作顺畅度。然而,传统会议室管理方式中钥匙丢失、管理不便等问题频发,给企业带来了不少困扰。近期,某企业引入了启辰智慧预约系…

漫画Android:事件分发的过程是怎样的?

当用户触摸屏幕时,硬件层会捕获触摸信号,并将其转化为内核事件。 Android系统会通过InputManagerService和WindowManagerService等服务将这些事件包装成MotionEvent对象,并将其传递给Activity的dispatchTouchEvent()方法中,Activi…