文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: True
v4 签名: False
主题: CN=Android Debug, O=Android, C=US
签名算法: rsassa_pkcs1v15
有效期自: 2025-04-18 16:53:45+00:00
有效期至: 2055-04-11 16:53:45+00:00
发行人: CN=Android Debug, O=Android, C=US
序列号: 0x24ab42d394ca5b76
哈希算法: sha256
证书MD5: ba5750bb738ec80786144cc69f0fb6bc
证书SHA1: fc36be31911085400826f143b7443c91879f7e73
证书SHA256: 6911322df1aeea637dc35a081b3ccd9307cc7a22539b39ade28139baced11d07
证书SHA512: 6d9dcf726819bc6842dc3d00315b5f87fba6194ef9d68c628c2a9e2862899084fadece13a0d92c8029676d9595a8c6698decfe9ca19bd8f7df6fa00f6f343035
公钥算法: rsa
密钥长度: 2048
指纹: 9faccb1ae69512f03fae9ec6468a229181dc5b2d23fd1597e706874cbfb91cd9
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.SEND_SMS | 危险 | 发送短信 | 允许应用程序发送短信。恶意应用程序可能会不经您的确认就发送信息,给您带来费用。 | |
android.permission.WRITE_CALL_LOG | 危险 | 写入通话记录 | 允许应用程序写入(但不读取)用户的通话记录数据。 | |
android.permission.CALL_PHONE | 危险 | 直接拨打电话 | 允许应用程序直接拨打电话。恶意程序会在用户未知的情况下拨打电话造成损失。但不被允许拨打紧急电话。 | |
android.permission.READ_CALL_LOG | 危险 | 读取通话记录 | 允许应用程序读取用户的通话记录 | |
android.permission.WRITE_SETTINGS | 危险 | 修改全局系统设置 | 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 | |
android.permission.RECEIVE_BOOT_COMPLETED | 普通 | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 | 显示文件 |
android.permission.CAMERA | 危险 | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | |
android.permission.READ_CONTACTS | 危险 | 读取联系人信息 | 允允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 | |
android.permission.WRITE_CONTACTS | 危险 | 写入联系人信息 | 允许应用程序修改您手机上存储的联系人(地址)数据。恶意应用程序可借此清除或修改您的联系人数据。 | |
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | 普通 | 使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 的权限 | 应用程序必须拥有权限才能使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。 | |
android.permission.READ_SMS | 危险 | 读取短信 | 允许应用程序读取您的手机或 SIM 卡中存储的短信。恶意应用程序可借此读取您的机密信息。 | |
android.permission.WAKE_LOCK | 危险 | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | 显示文件 |
android.permission.READ_PHONE_STATE | 危险 | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | |
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | 显示文件 |
android.permission.RECORD_AUDIO | 危险 | 获取录音权限 | 允许应用程序获取录音权限。 | 显示文件 |
android.permission.RECEIVE_SMS | 危险 | 接收短信 | 允许应用程序接收短信。 恶意程序会在用户未知的情况下监视或删除。 | 显示文件 |
android.permission.ACCESS_COARSE_LOCATION | 危险 | 获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。 | |
android.permission.SET_WALLPAPER | 普通 | 设置壁纸 | 允许应用程序设置壁纸。 | |
android.permission.ACCESS_FINE_LOCATION | 危险 | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | |
android.permission.ACCESS_WIFI_STATE | 普通 | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | 显示文件 |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | 显示文件 |
android.permission.CHANGE_WIFI_STATE | 危险 | 改变Wi-Fi状态 | 允许应用程序改变Wi-Fi状态。 | |
android.permission.WRITE_EXTERNAL_STORAGE | 危险 | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 显示文件 |
android.permission.READ_EXTERNAL_STORAGE | 危险 | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 | 显示文件 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
应用程序使用了调试证书进行签名 | 高危 | 应用程序使用了调试证书进行签名。生产环境的应用程序不能使用调试证书发布。 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
程序可被任意调试 [android:debuggable=true] |
高危 | 应用可调试标签被开启,这使得逆向工程师更容易将调试器挂接到应用程序上。这允许导出堆栈跟踪和访问调试助手类。 | |
2 |
应用程序数据可以被备份 [android:allowBackup=true] |
警告 | 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
3 |
Broadcast Receiver (org.test.anynote.oscar.Cqpse) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
4 |
Service (org.test.anynote.oscar.Gruqt) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
2 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
3 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
4 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
5 | SHA-1是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
6 | 此应用侦听剪贴板更改。一些恶意软件也会监听剪贴板更改 | 信息 |
OWASP MASVS: MSTG-PLATFORM-4 |
升级会员:解锁高级权限 | |
7 | 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 | 信息 |
OWASP MASVS: MSTG-STORAGE-10 |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libcrypto1.1.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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/libffi.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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/libmain.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 二进制文件有以下加固函数: ['__strlen_chk', '__strncpy_chk', '__strrchr_chk', '__strcpy_chk', '__vsnprintf_chk'] |
True
info 符号被剥离 |
4 | arm64-v8a/libSDL2.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 二进制文件有以下加固函数: ['__fgets_chk', '__memset_chk', '__memmove_chk', '__strlen_chk', '__strlcpy_chk', '__strlcat_chk', '__strchr_chk', '__strrchr_chk', '__vsnprintf_chk'] |
True
info 符号被剥离 |
5 | arm64-v8a/libSDL2_image.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 二进制文件有以下加固函数: ['__memcpy_chk', '__memset_chk', '__memmove_chk'] |
True
info 符号被剥离 |
6 | arm64-v8a/libSDL2_mixer.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 符号被剥离 |
7 | arm64-v8a/libSDL2_ttf.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 二进制文件有以下加固函数: ['__memcpy_chk', '__memmove_chk', '__memset_chk', '__vsnprintf_chk', '__strlen_chk', '__strchr_chk', '__strncpy_chk', '__vsprintf_chk'] |
True
info 符号被剥离 |
8 | arm64-v8a/libssl1.1.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 符号被剥离 |
文件分析
序号 | 问题 | 文件 |
---|
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00079 | 隐藏当前应用程序的图标 |
规避 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00028 | 从assets目录中读取文件 |
文件 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00091 | 从广播中检索数据 |
信息收集 |
升级会员:解锁高级权限 |
00125 | 检查给定的文件路径是否存在 |
文件 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
手机号提取
URL链接分析
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
显示 1 个 activities
服务列表
显示 1 个 services
广播接收者列表
显示 1 个 receivers
内容提供者列表
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
libSDL | libsdl.org | SDL 是一个跨平台的开发库,旨在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、操纵杆和图形硬件的低级访问。它被视频回放软件、模拟器和流行游戏使用,包括 Valve 的获奖目录和许多 Humble Bundle 游戏。 |
SQLite | SQLite | SQLite 是遵守 ACID 的关系数据库管理系统,它包含在一个相对小的 C 程序库中。与许多其它数据库管理系统不同, SQLite 不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。 SQLite 遵守 ACID ,实现了大多数 SQL 标准。它使用动态的、弱类型的 SQL 语法。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |