文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: False
v2 签名: False
v3 签名: True
v4 签名: False
主题: C=CN, ST=GuangDong, L=DongGuan, O=Oplus, OU=OSTeam, CN=AndroidTeam, E=oplus@oplus.com
签名算法: rsassa_pkcs1v15
有效期自: 2020-12-01 10:23:39+00:00
有效期至: 2048-04-18 10:23:39+00:00
发行人: C=CN, ST=GuangDong, L=DongGuan, O=Oplus, OU=OSTeam, CN=AndroidTeam, E=oplus@oplus.com
序列号: 0x9ae9bea546da6233
哈希算法: sha1
证书MD5: d6a6fca6cc19e84bc4b32a4e9ea6125c
证书SHA1: 57152bdfba78f435fa884585fdf2859684ba0316
证书SHA256: fc98dae63ad39626c8c67fbe83f2f06f74932a9cd146b92cecfc6a047a904386
证书SHA512: 81dc28d40979650f4d44ee205910ef134d993874d3b8239be6e36e09b729afe5985992ebe491ad7f9bad32e43d3d6729443fdbf815c24d2e34826fd7503e8fe0
公钥算法: rsa
密钥长度: 2048
指纹: 21e95d7a0ba57722c95ba96547c83ed73a38158cf891b1436650c7db5a51f99a
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.RECEIVE_BOOT_COMPLETED | 普通 | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 |
显示文件
a4/c.java
com/oplus/log/b/a/e.java
com/oplus/olc/coreservice/LogCoreService.java
com/oplus/olc/coreservice/ModemLogService.java
com/oplus/olc/coreservice/customer/CustomerLogReceiver.java
com/oplus/olc/coreservice/receiver/EngineerModeActionReceiver.java
com/oplus/olc/coreservice/receiver/LogKitSwitchReceiver.java
com/oplus/olc/coreservice/receiver/MTKLogReceiver.java
com/oplus/olc/coreservice/receiver/ModemLogReceiver.java
com/oplus/olc/coreservice/screenrecord/ScreenRecordService.java
com/oplus/olc/rus/RusReceiver.java
com/oplus/olc/uploader/upload/LogFileTransReceiver.java
i4/l.java
k4/i.java
k4/j.java
|
oplus.permission.OPLUS_COMPONENT_SAFE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.oplus.permission.safe.SECURITY | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.INTERACT_ACROSS_USERS | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.oplus.permission.safe.PERSISTENT | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.BLUETOOTH | 危险 | 创建蓝牙连接 | 允许应用程序查看或创建蓝牙连接。 | 显示文件 |
android.permission.BLUETOOTH_ADMIN | 危险 | 管理蓝牙 | 允许程序发现和配对新的蓝牙设备。 | 显示文件 |
android.permission.SYSTEM_ALERT_WINDOW | 危险 | 弹窗 | 允许应用程序弹窗。 恶意程序可以接管手机的整个屏幕。 | 显示文件 |
com.oplus.permission.safe.LOG | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.tencent.mm.permission.MOVE_XLOG | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | 显示文件 |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | 显示文件 |
android.permission.REBOOT | 签名(系统) | 强行重新启动手机 | 允许应用程序强行重新启动手机。 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序已使用代码签名证书进行签名 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
Service (com.oplus.olc.service.OlcService) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.oplus.permission.safe.LOG [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
2 |
Service (com.oplus.olc.service.LogCoreService) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.oplus.permission.safe.LOG [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
3 |
Broadcast Receiver (com.oplus.olc.coreservice.receiver.EngineerModeActionReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: oplus.permission.OPLUS_COMPONENT_SAFE [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
4 |
Service (com.oplus.olc.coreservice.LogCoreService) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.oplus.permission.safe.LOG [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
5 |
Broadcast Receiver (com.oplus.olc.coreservice.receiver.LogKitSwitchReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: oplus.permission.OPLUS_COMPONENT_SAFE [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
6 |
Broadcast Receiver (com.oplus.olc.coreservice.customer.CustomerLogReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: oplus.permission.OPLUS_COMPONENT_SAFE [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
7 |
Broadcast Receiver (com.oplus.olc.coreservice.receiver.ModemLogReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: oplus.permission.OPLUS_COMPONENT_SAFE [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
8 |
Service (com.oplus.olc.coreservice.ModemLogService) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.oplus.permission.safe.LOG [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
9 |
Service (com.oplus.olc.alwayson.LogAlwaysOnService) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.oplus.permission.safe.LOG [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
10 |
Content Provider (com.oplus.olc.uploader.provider.TaskInfoProvider) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.oplus.permission.safe.LOG [android:exported=true] |
警告 | 发现一个 Content Provider被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
11 |
Content Provider (com.oplus.epona.internal.EponaProvider) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.oplus.permission.safe.SECURITY [android:exported=true] |
警告 | 发现一个 Content Provider被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
2 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
3 | 启用了调试配置。生产版本不能是可调试的 | 高危 |
CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-RESILIENCE-2 |
升级会员:解锁高级权限 | |
4 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
5 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
6 | SHA-1是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用已被攻破或存在风险的密码学算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
7 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
8 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
9 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用已被攻破或存在风险的密码学算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
10 | 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libopluslog.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
文件分析
序号 | 问题 | 文件 |
---|
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
hio.oppo.com |
安全 |
是 |
IP地址: 119.147.175.15 国家: China 地区: Guangdong 城市: Guangzhou 查看: 高德地图 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
https://hio.oppo.com/app/ozone/pt/gotoOzoneCircleKbItemDetail?source=index&cataLog_id=497646&enc_kbi_id=158188544_157503735&page=ozone&is_more_document=0&type=ARTICLE |
j4/z.java |
https://hio.oppo.com/app/ozone/pt/gotoOzoneCircleKbItemDetail?source=index&cataLog_id=497646&enc_kbi_id=158188544_157503735&page=ozone&is_more_document=0&type=ARTICLE |
自研引擎分析结果 |
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
服务列表
显示 9 个 services
内容提供者列表
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |