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

一、反编译保护

测试工具

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进行反编译,命令执行完成后会在当前目录下生成反编译后的文件夹

python 复制代码
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文件

python 复制代码
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文件进行签名

python 复制代码
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

python 复制代码
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文件夹下。

python 复制代码
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调试模式

python 复制代码
 设置------>关于手机/关于本机------>版本信息------>点击版本号6次即可进入开发者模式

 设置------>开发者选项------>下滑,开启USB调试

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

(3)adb开启监听端口

python 复制代码
adb forward tcp:31415 tcp:31415

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

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

python 复制代码
drozer console connect

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

python 复制代码
adb shell dumpsys activity top|findstr ACTIVITY

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

python 复制代码
#查看可导出组件
run app.package.attacksurface 待测APP包名
python 复制代码
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包名
相关推荐
Digitally9 小时前
如何用5种实用方法将电脑上的音乐传输到安卓手机
android·智能手机·电脑
HahaGiver66610 小时前
Unity与Android原生交互开发入门篇 - 打开Unity游戏的设置
android·unity·交互
2501_9159090611 小时前
WebView 调试工具全解析,解决“看不见的移动端问题”
android·ios·小程序·https·uni-app·iphone·webview
IT乐手12 小时前
android 下载管理工具类
android
2501_9151063213 小时前
App 怎么上架 iOS?从准备资料到开心上架(Appuploader)免 Mac 上传的完整实战流程指南
android·macos·ios·小程序·uni-app·iphone·webview
科技峰行者14 小时前
安卓16提前发布能否改写移动生态格局
android
蒲公英少年带我飞14 小时前
Android NDK 编译 protobuf
android
沐怡旸14 小时前
【底层机制】ART虚拟机深度解析:Android运行时的架构革命
android·面试
小禾青青15 小时前
uniapp安卓打包遇到报错:Uncaught SyntaxError: Invalid regular expression: /[\p{L}\p{N}]/
android·uni-app
studyForMokey15 小时前
【Kotlin内联函数】
android·开发语言·kotlin