文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: CN=Android Debug, O=Android, C=US
签名算法: rsassa_pkcs1v15
有效期自: 2023-03-21 06:19:58+00:00
有效期至: 2053-03-13 06:19:58+00:00
发行人: CN=Android Debug, O=Android, C=US
序列号: 0x1
哈希算法: sha1
证书MD5: 1130070d69d0b98d3c4b543a44c4a49c
证书SHA1: c9c23c4e46847004d2602149c43a82a2fcd7a2ba
证书SHA256: 9e46d847265ce3619f3f081e9da913837a4a8560825b4fe9804d97021775c23c
证书SHA512: d3a1d323a9cafa5bc2d335401da755e123b1ec8e623b94e819efa62a25745adace222093e22dbd869ea6dd79bcc9ea8e176568601bfa9c5885e91ffdecbf1182
公钥算法: rsa
密钥长度: 2048
指纹: cddd6d7af59e77ae3436d79ea3cae6fcc0ecde5498f2dfcd557ed79f63416fd2
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | |
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | |
android.permission.WRITE_EXTERNAL_STORAGE | 危险 | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 显示文件 |
android.permission.CAMERA | 危险 | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | |
android.permission.RECORD_AUDIO | 危险 | 获取录音权限 | 允许应用程序获取录音权限。 | |
android.permission.READ_EXTERNAL_STORAGE | 危险 | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 | 显示文件 |
android.permission.ACCESS_WIFI_STATE | 普通 | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序已使用代码签名证书进行签名 |
应用程序使用了调试证书进行签名 | 高危 | 应用程序使用了调试证书进行签名。生产环境的应用程序不能使用调试证书发布。 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序可以安装在有漏洞的已更新 Android 版本上 Android 7.0, [minSdk=24] |
信息 | 该应用程序可以安装在具有多个未修复漏洞的旧版本 Android 上。这些设备不会从 Google 接收合理的安全更新。支持 Android 版本 => 10、API 29 以接收合理的安全更新。 | |
2 |
程序可被任意调试 [android:debuggable=true] |
高危 | 应用可调试标签被开启,这使得逆向工程师更容易将调试器挂接到应用程序上。这允许导出堆栈跟踪和访问调试助手类。 | |
3 |
应用程序数据存在被泄露的风险 未设置[android:allowBackup]标志 |
警告 | 这个标志 [android:allowBackup]应该设置为false。默认情况下它被设置为true,允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
2 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
3 | 启用了调试配置。生产版本不能是可调试的 | 高危 |
CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-RESILIENCE-2 |
升级会员:解锁高级权限 | |
4 | 此应用侦听剪贴板更改。一些恶意软件也会监听剪贴板更改 | 信息 |
OWASP MASVS: MSTG-PLATFORM-4 |
升级会员:解锁高级权限 | |
5 | 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 | 信息 |
OWASP MASVS: MSTG-STORAGE-10 |
升级会员:解锁高级权限 | |
6 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
7 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
8 | IP地址泄露 | 警告 |
CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2 |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libgdbserver.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
Partial RELRO
warning 此共享对象启用了部分 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在部分 RELRO 中,GOT 部分的非 PLT 部分是只读的,但 .got.plt 仍然是可写的。使用选项 -z,relro,-z,now 启用完整的 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
2 | arm64-v8a/libplugins_imageformats_libqgif.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
3 | arm64-v8a/libplugins_imageformats_libqicns.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
4 | arm64-v8a/libplugins_imageformats_libqico.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
5 | arm64-v8a/libplugins_imageformats_libqjpeg.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
6 | arm64-v8a/libplugins_imageformats_libqtga.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
7 | arm64-v8a/libplugins_imageformats_libqtiff.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
8 | arm64-v8a/libplugins_imageformats_libqwbmp.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
9 | arm64-v8a/libplugins_imageformats_libqwebp.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
10 | arm64-v8a/libplugins_playlistformats_libqtmultimedia_m3u.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
11 | arm64-v8a/libplugins_styles_libqandroidstyle.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN/../../lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
12 | arm64-v8a/libQt5Multimedia.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
13 | arm64-v8a/libQt5Script.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
14 | arm64-v8a/libQt5Xml.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
$ORIGIN
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
15 | arm64-v8a/librasc.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
C:/ORG/Qt5.12.6/5.12.6/android_arm64_v8a/lib
high 二进制文件设置了 RUNPATH。在某些情况下,攻击者可以滥用这个特性或者修改环境变量来运行任意的库,从而实现代码执行和权限提升。库应该设置 RUNPATH 的唯一时间是当它链接到同一个包中的私有库时。移除编译选项 --enable-new-dtags,-rpath 来移除 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
文件分析
序号 | 问题 | 文件 |
---|
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
qt-project.org |
安全 |
否 |
IP地址: 52.18.144.254 国家: 爱尔兰 地区: 都柏林 城市: 都柏林 查看: Google 地图 |
|
download.qt-project.org |
安全 |
否 |
IP地址: 77.86.162.2 国家: 芬兰 地区: 新地省 城市: 赫尔辛基 查看: Google 地图 |
|
trolltech.com |
安全 |
否 |
IP地址: 199.59.243.225 国家: 美利坚合众国 地区: 佛罗里达州 城市: 坦帕 查看: Google 地图 |
|
www.artisoft.cn |
安全 |
是 |
IP地址: 111.225.211.222 国家: 中国 地区: 河北 城市: 保定 查看: 高德地图 |
|
www.myco.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
5.2.5.3 |
自研引擎-M |
5.2.5.3 |
artisoft/rasc/BuildConfig.java |
https://download.qt-project.org/ministro/android/qt5/qt-5.7 |
org/qtproject/qt5/android/bindings/QtLoader.java |
https://download.qt-project.org/ministro/android/qt5/qt-5.7 5.2.5.3 |
自研引擎-S |
file:setfs: file:close: file:read+ file:pwrite: file:pread: file:fstat: file:readlink: file:open: file:unlink: |
lib/arm64-v8a/libgdbserver.so |
http://trolltech.com/xml/features/report-start-end-entity http://qt-project.org/xml/features/report-start-end-entity http://qt-project.org/xml/features/report-whitespace-only-chardata http://trolltech.com/xml/features/report-whitespace-only-chardata |
lib/arm64-v8a/libQt5Xml.so |
www.artisoft.cn 5.2.5.3 http://www.myco.com/page.htm 127.0.0.1 |
lib/arm64-v8a/librasc.so |
Firebase配置检测
邮箱地址提取
源码文件 | |
---|---|
atrass@163.com support@artisoft.cn |
lib/arm64-v8a/librasc.so |
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
显示 1 个 activities
服务列表
广播接收者列表
内容提供者列表
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
C++ 共享库 | Android | 在 Android 应用中运行原生代码。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |