文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: True
v4 签名: False
主题: C=US, ST=Unknown, L=Unknown, O=Unknown, OU=Android, CN=Android Debug
签名算法: rsassa_pkcs1v15
有效期自: 2013-12-31 22:35:04+00:00
有效期至: 2052-04-30 22:35:04+00:00
发行人: C=US, ST=Unknown, L=Unknown, O=Unknown, OU=Android, CN=Android Debug
序列号: 0x232eae62
哈希算法: sha1
证书MD5: 20f46148b72d8e5e5ca23d37a4f41490
证书SHA1: 5e8f16062ea3cd2c4a0d547876baa6f38cabf625
证书SHA256: fac61745dc0903786fb9ede62a962b399f7348f0bb6f899b8332667591033b9c
证书SHA512: 926c0550edaee7aed1211b91fde06be4cc4748e61d8f1afbe0bd12f3949a0d09a1cf4306c72e6662ae4c7b8ae7a573a81d7e52e5b6124444eaf8f413e6b1fa69
公钥算法: rsa
密钥长度: 2048
指纹: b759a55bdc298b16f7a102f3107f3db38110f3dc7da00b1e981e9b257a9cf1af
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.BATTERY_STATS | 普通 | 修改电池统计 | 允许对手机电池统计信息进行修改 | |
android.permission.MODIFY_AUDIO_SETTINGS | 危险 | 允许应用修改全局音频设置 | 允许应用程序修改全局音频设置,如音量。多用于消息语音功能。 | |
android.permission.USE_FULL_SCREEN_INTENT | 普通 | 全屏通知 | Android 10以后的全屏 Intent 的通知。 | |
android.permission.CLEAR_APP_CACHE | 危险 | 删除所有应用程序缓存数据 | 允许应用程序通过删除应用程序缓存目录中的文件释放手机存储空间。通常此权限只适用于系统进程。 | |
android.permission.SCHEDULE_EXACT_ALARM | 普通 | 精确的闹钟权限 | 允许应用程序使用准确的警报 API。 | |
android.permission.READ_EXTERNAL_STORAGE | 危险 | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 | 显示文件 |
android.permission.GET_PACKAGE_SIZE | 普通 | 测量应用程序空间大小 | 允许一个程序获取任何package占用空间容量。 | |
android.permission.POST_NOTIFICATIONS | 危险 | 发送通知的运行时权限 | 允许应用发布通知,Android 13 引入的新权限。 | 显示文件 |
android.permission.FOREGROUND_SERVICE_DATA_SYNC | 普通 | 允许前台服务进行数据同步 | 允许常规应用程序使用类型为“dataSync”的 Service.startForeground。 | |
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.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 |
显示文件
com/tanodxyz/gdownload/NetworkInfoProvider.java
com/tanodxyz/gdownload/_Kt.java
com/tanodxyz/gdownload/connection/ConnectionImpl.java
com/tanodxyz/gdownload/connection/DefaultURLConnectionHandler.java
com/tonyodev/fetch2/FetchFileServerDownloader.java
com/tonyodev/fetch2/HttpUrlConnectionDownloader.java
com/tonyodev/fetch2/provider/NetworkInfoProvider.java
com/tonyodev/fetch2core/FetchCoreUtils.java
com/tonyodev/fetch2core/server/FetchFileResourceTransporter.java
com/tonyodev/fetch2core/server/FileResourceTransporter.java
|
android.permission.INSTALL_SHORTCUT | 普通 | 允许在启动器中安装快捷方式 | 允许应用程序在Launcher中安装快捷方。 | |
android.permission.WAKE_LOCK | 危险 | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | |
android.permission.USE_EXACT_ALARM | 普通 | 允许在未经用户许可的情况下使用精确的警报 | 允许应用使用精确的警报。 | |
android.permission.CALL_PHONE | 危险 | 直接拨打电话 | 允许应用程序直接拨打电话。恶意程序会在用户未知的情况下拨打电话造成损失。但不被允许拨打紧急电话。 | 显示文件 |
android.permission.ACCESS_WIFI_STATE | 普通 | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | 显示文件 |
android.permission.FOREGROUND_SERVICE | 普通 | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | |
android.permission.FOREGROUND_SERVICE_TYPE_NONE | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.SEND_SMS | 危险 | 发送短信 | 允许应用程序发送短信。恶意应用程序可能会不经您的确认就发送信息,给您带来费用。 | |
android.permission.REQUEST_DELETE_PACKAGES | 普通 | 请求删除应用 | 允许应用程序请求删除包。 | |
android.permission.READ_CONTACTS | 危险 | 读取联系人信息 | 允允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 | |
android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION | 普通 | 允许媒体投影的前台服务 | 允许常规应用程序使用类型为“mediaProjection”的 Service.startForeground。 | |
android.permission.READ_PHONE_STATE | 危险 | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | |
android.permission.ADD_VOICEMAIL | 危险 | 将语音邮件添加到系统 | 允许应用程序将语音邮件添加到系统中。 | |
android.permission.VIBRATE | 普通 | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | |
android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND | 普通 | 允许配套应用程序在后台运行 | 允许配套应用在后台运行。 | |
android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND | 普通 | 允许配套应用程序在后台使用数据 | 允许配套应用在后台使用数据。 | |
android.permission.QUERY_ALL_PACKAGES | 普通 | 获取已安装应用程序列表 | Android 11引入与包可见性相关的权限,允许查询设备上的任何普通应用程序,而不考虑清单声明。 | |
android.permission.RECEIVE_SMS | 危险 | 接收短信 | 允许应用程序接收短信。 恶意程序会在用户未知的情况下监视或删除。 | 显示文件 |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | 显示文件 |
android.permission.REORDER_TASKS | 危险 | 对正在运行的应用程序重新排序 | 允许应用程序将任务移至前端和后台。恶意应用程序可借此强行进入前端,而不受您的控制。 | |
android.permission.RECEIVE_BOOT_COMPLETED | 普通 | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 | 显示文件 |
android.permission.WRITE_SETTINGS | 危险 | 修改全局系统设置 | 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 | |
android.permission.USE_FINGERPRINT | 普通 | 允许使用指纹 | 此常量在 API 级别 28 中已弃用。应用程序应改为请求USE_BIOMETRIC | |
android.permission.USES_POLICY_FORCE_LOCK | 签名(系统) | 强制锁定屏幕 | 这个安卓权限是用于强制锁定屏幕的。它允许应用程序通过调用DevicePolicyManager的lockNow()方法来立即锁定设备,而不需要用户的操作。 | |
android.permission.ACCESS_NOTIFICATION_POLICY | 普通 | 标记访问通知策略的权限 | 对希望访问通知政策的应用程序的标记许可。 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
应用程序使用了调试证书进行签名 | 高危 | 应用程序使用了调试证书进行签名。生产环境的应用程序不能使用调试证书发布。 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。 | |
2 |
Broadcast Receiver (com.takestandc.p041y) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
3 |
Broadcast Receiver (com.takestandc.p029x) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BROADCAST_SMS [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
4 |
Broadcast Receiver (com.takestandc.p012k) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BROADCAST_WAP_PUSH [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
5 |
Service (com.takestandc.p074x) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.SEND_RESPOND_VIA_MESSAGE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
6 |
Broadcast Receiver (com.takestandc.p076w) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
7 |
高优先级的Intent (999) - {2} 个命中 [android:priority] |
警告 | 通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|---|
com.takestandc.p037k |
Schemes:
sms://,
smsto://,
mms://,
mmsto://,
|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
2 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
3 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
4 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
5 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libcRxxyJ.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 二进制文件有以下加固函数: ['__strcat_chk', '__strcpy_chk', '__vsprintf_chk'] |
True
info 符号被剥离 |
文件分析
序号 | 问题 | 文件 |
---|
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00096 | 连接到 URL 并设置请求方法 |
命令 网络 |
升级会员:解锁高级权限 |
00089 | 连接到 URL 并接收来自服务器的输入流 |
命令 网络 |
升级会员:解锁高级权限 |
00030 | 通过给定的 URL 连接到远程服务器 |
网络 |
升级会员:解锁高级权限 |
00109 | 连接到 URL 并获取响应代码 |
网络 命令 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00091 | 从广播中检索数据 |
信息收集 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00052 | 删除内容 URI 指定的媒体(SMS、CALL_LOG、文件等) |
短信 |
升级会员:解锁高级权限 |
00189 | 获取短信内容 |
短信 |
升级会员:解锁高级权限 |
00126 | 读取敏感数据(短信、通话记录等) |
信息收集 短信 通话记录 日历 |
升级会员:解锁高级权限 |
00188 | 获取短信地址 |
短信 |
升级会员:解锁高级权限 |
00011 | 从 URI 查询数据(SMS、CALLLOGS) |
短信 通话记录 信息收集 |
升级会员:解锁高级权限 |
00191 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
00200 | 从联系人列表中查询数据 |
信息收集 联系人 |
升级会员:解锁高级权限 |
00201 | 从通话记录中查询数据 |
信息收集 通话记录 |
升级会员:解锁高级权限 |
00163 | 创建新的 Socket 并连接到它 |
socket |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704067 |
com/swmansion/rnscreens/ScreenFragment.java |
file:failure:nocurrentuser file:oncomplete:failure file:oncomplete:success |
io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java |
https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704067 |
com/swmansion/rnscreens/ScreenStackFragment.java |
https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#java-side-failed-to-resolve-c-code-version https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#mismatch-between-java-code-version-and-c-code-version |
com/swmansion/reanimated/nativeProxy/NativeProxyCommon.java |
https://google.com |
com/tonyodev/fetch2core/FetchCoreUtils.java |
https://docs.swmansion.com/react-native-gesture-handler/docs/guides/migrating-off-rnghenabledroot |
com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.java |
https://www.google.com https://google.com |
com/tanodxyz/gdownload/_Kt.java |
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
显示 11 个 activities
服务列表
显示 10 个 services
广播接收者列表
显示 8 个 receivers
内容提供者列表
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |