文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: C=cn, ST=tj, L=tj, O=hhwy, OU=hhwy, CN=hhwy
签名算法: rsassa_pkcs1v15
有效期自: 2019-09-11 14:05:39+00:00
有效期至: 2074-06-14 14:05:39+00:00
发行人: C=cn, ST=tj, L=tj, O=hhwy, OU=hhwy, CN=hhwy
序列号: 0x1954f015
哈希算法: sha256
证书MD5: c442f1b1d8d18f6dc973cbb9036c0b2a
证书SHA1: c08b2066b4532679bf90a0a7150346edea5b2d64
证书SHA256: 75cc2573c5de897ea795dc53af13cbf95de5ef15fc5efe7644cf24db74603a97
证书SHA512: a4ec0dfcc7b573e3b5b8971c9d42fe535a5fbbc6978e6a5ccd22427fd80a99fb531b4bbcc87dee1fb6fc757bb719c5f1963e662278a2e8196c4e9fd2aaf1da1f
公钥算法: rsa
密钥长度: 2048
指纹: 19d1d6014e500b8640c5e76f6a129081d4fcce4d050bbc4e83b684139ba2b466
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
com.huawei.android.launcher.permission.CHANGE_BADGE | 普通 | 在应用程序上显示通知计数 | 在华为手机的应用程序启动图标上显示通知计数或徽章。 | |
com.oppo.launcher.permission.WRITE_SETTINGS | 普通 | 在应用程序上显示通知计数 | 在OPPO手机的应用程序启动图标上显示通知计数或徽章。 | |
android.permission.READ_APP_BADGE | 普通 | 显示应用程序通知 | 允许应用程序显示应用程序图标徽章。 | |
com.htc.launcher.permission.READ_SETTINGS | 普通 | 在应用程序上显示通知计数 | 在HTC手机的应用程序启动图标上显示通知计数或徽章。 | |
com.htc.launcher.permission.UPDATE_SHORTCUT | 普通 | 在应用程序上显示通知计数 | 在HTC手机的应用程序启动图标上显示通知计数或徽章。 | |
android.permission.READ_PHONE_NUMBERS | 危险 | 允许读取设备的电话号码 | 允许读取设备的电话号码。这是READ PHONE STATE授予的功能的一个子集,但对即时应用程序公开。 | |
android.permission.ACCESS_COARSE_LOCATION | 危险 | 获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。 | 显示文件 |
android.permission.ACCESS_FINE_LOCATION | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.ACCESS_BACKGROUND_LOCATION | 危险 | 获取后台定位权限 | 允许应用程序访问后台位置。如果您正在请求此权限,则还必须请求ACCESS COARSE LOCATION或ACCESS FINE LOCATION。单独请求此权限不会授予您位置访问权限。 | 显示文件 |
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | 显示文件 |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | 显示文件 |
android.permission.ACCESS_WIFI_STATE | 普通 | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | 显示文件 |
android.permission.FLASHLIGHT | 普通 | 控制闪光灯 | 允许应用程序控制闪光灯。 | |
android.permission.CAMERA | 危险 | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | 显示文件 |
android.permission.ACCESS_FINE_LOCATION | 危险 | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | 显示文件 |
android.permission.CHANGE_WIFI_STATE | 危险 | 改变Wi-Fi状态 | 允许应用程序改变Wi-Fi状态。 | |
android.permission.READ_PHONE_STATE | 危险 | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | 显示文件 |
android.permission.WRITE_EXTERNAL_STORAGE | 危险 | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 显示文件 |
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS | 普通 | 访问定位额外命令 | 访问额外位置提供程序命令,恶意应用程序可能会使用它来干扰GPS或其他位置源的操作。 | 显示文件 |
android.permission.BLUETOOTH | 危险 | 创建蓝牙连接 | 允许应用程序查看或创建蓝牙连接。 | 显示文件 |
android.permission.BLUETOOTH_ADMIN | 危险 | 管理蓝牙 | 允许程序发现和配对新的蓝牙设备。 | |
android.permission.READ_EXTERNAL_STORAGE | 危险 | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 |
显示文件
com/mr/flutter/plugin/filepicker/c.java
com/yalantis/ucrop/o/a.java
com/yalantis/ucrop/p/e.java
d/d/a/q2.java
d/g/e/b.java
d/g/f/e.java
d/g/f/k.java
d/j/a/a.java
f/g/a/a/s0/c0.java
f/g/a/a/s0/h.java
f/i/a/e/g/a.java
f/k/c3.java
f/k/f3.java
f/k/g3.java
f/k/h0.java
f/k/j3.java
f/k/v2.java
f/k/w.java
l/p.java
n/a/a/f.java
sk/fourq/otaupdate/OtaUpdatePlugin.java
|
android.permission.REQUEST_INSTALL_PACKAGES | 危险 | 允许安装应用程序 | Android8.0 以上系统允许安装未知来源应用程序权限。 | |
android.permission.RECORD_AUDIO | 危险 | 获取录音权限 | 允许应用程序获取录音权限。 | 显示文件 |
android.permission.MODIFY_AUDIO_SETTINGS | 危险 | 允许应用修改全局音频设置 | 允许应用程序修改全局音频设置,如音量。多用于消息语音功能。 | |
android.permission.READ_LOGS | 危险 | 读取系统日志文件 | 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,这些信息还可能包含用户个人信息或保密信息,造成隐私数据泄露。 | |
android.permission.VIBRATE | 普通 | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | |
android.permission.SYSTEM_ALERT_WINDOW | 危险 | 弹窗 | 允许应用程序弹窗。 恶意程序可以接管手机的整个屏幕。 | 显示文件 |
com.example.gdclient.permission.PROCESS_PUSH_MSG | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.example.gdclient.permission.MIPUSH_RECEIVE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.meizu.flyme.push.permission.RECEIVE | 普通 | 魅族push服务权限 | 魅族push服务权限。 | |
com.example.gdclient.push.permission.MESSAGE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.meizu.c2dm.permission.RECEIVE | 普通 | 魅族push服务权限 | 魅族push服务权限。 | |
com.example.gdclient.permission.C2D_MESSAGE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.WAKE_LOCK | 危险 | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | 显示文件 |
com.google.android.c2dm.permission.RECEIVE | 普通 | 接收推送通知 | 允许应用程序接收来自云的推送通知。 | |
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE | 普通 | Google 定义的权限 | 由 Google 定义的自定义权限。 | |
android.permission.RECEIVE_BOOT_COMPLETED | 普通 | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 | 显示文件 |
com.sec.android.provider.badge.permission.READ | 普通 | 在应用程序上显示通知计数 | 在三星手机的应用程序启动图标上显示通知计数或徽章。 | |
com.sec.android.provider.badge.permission.WRITE | 普通 | 在应用程序上显示通知计数 | 在三星手机的应用程序启动图标上显示通知计数或徽章。 | |
com.sonyericsson.home.permission.BROADCAST_BADGE | 普通 | 在应用程序上显示通知计数 | 在索尼手机的应用程序启动图标上显示通知计数或徽章。 | |
com.sonymobile.home.permission.PROVIDER_INSERT_BADGE | 普通 | 在应用程序上显示通知计数 | 在索尼手机的应用程序启动图标上显示通知计数或徽章。 | |
com.anddoes.launcher.permission.UPDATE_COUNT | 普通 | 在应用程序上显示通知计数 | 在apex的应用程序启动图标上显示通知计数或徽章。 | |
com.majeur.launcher.permission.UPDATE_BADGE | 普通 | 在应用程序上显示通知计数 | 在solid的应用程序启动图标上显示通知计数或徽章。 | |
com.huawei.android.launcher.permission.READ_SETTINGS | 普通 | 在应用程序上显示通知计数 | 在华为手机的应用程序启动图标上显示通知计数或徽章。 | |
com.huawei.android.launcher.permission.WRITE_SETTINGS | 普通 | 在应用程序上显示通知计数 | 在华为手机的应用程序启动图标上显示通知计数或徽章。 | |
com.oppo.launcher.permission.READ_SETTINGS | 普通 | 在应用程序上显示通知计数 | 在OPPO手机的应用程序启动图标上显示通知计数或徽章。 | |
me.everything.badger.permission.BADGE_COUNT_READ | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
me.everything.badger.permission.BADGE_COUNT_WRITE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.example.gdclient.permission.JPUSH_MESSAGE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.RECEIVE_USER_PRESENT | 普通 | 允许程序唤醒机器 | 允许应用可以接收点亮屏幕或解锁广播。 | |
android.permission.WRITE_SETTINGS | 危险 | 修改全局系统设置 | 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 | |
android.permission.MOUNT_UNMOUNT_FILESYSTEMS | 危险 | 装载和卸载文件系统 | 允许应用程序装载和卸载可移动存储器的文件系统。 | |
android.permission.CHANGE_NETWORK_STATE | 危险 | 改变网络连通性 | 允许应用程序改变网络连通性。 | |
android.permission.GET_TASKS | 危险 | 检索当前运行的应用程序 | 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。 | |
android.permission.QUERY_ALL_PACKAGES | 普通 | 获取已安装应用程序列表 | Android 11引入与包可见性相关的权限,允许查询设备上的任何普通应用程序,而不考虑清单声明。 | 显示文件 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。 | |
2 | Activity (com.example.gdclient.wxapi.WXEntryActivity) 容易受到StrandHogg 2.0的攻击 | 高危 | 已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。 | |
3 |
Activity-Alias (com.example.gdclient.wxapi.WXEntryActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity-Alias与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
4 |
Activity-Alias (com.example.gdclient.wxapi.WXPayEntryActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity-Alias与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
5 |
Broadcast Receiver (com.jiguang.jpush.JPushEventReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
6 |
Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.google.android.c2dm.permission.SEND [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
7 |
Broadcast Receiver (com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.INSTALL_PACKAGES [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
8 |
Service (com.meizu.cloud.pushsdk.NotificationService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
9 | Activity (cn.jpush.android.ui.PopWinActivity) 容易受到StrandHogg 2.0的攻击 | 高危 | 已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。 | |
10 |
Activity (cn.jpush.android.ui.PopWinActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
11 | Activity (cn.jpush.android.ui.PushActivity) 容易受到StrandHogg 2.0的攻击 | 高危 | 已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。 | |
12 |
Activity (cn.jpush.android.ui.PushActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
13 |
Service (cn.jpush.android.service.DaemonService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
14 |
Activity设置了TaskAffinity属性 (cn.jpush.android.service.DActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
15 | Activity (cn.jpush.android.service.DActivity) 容易受到StrandHogg 2.0的攻击 | 高危 | 已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。 | |
16 |
Activity (cn.jpush.android.service.DActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
17 |
Broadcast Receiver (cn.jpush.android.service.PushReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
18 |
Content Provider (cn.jpush.android.service.DownloadProvider) 未被保护。 [android:exported=true] |
警告 | 发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
19 |
Activity设置了TaskAffinity属性 (cn.jpush.android.service.JNotifyActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
20 | Activity (cn.jpush.android.service.JNotifyActivity) 容易受到StrandHogg 2.0的攻击 | 高危 | 已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。 | |
21 |
Activity (cn.jpush.android.service.JNotifyActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
22 |
高优先级的Intent (1000) - {1} 个命中 [android:priority] |
警告 | 通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
2 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
3 | 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
4 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
5 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
6 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
7 | 此应用程序可能具有Root检测功能 | 安全 |
OWASP MASVS: MSTG-RESILIENCE-1 |
升级会员:解锁高级权限 | |
8 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
9 | IP地址泄露 | 警告 |
CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2 |
升级会员:解锁高级权限 | |
10 | SHA-1是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
11 | 如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击 | 高危 |
CWE: CWE-79: 在Web页面生成时对输入的转义处理不恰当('跨站脚本')
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-6 |
升级会员:解锁高级权限 | |
12 | 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。 | 高危 |
CWE: CWE-649: 依赖于混淆或加密安全相关输入而不进行完整性检查
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-3 |
升级会员:解锁高级权限 | |
13 | 不安全的Web视图实现。可能存在WebView任意代码执行漏洞 | 警告 |
CWE: CWE-749: 暴露危险方法或函数
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-7 |
升级会员:解锁高级权限 | |
14 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
15 | 该文件是World Writable。任何应用程序都可以写入文件 | 高危 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
16 | 不安全的Web视图实现。Web视图忽略SSL证书错误并接受任何SSL证书。此应用程序易受MITM攻击 | 高危 |
CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication OWASP MASVS: MSTG-NETWORK-3 |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libapp.so |
False
high 二进制文件没有设置NX位。NX位可以通过将内存页标记为不可执行来防止内存损坏漏洞被利用。使用选项–noexecstack或-z noexecstack来将栈标记为不可执行 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Not Applicable
info RELRO 检查不适用于 Flutter/Dart 二进制文件 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
info 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
文件分析
序号 | 问题 | 文件 |
---|---|---|
1 | 应用程序内硬编码的证书/密钥文件。 |
assets/flutter_assets/assets/9353935_ieecp.gd.csg.cn.pem |
2 | 找到硬编码密钥库。 |
assets/hmsrootcas.bks |
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00191 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00042 | 查询WiFi BSSID及扫描结果 |
信息收集 WiFi |
升级会员:解锁高级权限 |
00028 | 从assets目录中读取文件 |
文件 |
升级会员:解锁高级权限 |
00033 | 查询IMEI号 |
信息收集 |
升级会员:解锁高级权限 |
00132 | 查询ISO国家代码 |
电话服务 信息收集 |
升级会员:解锁高级权限 |
00003 | 将压缩后的位图数据放入JSON对象中 |
相机 |
升级会员:解锁高级权限 |
00005 | 获取文件的绝对路径并将其放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
00004 | 获取文件名并将其放入 JSON 对象 |
文件 信息收集 |
升级会员:解锁高级权限 |
00096 | 连接到 URL 并设置请求方法 |
命令 网络 |
升级会员:解锁高级权限 |
00089 | 连接到 URL 并接收来自服务器的输入流 |
命令 网络 |
升级会员:解锁高级权限 |
00109 | 连接到 URL 并获取响应代码 |
网络 命令 |
升级会员:解锁高级权限 |
00034 | 查询当前数据网络类型 |
信息收集 网络 |
升级会员:解锁高级权限 |
00183 | 获取当前相机参数并更改设置 |
相机 |
升级会员:解锁高级权限 |
00016 | 获取设备的位置信息并将其放入 JSON 对象 |
位置 信息收集 |
升级会员:解锁高级权限 |
00054 | 从文件安装其他APK |
反射 |
升级会员:解锁高级权限 |
00088 | 创建到给定主机地址的安全套接字连接 |
命令 网络 |
升级会员:解锁高级权限 |
00148 | 创建到给定主机地址的套接字连接 |
网络 命令 |
升级会员:解锁高级权限 |
00091 | 从广播中检索数据 |
信息收集 |
升级会员:解锁高级权限 |
00199 | 停止录音并释放录音资源 |
录制音视频 |
升级会员:解锁高级权限 |
00198 | 初始化录音机并开始录音 |
录制音视频 |
升级会员:解锁高级权限 |
00194 | 设置音源(MIC)和录制文件格式 |
录制音视频 |
升级会员:解锁高级权限 |
00197 | 设置音频编码器并初始化录音机 |
录制音视频 |
升级会员:解锁高级权限 |
00006 | 安排录制任务 |
录制音视频 |
升级会员:解锁高级权限 |
00196 | 设置录制文件格式和输出路径 |
录制音视频 文件 |
升级会员:解锁高级权限 |
00053 | 监视给定内容 URI 标识的数据更改(SMS、MMS 等) |
短信 |
升级会员:解锁高级权限 |
00011 | 从 URI 查询数据(SMS、CALLLOGS) |
短信 通话记录 信息收集 |
升级会员:解锁高级权限 |
00187 | 查询 URI 并检查结果 |
信息收集 短信 通话记录 日历 |
升级会员:解锁高级权限 |
00147 | 获取当前位置的时间 |
信息收集 位置 |
升级会员:解锁高级权限 |
00018 | 准备好 JSON 对象并填写位置信息 |
位置 信息收集 |
升级会员:解锁高级权限 |
00162 | 创建 InetSocketAddress 对象并连接到它 |
socket |
升级会员:解锁高级权限 |
00163 | 创建新的 Socket 并连接到它 |
socket |
升级会员:解锁高级权限 |
00030 | 通过给定的 URL 连接到远程服务器 |
网络 |
升级会员:解锁高级权限 |
00153 | 通过 HTTP 发送二进制数据 |
http |
升级会员:解锁高级权限 |
00094 | 连接到 URL 并从中读取数据 |
命令 网络 |
升级会员:解锁高级权限 |
00108 | 从给定的 URL 读取输入流 |
网络 命令 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00078 | 获取网络运营商名称 |
信息收集 电话服务 |
升级会员:解锁高级权限 |
00130 | 获取当前WIFI信息 |
WiFi 信息收集 |
升级会员:解锁高级权限 |
00025 | 监视要执行的一般操作 |
反射 |
升级会员:解锁高级权限 |
00202 | 打电话 |
控制 |
升级会员:解锁高级权限 |
00203 | 将电话号码放入意图中 |
控制 |
升级会员:解锁高级权限 |
00173 | 获取 AccessibilityNodeInfo 屏幕中的边界并执行操作 |
无障碍服务 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
app-measurement.com |
安全 |
否 |
IP地址: 142.250.176.14 国家: 美国 地区: 加利福尼亚 城市: 山景城 查看: Google 地图 |
|
google.github.io |
安全 |
否 |
IP地址: 185.199.109.153 国家: 美国 地区: 宾夕法尼亚 城市: 加利福尼亚 查看: Google 地图 |
|
adiu.amap.com |
安全 |
是 |
IP地址: 49.79.227.227 国家: 中国 地区: 河北 城市: 石家庄 查看: 高德地图 |
|
goo.gl |
安全 |
否 |
IP地址: 142.250.72.142 国家: 美国 地区: 加利福尼亚 城市: 洛杉矶 查看: Google 地图 |
|
cloud.tencent.com |
安全 |
是 |
IP地址: 49.79.227.227 国家: 中国 地区: kiShintoku ShinyangaShioctonShiogamaShiojiriShiokawaShionoe ShipborneShipdhamShipkaShipl 城市: 连云港 查看: 高德地图 |
|
pagead2.googlesyndication.com |
安全 |
否 |
IP地址: 172.217.12.130 国家: 美国 地区: 纽约 城市: 纽约市 查看: Google 地图 |
|
lbs.amap.com |
安全 |
是 |
IP地址: 49.79.227.227 国家: 中国 地区: 江苏 城市: 南通 查看: 高德地图 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
https://goo.gl/j1swqy |
f/g/a/b/e/e/kc.java |
https://github.com/flutter/flutter/wiki/upgrading-pre-1.12-android-projects https://github.com/pichillilorenzo/flutter_inappwebview#important-note-for-android |
com/pichillilorenzo/flutter_inappwebview/InAppWebView/c.java |
https://pagead2.googlesyndication.com/pagead/gen_204?id=gmob-apps |
f/g/a/b/a/a/b.java |
https://adiu.amap.com/ws/device/adius |
f/k/l0.java |
https://google.github.io/exoplayer/faqs.html#what-do-player-is-accessed-on-the-wrong-thread-warnings-mean |
f/g/a/a/g0.java |
https://cloud.tencent.com/document/product/269/3794 |
com/hhwy/fm_tim/helper/CustomMessage.java |
https://app-measurement.com/a |
f/g/a/b/e/e/x8.java |
http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明 |
f/b/a/a/a.java |
Firebase配置检测
邮箱地址提取
源码文件 | |
---|---|
tt01@2x.png |
com/hhwy/fm_tim/helper/ConfigHelper.java |
第三方追踪器
名称 | 类别 | 网址 |
---|---|---|
AutoNavi / Amap | Location | https://reports.exodus-privacy.eu.org/trackers/361 |
Bugly | https://reports.exodus-privacy.eu.org/trackers/190 | |
Google Firebase Analytics | Analytics | https://reports.exodus-privacy.eu.org/trackers/49 |
Huawei Mobile Services (HMS) Core | Location, Advertisement, Analytics | https://reports.exodus-privacy.eu.org/trackers/333 |
JiGuang Aurora Mobile JPush | Analytics | https://reports.exodus-privacy.eu.org/trackers/343 |
敏感凭证泄露
活动列表
显示 34 个 activities
服务列表
显示 16 个 services
广播接收者列表
显示 16 个 receivers
内容提供者列表
显示 9 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
Flutter | Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 | |
Bugly | Tencent | 腾讯 Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。 |
腾讯云短视频 SDK | Tencent | 腾讯云点播推出了短视频一站式解决方案,覆盖了视频生成、上传、处理、分发和播放在内的各个环节,帮助用户以最快速度实现短视频应用的上线。 |
腾讯云实时音视频 | Tencent | 腾讯实时音视频(Tencent Real-Time Communication,TRTC),将腾讯 21 年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。 |
极光推送 | 极光 | JPush 是经过考验的大规模 App 推送平台,每天推送消息数超过 5 亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。 |
Google Play Service | 借助 Google Play 服务,您的应用可以利用由 Google 提供的最新功能,例如地图,Google+ 等,并通过 Google Play 商店以 APK 的形式分发自动平台更新。 这样一来,您的用户可以更快地接收更新,并且可以更轻松地集成 Google 必须提供的最新信息。 | |
HMS Core | Huawei | HMS Core 是华为终端云服务提供的端、云开放能力的合集,助您高效构建精品应用。 |
Huawei Push | Huawei | 华为推送服务(HUAWEI Push Kit)是华为为开发者提供的消息推送平台,建立了从云端到终端的消息推送通道。开发者通过集成 HUAWEI Push Kit 可以实时推送消息到用户终端应用,构筑良好的用户关系,提升用户的感知度和活跃度。 |
HMS Update | Huawei | 用于 HMS SDK 引导升级 Huawei Mobile Services(APK),提供给系统安装器读取升级文件。 |
PictureSelector | LuckSiege | 一款针对 Android 平台下的图片选择器,支持从相册获取图片、视频、音频 & 拍照,支持裁剪(单图 or 多图裁剪)、压缩、主题自定义配置等功能,支持动态获取权限&适配 Android 5.0+ 系统的开源图片选择框架。 |
vivo Push | vivo | vivo 推送是 Funtouch OS 上系统级消息推送平台,帮助开发者在 vivo 平台有效提升活跃和留存。通过和系统的深度结合,建立稳定可靠、安全可控、高性能的消息推送服务,帮助不同行业的开发者挖掘更多的运营价值。 |
MiPush | Xiaomi | 小米消息推送服务在 MIUI 上为系统级通道,并且全平台通用,可以为开发者提供稳定、可靠、高效的推送服务。 |
Firebase | Firebase 提供了分析、数据库、消息传递和崩溃报告等功能,可助您快速采取行动并专注于您的用户。 | |
Jetpack Media | 与其他应用共享媒体内容和控件。已被 media2 取代。 | |
Firebase Analytics | Google Analytics(分析)是一款免费的应用衡量解决方案,可提供关于应用使用情况和用户互动度的分析数据。 | |
Meizu Push | Meizu | 魅族推送服务是由魅族公司为开发者提供的消息推送服务,开发者可以向集成了魅族 push SDK 的客户端实时地推送通知或者消息,与用户保持互动,提高活跃率。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |