文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: C=CN, ST=Shanxi, L=Shanxi, O=山西聚豹量科技有限公司, OU=LeopardCd, CN=LeopardCd
签名算法: rsassa_pkcs1v15
有效期自: 2024-08-22 10:47:36+00:00
有效期至: 2049-08-16 10:47:36+00:00
发行人: C=CN, ST=Shanxi, L=Shanxi, O=山西聚豹量科技有限公司, OU=LeopardCd, CN=LeopardCd
序列号: 0x3453151d
哈希算法: sha256
证书MD5: d703fe9d1fbd592ec07330a1030ed9a1
证书SHA1: 6f3a31b40f3704a27889f4cf7c77cd4d097b8f4e
证书SHA256: 19c23e3ba5d249ff0ae996781d33fd166f6598d372abd8e25c60dc664dd12741
证书SHA512: c9a42a2a61c4b72c7d73877c83c8ac32727911a829cdc481768457c548f11fe43b922c8b0729a38d1d147b3edbdfd47be27c2f329b30ab5f48a488f23b32502a
公钥算法: rsa
密钥长度: 2048
指纹: 47b7b2e3cef66f2923dd2b296c2e2716a4721ebe8e54915426a94c9e4842443b
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | |
android.permission.READ_EXTERNAL_STORAGE | 危险 | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 | 显示文件 |
android.permission.WRITE_EXTERNAL_STORAGE | 危险 | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 显示文件 |
android.permission.SYSTEM_ALERT_WINDOW | 危险 | 弹窗 | 允许应用程序弹窗。 恶意程序可以接管手机的整个屏幕。 | |
android.permission.READ_CONTACTS | 危险 | 读取联系人信息 | 允允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 | |
android.permission.WRITE_CONTACTS | 危险 | 写入联系人信息 | 允许应用程序修改您手机上存储的联系人(地址)数据。恶意应用程序可借此清除或修改您的联系人数据。 | |
android.permission.GET_ACCOUNTS | 普通 | 探索已知账号 | 允许应用程序访问帐户服务中的帐户列表。 | |
android.permission.CALL_PHONE | 危险 | 直接拨打电话 | 允许应用程序直接拨打电话。恶意程序会在用户未知的情况下拨打电话造成损失。但不被允许拨打紧急电话。 | |
android.permission.PROCESS_INCOMING_CALLS | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.ANSWER_PHONE_CALLS | 危险 | 允许应用程序接听来电 | 一个用于以编程方式应答来电的运行时权限。 | |
android.permission.READ_PHONE_STATE | 危险 | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | |
android.permission.READ_PHONE_NUMBERS | 危险 | 允许读取设备的电话号码 | 允许读取设备的电话号码。这是READ PHONE STATE授予的功能的一个子集,但对即时应用程序公开。 | |
android.permission.READ_CALL_LOG | 危险 | 读取通话记录 | 允许应用程序读取用户的通话记录 | |
android.permission.USE_SIP | 危险 | 收听/发出网络电话 | 允许应用程序使用SIP服务拨打接听互联网通话。 | |
android.permission.ADD_VOICEMAIL | 危险 | 将语音邮件添加到系统 | 允许应用程序将语音邮件添加到系统中。 | |
com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE | 普通 | OPPO推送服务 | OPPO推送服务正常工作所必需的,它允许应用接收来自OPPO推送系统的消息。 | |
android.permission.READ_LOGS | 危险 | 读取系统日志文件 | 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,这些信息还可能包含用户个人信息或保密信息,造成隐私数据泄露。 | |
android.permission.CALL_PRIVILEGED | 签名(系统) | 直接拨打任何电话号码 | 允许应用程序在您不介入的情况下拨打任何电话(包括紧急呼救)。恶意应用程序可借此向应急服务机构拨打骚扰电话甚至非法电话。 | |
android.permission.MODIFY_PHONE_STATE | 签名(系统) | 修改手机状态 | 允许应用程序控制设备的电话功能。拥有此权限的应用程序可自行切换网络、打开和关闭无线通信等,而不会通知您。 | |
android.permission.WRITE_SETTINGS | 危险 | 修改全局系统设置 | 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 | |
android.permission.WRITE_SECURE_SETTINGS | 签名(系统) | 修改安全系统设置 | 允许应用程序修改系统的安全设置数据。普通应用程序不能使用此权限。 | |
android.permission.WRITE_SYNC_SETTINGS | 危险 | 修改同步设置 | 允许应用程序修改同步设置。 | |
android.permission.ACCESS_DOWNLOAD_MANAGER | 签名(系统) | 访问下载管理器 | 这个权限是允许应用访问下载管理器,以便管理大型下载操作。 | |
android.permission.DOWNLOAD_WITHOUT_NOTIFICATION | 普通 | 后台下载文件 | 这个权限是允许应用通过下载管理器下载文件,且不对用户进行任何提示。 | |
android.permission.PACKAGE_USAGE_STATS | 签名 | 更新组件使用统计 | 允许修改组件使用情况统计 | |
android.permission.GET_TASKS | 危险 | 检索当前运行的应用程序 | 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。 | |
android.permission.AUTHENTICATE_ACCOUNTS | 危险 | 作为帐户身份验证程序 | 允许应用程序使用 AccountManager 的帐户身份验证程序功能,包括创建帐户以及获取和设置其密码。 | |
android.permission.READ_SYNC_STATS | 普通 | 读取同步统计信息 | 允许应用程序读取同步统计信息;例如已发生的同步历史记录。 | |
android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.REQUEST_INSTALL_PACKAGES | 危险 | 允许安装应用程序 | Android8.0 以上系统允许安装未知来源应用程序权限。 | |
android.permission.WAKE_LOCK | 危险 | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | |
android.permission.ACCESS_FINE_LOCATION | 危险 | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | |
android.permission.ACCESS_COARSE_LOCATION | 危险 | 获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。 | |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | |
android.permission.ACCESS_WIFI_STATE | 普通 | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | |
android.permission.FOREGROUND_SERVICE | 普通 | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | |
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | 普通 | 使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 的权限 | 应用程序必须拥有权限才能使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。 | |
android.permission.READ_SETTINGS | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.CHANGE_CONFIGURATION | 危险 | 改变UI设置 | 允许应用程序 允许应用程序更改当前配置,例如语言区域或整体的字体大小。 | |
oppo.permission.OPPO_COMPONENT_SAFE | 签名 | 特定于 OPPO 设备的权限 | 它用于授予应用访问某些系统级功能或组件的能力,否则这些功能或组件会因安全原因而受到限制。此权限可确保只有受信任的应用程序才能与 OPPO 系统的敏感部分进行交互。 | |
andorid.permission.MONUN_UNMOUNT_FILESYSTEMS | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.DISABLE_KEYGUARD | 危险 | 禁用键盘锁 | 允许应用程序停用键锁和任何关联的密码安全设置。例如,在手机上接听电话时停用键锁,在通话结束后重新启用键锁。 | |
android.permission.INJECT_EVENTS | 签名 | 按键和控制按钮 | 允许应用程序将其自己的输入活动(按键等)提供给其他应用程序。恶意应用程序可借此掌控手机。 | |
android.permission.MANAGE_USERS | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.BATTERY_STATS | 普通 | 修改电池统计 | 允许对手机电池统计信息进行修改 | |
android.permission.MODIFY_AUDIO_SETTINGS | 危险 | 允许应用修改全局音频设置 | 允许应用程序修改全局音频设置,如音量。多用于消息语音功能。 | |
android.permission.RECEIVE_USER_PRESENT | 普通 | 允许程序唤醒机器 | 允许应用可以接收点亮屏幕或解锁广播。 | |
android.permission.MOUNT_UNMOUNT_FILESYSTEMS | 危险 | 装载和卸载文件系统 | 允许应用程序装载和卸载可移动存储器的文件系统。 | |
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS | 普通 | 访问定位额外命令 | 访问额外位置提供程序命令,恶意应用程序可能会使用它来干扰GPS或其他位置源的操作。 | |
android.permission.VIBRATE | 普通 | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | |
android.permission.EXPAND_STATUS_BAR | 普通 | 展开/收拢状态栏 | 允许应用程序展开或折叠状态条。 | |
android.permission.BIND_NOTIFICATION_LISTENER_SERVICE | 签名 | NotificationListenerServices 需要用于系统绑定 | 必须是NotificationListenerService, 以确保只有系统可以绑定到。 | |
android.permission.BIND_INCALL_SERVICE | 签名 | InCallServices 需要进行系统绑定 | 必须是InCallService, 以确保只有系统可以绑定到。 | |
android.permission.REORDER_TASKS | 危险 | 对正在运行的应用程序重新排序 | 允许应用程序将任务移至前端和后台。恶意应用程序可借此强行进入前端,而不受您的控制。 | |
android.permission.MANAGE_EXTERNAL_STORAGE | 危险 | 文件列表访问权限 | Android11新增权限,读取本地文件,如简历,聊天图片。 | |
android.permission.QUERY_ALL_PACKAGES | 普通 | 获取已安装应用程序列表 | Android 11引入与包可见性相关的权限,允许查询设备上的任何普通应用程序,而不考虑清单声明。 | |
android.permission.BIND_WALLPAPER | 签名(系统) | 绑定到壁纸 | 允许手机用户绑定到壁纸的顶级界面。应该从不需要将此权限授予普通应用程序。 | |
android.permission.SET_WALLPAPER | 普通 | 设置壁纸 | 允许应用程序设置壁纸。 | |
android.permission.SET_WALLPAPER_HINTS | 普通 | 设置壁纸大小 | 允许应用程序设置壁纸大小。 | |
com.huawei.permission.external_app_settings.USE_COMPONENT | 签名 | 特定于华为设备的权限 | 它用于授予应用访问某些系统级功能或组件的能力,否则这些功能或组件会因安全原因而受到限制。该权限确保只有受信任的应用才能与华为系统的敏感部分进行交互。 | |
android.permission.BLUETOOTH | 危险 | 创建蓝牙连接 | 允许应用程序查看或创建蓝牙连接。 | |
android.permission.BROADCAST_STICKY | 普通 | 发送置顶广播 | 允许应用程序发送顽固广播,这些广播在结束后仍会保留。恶意应用程序可能会借此使手机耗用太多内存,从而降低其速度或稳定性。 | |
com.univer.equita.permission.MIPUSH_RECEIVE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE | 普通 | OPPO推送服务 | OPPO推送服务正常工作所必需的,它允许应用接收来自OPPO推送系统的消息。 | |
com.meizu.flyme.push.permission.RECEIVE | 普通 | 魅族push服务权限 | 魅族push服务权限。 | |
com.univer.equita.push.permission.MESSAGE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.meizu.c2dm.permission.RECEIVE | 普通 | 魅族push服务权限 | 魅族push服务权限。 | |
com.univer.equita.permission.JPUSH_MESSAGE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.univer.equita.openadsdk.permission.TT_PANGOLIN | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.SCHEDULE_EXACT_ALARM | 普通 | 精确的闹钟权限 | 允许应用程序使用准确的警报 API。 | |
getui.permission.GetuiService.com.univer.equita | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
com.vivo.notification.permission.BADGE_ICON | 普通 | 桌面图标角标 | vivo平台桌面图标角标,接入vivo平台后需要用户手动开启,开启完成后收到新消息时,在已安装的应用桌面图标右上角显示“数字角标”。 | |
android.permission.ACCESS_BACKGROUND_LOCATION | 危险 | 获取后台定位权限 | 允许应用程序访问后台位置。如果您正在请求此权限,则还必须请求ACCESS COARSE LOCATION或ACCESS FINE LOCATION。单独请求此权限不会授予您位置访问权限。 | |
com.ss.android.downloadlib.permission.ACCESS_PROVIDER | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.CHANGE_NETWORK_STATE | 危险 | 改变网络连通性 | 允许应用程序改变网络连通性。 | |
com.asus.msa.SupplementaryDID.ACCESS | 普通 | 获取厂商oaid相关权限 | 获取设备标识信息oaid,在华硕设备上需要用到的权限。 | |
android.permission.CHANGE_WIFI_STATE | 危险 | 改变Wi-Fi状态 | 允许应用程序改变Wi-Fi状态。 | |
com.google.android.gms.permission.AD_ID | 普通 | 应用程序显示广告 | 此应用程序使用 Google 广告 ID,并且可能会投放广告。 | |
freemme.permission.msa | 未知 | 未知权限 | 来自 android 引用的未知权限。 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。 | |
2 |
应用程序数据可以被备份 [android:allowBackup=true] |
警告 | 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
3 |
Activity设置了TaskAffinity属性 (com.call.callmodule.ui.activity.CallEndedActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
4 |
Activity设置了TaskAffinity属性 (com.call.callmodule.ui.activity.CallActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
5 |
Activity (com.call.callmodule.ui.activity.CallActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
6 |
Activity设置了TaskAffinity属性 (com.call.callmodule.ui.dialog.PermissionFloatDialog) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
7 |
Service (com.call.callmodule.call.CallService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_INCALL_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
8 |
Broadcast Receiver (com.call.callmodule.call.CallReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
9 |
Broadcast Receiver (com.call.callmodule.call.InCallActionReceiver) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
10 |
Activity设置了TaskAffinity属性 (com.call.callmodule.dialog.AfterCallDialog) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
11 |
Activity (com.call.callmodule.dialog.AfterCallDialog) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
12 |
Activity设置了TaskAffinity属性 (com.tiger.wxshow.activity.PermissionGuideDialog) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
13 |
Service (com.tiger.wxshow.service.WxShowAccessibilityService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_ACCESSIBILITY_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
14 |
Activity设置了TaskAffinity属性 (com.call.push.activity.ImagePushActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
15 |
Activity (com.call.push.activity.ImagePushActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
16 |
Broadcast Receiver (com.call.widget.WidgetCall) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
17 |
Broadcast Receiver (com.call.widget.WidgetFunction) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
18 |
Broadcast Receiver (com.call.widget.Widget4x1Flash) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
19 |
Broadcast Receiver (com.call.widget.WidgetFlash) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
20 |
Broadcast Receiver (com.call.widget.WidgetTransfer) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
21 |
Broadcast Receiver (com.call.widget.WidgetCall1x1) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
22 |
Broadcast Receiver (com.call.widget.WidgetBeautyCall) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
23 |
Broadcast Receiver (com.call.widget.WidgetCustomCall) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
24 |
Broadcast Receiver (com.call.widget.WidgetWx) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
25 |
Broadcast Receiver (com.call.widget.WidgetRePacket) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
26 |
Broadcast Receiver (com.call.widget.WidgetMissedCall) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
27 |
Activity (com.together.callshow.wxapi.WXEntryActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
28 |
Activity (com.together.callshow.wxapi.WXPayEntryActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
29 |
Broadcast Receiver (com.call.module_flash.receiver.PhoneReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
30 |
Service (callshow.common.function.wallpaper.LiveWallpaperService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_WALLPAPER [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
31 |
Activity (callshow.common.function.wallpaper.WallPaperAnimActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
32 |
Broadcast Receiver (callshow.common.function.shortcut.PinShortcutCallBackReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
33 |
Service (com.call.wallpapersdk.service.VideoWallpaperService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_WALLPAPER [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
34 |
Activity设置了TaskAffinity属性 (com.tool.shortcut.HomeShortcutActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
35 |
Activity设置了TaskAffinity属性 (com.tool.shortcut.UninstallFeedbackActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
36 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.PermissionGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
37 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.HosGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
38 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.HosAutoStartGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
39 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.PermissionVivoGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
40 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.PermissionHwGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
41 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.PermissionOppoAutoStartGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
42 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.PermissionOppoA10AutoStartGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
43 |
Activity设置了TaskAffinity属性 (com.test.rommatch.activity.PermissionOppoA10MoreAutoStartGuideActivity) |
警告 | 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名 | |
44 |
Service (com.imusic.ringshow.service.PermissionAccessibilityService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_ACCESSIBILITY_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
45 |
Service (com.test.rommatch.service.NotificationService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_NOTIFICATION_LISTENER_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
46 |
Content Provider (com.call.widget.ViewProvider) 未被保护。 [android:exported=true] |
警告 | 发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
47 |
Activity (com.blizzard.stepaward.push.OppoPushActivity) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。 | |
48 |
Service (com.blizzard.stepaward.push.service.GTPushService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
49 |
Broadcast Receiver (com.blizzard.stepaward.push.receiver.RouterBroadcastReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
50 |
Service (com.xiaomi.mipush.sdk.PushMessageHandler) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.xiaomi.xmsf.permission.MIPUSH_RECEIVE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
51 |
Broadcast Receiver (com.blizzard.stepaward.push.receiver.XMPushMessageReceiver) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
52 |
Broadcast Receiver (com.xiaomi.push.service.receivers.NetworkStatusReceiver) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
53 |
Service (com.heytap.msp.push.service.CompatibleDataMessageCallbackService) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.coloros.mcs.permission.SEND_MCS_MESSAGE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
54 |
Service (com.heytap.msp.push.service.DataMessageCallbackService) 受权限保护, 但是应该检查权限的保护级别。 Permission: com.heytap.mcs.permission.SEND_PUSH_MESSAGE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
55 |
Broadcast Receiver (com.blizzard.stepaward.push.receiver.MeiZuPushMsgReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
56 |
Service (com.vivo.push.sdk.service.CommandClientService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
57 |
Broadcast Receiver (com.blizzard.stepaward.push.receiver.VivoPushReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
58 |
Activity (com.alipay.sdk.app.AlipayResultActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
59 |
Service (com.igexin.sdk.GTIntentService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
60 |
Service (com.igexin.sdk.GService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
61 |
Activity (com.igexin.sdk.GetuiActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
62 |
Service (com.meizu.cloud.pushsdk.NotificationService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
63 |
Activity (com.xiaomi.mipush.sdk.NotificationClickedActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
64 |
Activity (com.bytedance.ads.convert.BDBridgeActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
65 |
Activity (com.alipay.sdk.app.PayResultActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
66 |
Activity (com.bytedance.android.openliveplugin.stub.activity.DouyinAuthorizeActivityProxy) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
67 |
Activity (com.bytedance.android.openliveplugin.stub.activity.DouyinAuthorizeActivityLiveProcessProxy) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
68 |
数据短信接收端设置在端口: 8888 上 [android:port] |
警告 | 一个二进制短信接收器被配置为监听一个端口。发送到设备的二进制短信由应用程序以开发者选择的方式处理。这个短信中的数据应该被应用程序正确地验证。此外,应用程序应该假设接收到的短信来自一个不可信的来源。 | |
69 |
高优先级的Intent (1000) - {2} 个命中 [android:priority] |
警告 | 通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|---|
com.call.callmodule.ui.activity.CallActivity |
Schemes:
tel://,
sa7b5816b9://,
Hosts: heatmap, |
callshow.common.function.wallpaper.WallPaperAnimActivity |
Schemes:
wallpaper://,
Hosts: anim, Ports: 8888, Paths: /showAnim, |
com.alipay.sdk.app.AlipayResultActivity |
Schemes:
com.univer.equita.alipay.result://,
|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
API功能 | 源码文件 |
---|---|
调用java反射机制 | com/dfz/xmshell/Main.java com/dfz/xmshell/dex/MultiDex.java com/dfz/xmshell/util/RefInvoke.java |
一般功能-> 文件操作 | 显示文件 |
加密解密-> 信息摘要算法 | com/dfz/xmshell/Main.java |
一般功能-> 加载so文件 | com/dfz/xmshell/MyStubApp.java |
DEX-> 加载和操作Dex文件 | com/dfz/xmshell/dex/MultiDex.java |
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
2 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
3 | 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 | 警告 |
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/libdu.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
2 | arm64-v8a/libEncryptorP.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
3 | arm64-v8a/libfilament-jni.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
4 | arm64-v8a/libgraphics_blur.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
5 | arm64-v8a/libLinearGradientView_registration.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__strlen_chk', '__memcpy_chk', '__vsprintf_chk', '__fgets_chk'] |
True
info 符号被剥离 |
6 | arm64-v8a/libluster.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__strncpy_chk'] |
True
info 符号被剥离 |
7 | arm64-v8a/libmannorarmor.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__strlen_chk', '__memcpy_chk', '__vsprintf_chk', '__fgets_chk'] |
True
info 符号被剥离 |
8 | arm64-v8a/libnative-gamesdk.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
9 | arm64-v8a/libobjectbox-jni.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__vsprintf_chk', '__memmove_chk', '__memcpy_chk', '__vsnprintf_chk', '__read_chk', '__strlen_chk'] |
True
info 符号被剥离 |
10 | arm64-v8a/libsgcore.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
11 | arm64-v8a/libterrain.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__vsnprintf_chk', '__strlen_chk', '__memmove_chk', '__vsprintf_chk'] |
True
info 符号被剥离 |
12 | arm64-v8a/libxmshell.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__memcpy_chk'] |
False
warning 符号可用 |
13 | arm64-v8a/libxysdk-native-lib.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__vsnprintf_chk', '__strlen_chk', '__memcpy_chk', '__memmove_chk', '__vsprintf_chk', '__memset_chk'] |
True
info 符号被剥离 |
14 | arm64-v8a/libzxprotect.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
文件分析
序号 | 问题 | 文件 |
---|
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
objectbox.io |
安全 |
否 |
IP地址: 85.13.163.69 国家: 德国 地区: 图林根 城市: 弗里德斯多夫 查看: Google 地图 |
|
nisportal.10010.com |
安全 |
是 |
IP地址: 115.231.163.68 国家: 中国 地区: 北京 城市: 北京 查看: 高德地图 |
|
id6.me |
安全 |
是 |
IP地址: 115.231.163.68 国家: 中国 地区: 北京 城市: 北京 查看: 高德地图 |
|
zxid-m.mobileservice.cn |
安全 |
是 |
IP地址: 115.231.163.68 国家: 中国 地区: 浙江 城市: 嘉兴 查看: 高德地图 |
|
msg.cmpassport.com |
安全 |
是 |
IP地址: 115.231.163.68 国家: 中国 地区: 北京 城市: 北京 查看: 高德地图 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
https://objectbox.io/sync/ |
lib/arm64-v8a/libobjectbox-jni.so |
https://zxid-m.mobileservice.cn/sdk/said/ping https://nisportal.10010.com:9001 https://msg.cmpassport.com/h5/getmobile https://id6.me/gw/preuniq.do |
lib/arm64-v8a/libzxprotect.so |
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
显示所有 179 个 activities
服务列表
显示 39 个 services
广播接收者列表
显示 27 个 receivers
内容提供者列表
显示 22 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
MSA SDK | 移动安全联盟 | 移动智能终端补充设备标识体系统一调用 SDK 由中国信息通信研究院泰尔终端实验室、移动安全联盟整合提供,知识产权归中国信息通信研究院所有。 |
Pangle SDK | ByteDance | 穿山甲是巨量引擎旗下全球应用变现与增长平台,合作优质媒体超 30,000 家,日请求突破 607 亿,日均展示达 100 亿,覆盖 7 亿日活用户,为全球应用和广告主提供高效的用户增长和变现解决方案。 |
Bugly | Tencent | 腾讯 Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。 |
数字联盟可信 ID SDK | 北京数字联盟网络科技有限公司 | 利用数盟可信 ID 技术,可以有效发现行业中各类造假,对于虚拟机造假,数盟可信 ID 不同于 IMEI, MAC, 设备序列号,以及 IMSI 等各类设备信息,它不可被篡改,不随 Rom 或者软件的变化而改变。 |
Filament | Filament 是一个基于物理的实时渲染引擎,适用于 Android、iOS、Linux、macOS、Windows 和 WebGL。它被设计为在 Android 上尽可能小且尽可能高效。 | |
IJKPlayer | Bilibili | IJKPlayer 是一款基于 FFmpeg 的轻量级 Android/iOS 视频播放器,具有 API 易于集成、编译配置可裁剪、支持硬件加速解码、DanmakuFlameMaster 架构清晰、简单易用等优势。 |
MMKV | Tencent | MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。 |
android-gif-drawable | koral-- | android-gif-drawable 是在 Android 上显示动画 GIF 的绘制库。 |
阿里聚安全 | Alibaba | 阿里聚安全是面向开发者,以移动应用安全为核心的开放平台。 |
移动统计分析 | Umeng | U-App 作为一款专业、免费的移动统计分析产品。在日常业务中帮您解决多种数据相关问题,如数据采集与管理、业务监测、用户行为分析、App 稳定性监控及实现多种运营方案等。助力互联网企业充分挖掘用户行为数据价值,找到产品更新迭代方向,实现精细化运营,全面提升业务增长效能。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |