文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: False
v2 签名: True
v3 签名: True
v4 签名: False
主题: C=VN, ST=HN, L=XD, O=LX, OU=Tool Shells, CN=Kakathic
签名算法: rsassa_pkcs1v15
有效期自: 2022-02-06 05:29:14+00:00
有效期至: 2044-02-01 05:29:14+00:00
发行人: C=VN, ST=HN, L=XD, O=LX, OU=Tool Shells, CN=Kakathic
序列号: 0x7eb1f1bd
哈希算法: sha256
证书MD5: b49e3d1b2e3711595fd0c438a768ff0c
证书SHA1: 35f32e32a5be61c1a8f2ba8b8ab2140b5c2a6ef1
证书SHA256: 646930e56de9c6397ea7acfa31cbb8765599149419620ca0d5d3c9f5d54dd66e
证书SHA512: b98f80b2c5a1c7cc180a23830c94255e3633e791518d756723688b625d784f550a54613e6c066894950d452958e30680e2342305bbe033dc881e0616f936023f
公钥算法: rsa
密钥长度: 2048
指纹: f58118e6089b43fe45befe5edaadf91aaa6325a7150702b063d90afb4a10525b
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | 显示文件 |
android.permission.WRITE_EXTERNAL_STORAGE | 危险 | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 显示文件 |
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 |
显示文件
coil/ImageLoader.java
coil/network/RealNetworkObserver.java
com/bobbyesp/library/data/remote/SpotDLUpdater.java
com/bobbyesp/spowlo/utils/UpdateUtil$downloadApk$2.java
com/bobbyesp/spowlo/utils/UpdateUtil.java
com/soywiz/korio/net/JvmAsyncClient.java
io/ktor/client/engine/android/AndroidClientEngine.java
io/ktor/client/engine/android/AndroidEngineConfig.java
io/ktor/client/engine/android/AndroidURLConnectionUtilsKt.java
io/ktor/client/engine/okhttp/OkHttpEngine.java
io/ktor/client/engine/okhttp/OkHttpEngineKt.java
io/ktor/http/content/URIFileContent.java
|
android.permission.FOREGROUND_SERVICE | 普通 | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | 显示文件 |
android.permission.POST_NOTIFICATIONS | 危险 | 发送通知的运行时权限 | 允许应用发布通知,Android 13 引入的新权限。 | 显示文件 |
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | 普通 | 使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 的权限 | 应用程序必须拥有权限才能使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。 | |
android.permission.REQUEST_INSTALL_PACKAGES | 危险 | 允许安装应用程序 | Android8.0 以上系统允许安装未知来源应用程序权限。 | |
android.permission.MANAGE_EXTERNAL_STORAGE | 危险 | 文件列表访问权限 | Android11新增权限,读取本地文件,如简历,聊天图片。 | 显示文件 |
android.permission.FOREGROUND_SERVICE_DATA_SYNC | 普通 | 允许前台服务进行数据同步 | 允许常规应用程序使用类型为“dataSync”的 Service.startForeground。 | |
com.bobbyesp.spowlo.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION | 未知 | 未知权限 | 来自 android 引用的未知权限。 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序数据可以被备份 [android:allowBackup=true] |
警告 | 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
2 |
Broadcast Receiver (androidx.profileinstaller.ProfileInstallReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.DUMP [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|---|
com.bobbyesp.spowlo.MainActivity |
Schemes:
http://,
https://,
Mime Types: text/plain, text/html, application/xhtml+xml, application/vnd.wap.xhtml+xml, |
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 启用了调试配置。生产版本不能是可调试的 | 高危 |
CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-RESILIENCE-2 |
升级会员:解锁高级权限 | |
2 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
3 | 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
4 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
5 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
6 | 应用程序可以写入应用程序目录。敏感信息应加密 | 信息 |
CWE: CWE-276: 默认权限不正确
OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
7 | SHA-1是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
8 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
9 | IP地址泄露 | 警告 |
CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2 |
升级会员:解锁高级权限 | |
10 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
11 | 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 | 信息 |
OWASP MASVS: MSTG-STORAGE-10 |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libffprobe.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
地址无关的可执行文件 (PIE)
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 符号被剥离 |
文件分析
序号 | 问题 | 文件 |
---|
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00175 | 获取通知管理器并取消通知 |
通知 |
升级会员:解锁高级权限 |
00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
developer.spotify.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
ktor.io |
安全 |
否 |
IP地址: 18.238.192.82 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
spotify.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
twitter.com |
安全 |
否 |
IP地址: 185.199.109.153 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
avatars.githubusercontent.com |
安全 |
否 |
IP地址: 31.13.70.36 国家: 美国 地区: 宾夕法尼亚 城市: 加利福尼亚 查看: Google 地图 |
|
facebook.com |
安全 |
否 |
IP地址: 31.13.70.36 国家: 美国 地区: 加利福尼亚 城市: 洛杉矶 查看: Google 地图 |
|
i.ibb.co |
安全 |
否 |
IP地址: 108.181.22.211 国家: 美国 地区: 加利福尼亚 城市: 洛杉矶 查看: Google 地图 |
|
spotdl.github.io |
安全 |
否 |
IP地址: 185.199.109.153 国家: 美国 地区: 宾夕法尼亚 城市: 加利福尼亚 查看: Google 地图 |
|
foursquare.com |
安全 |
否 |
IP地址: 151.101.195.42 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
hosted.weblate.org |
安全 |
否 |
IP地址: 116.203.108.97 国家: 德国 地区: 拜仁 城市: 纽伦堡 查看: Google 地图 |
|
open.spotify.com |
安全 |
否 |
IP地址: 151.101.195.42 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
youtrack.jetbrains.com |
安全 |
否 |
IP地址: 63.33.88.220 国家: 爱尔兰 地区: 都柏林 城市: 都柏林 查看: Google 地图 |
|
.spotify.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
accounts.spotify.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
api.spotify.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
streams.videolan.org |
安全 |
否 |
IP地址: 63.33.88.220 国家: 法国 地区: 法兰西岛 城市: 巴黎 查看: Google 地图 |
|
i.scdn.co |
安全 |
否 |
IP地址: 23.220.75.233 国家: 美国 地区: 加利福尼亚 城市: 洛杉矶 查看: Google 地图 |
|
android.asset |
安全 |
否 | 没有可用的地理位置信息。 |
|
t.me |
安全 |
否 |
IP地址: 149.154.167.99 国家: 大不列颠及北爱尔兰联合王国 地区: 英格兰 城市: 伦敦 查看: Google 地图 |
|
www.ffmpeg.org |
安全 |
否 |
IP地址: 149.154.167.99 国家: 保加利亚 地区: 索菲亚(斯托利萨) 城市: 索菲亚 查看: Google 地图 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
https://api.github.com/repos/spotdl/spotify-downloader/releases/latest |
com/bobbyesp/library/data/remote/SpotDLUpdater.java |
https://spotdl.github.io/spotify-downloader/usage/#output-variables |
com/bobbyesp/spowlo/ui/pages/settings/downloader/FormatSettingsDialogsKt$OutputFormatDialog$3.java |
https://spotify.com https://.spotify.com |
com/spotify/sdk/android/auth/webview/LoginDialog.java |
https://.facebook.com https://facebook.com |
com/spotify/sdk/android/auth/webview/WebViewUtils.java |
https://t.me/spowlo_chatroom |
com/bobbyesp/spowlo/ui/pages/settings/about/ComposableSingletons$AboutPageKt$lambda3$1.java |
https://avatars.githubusercontent.com/u/60316747 https://github.com/bobbyesp https://github.com/bobbyesp/spowlo |
com/bobbyesp/spowlo/ui/pages/settings/about/AboutPageKt.java |
https://i.ibb.co/3zzdbq7/wolf-avatar.png https://t.me/decipher3114 https://avatars.githubusercontent.com/u/69683722 https://github.com/xnetcat https://i.ibb.co/y8g4szg/image.png https://avatars.githubusercontent.com/u/42355410 https://github.com/junkfood02 https://i.ibb.co/kmxk6x6/stk-20230214-wa0124.webp |
com/bobbyesp/spowlo/ui/pages/settings/about/ComposableSingletons$AboutPageKt.java |
https://youtrack.jetbrains.com/issue/ktor-6030/migrate-to-new-kotlinx.io-library |
io/ktor/utils/io/DeprecationKt.java |
https://i.scdn.co/image/ab67616d0000b2730da5b28d9dfe894de5da63ff |
com/bobbyesp/spowlo/ui/components/songs/ComposableSingletons$SongCardKt.java |
http://twitter.com/home?status= https://foursquare.com/venue/ |
com/soywiz/korim/qr/QR.java |
https://accounts.spotify.com/authorize/?client_id= https://api.spotify.com/v1 |
com/adamratzman/spotify/SpotifyApi.java |
https://open.spotify.com/get_access_token?reason=transport&producttype=web_player |
com/bobbyesp/library/data/remote/auth/SpotifyAuthHandler.java |
https://i.scdn.co/image/ab67616d0000b273a152de6438e748b4c0cddff7 |
com/bobbyesp/spowlo/ui/pages/settings/appearance/ComposableSingletons$AppearancePageKt.java |
127.0.0.1 |
com/soywiz/korio/net/http/HttpServer.java |
127.0.0.1 |
com/soywiz/korio/net/http/HttpPortableServer.java |
https://android.asset/ |
io/noties/markwon/image/destination/ImageDestinationProcessorAssets.java |
https://github.com/bobbyesp/spowlo/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title= |
com/bobbyesp/spowlo/CrashHandlerActivityKt$CrashReportPage$2.java |
https://ktor.io/docs/http-client-engines.html |
io/ktor/client/HttpClientJvmKt.java |
127.0.0.1 |
com/soywiz/korio/net/ws/RawSocketWebSocketClient.java |
https://api.github.com/repos/bobbyesp/spowlo/releases https://api.github.com/repos/bobbyesp/spowlo/releases/latest |
com/bobbyesp/spowlo/utils/UpdateUtil.java |
https://developer.spotify.com/dashboard/applications |
com/bobbyesp/spowlo/ui/pages/settings/spotify/SpotifySettingsDialogsKt.java |
https://api.github.com/repos/bobbyesp/spotdl-android/releases/latest |
com/bobbyesp/spotdl_common/utils/dependencies/DependenciesUtil.java |
https://hosted.weblate.org/engage/spowlo/ |
com/bobbyesp/spowlo/ui/pages/settings/appearance/LanguagePageKt.java |
https://ktor.io/docs/faq.html#no-transformation-found-exception |
io/ktor/client/call/NoTransformationFoundException.java |
127.0.0.1 |
com/soywiz/korio/net/AsyncSocketFactoryKt.java |
127.0.0.1 |
com/soywiz/korio/net/AsyncServer.java |
127.0.0.1 |
com/soywiz/korio/net/AsyncSocketFactory.java |
https://streams.videolan.org/upload/ http://www.ffmpeg.org/schema/ffprobe |
lib/arm64-v8a/libffprobe.so |
Firebase配置检测
邮箱地址提取
源码文件 | |
---|---|
this@copy.slice |
io/ktor/util/NIOKt.java |
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
显示 3 个 activities
广播接收者列表
显示 2 个 receivers
内容提供者列表
显示 2 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
Jetpack Graphics | 利用多个 Android 平台版本中的图形工具降低画面延迟。 | |
FFmpeg | FFmpeg | FFmpeg 是领先的多媒体框架,能够解码,编码,转码,MUX,DEMUX,流式,过滤和播放人类和机器创建的几乎所有内容。 |
MMKV | Tencent | MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。 |
File Provider | Android | FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。 |
Jetpack App Startup | App Startup 库提供了一种直接,高效的方法来在应用程序启动时初始化组件。库开发人员和应用程序开发人员都可以使用 App Startup 来简化启动顺序并显式设置初始化顺序。App Startup 允许您定义共享单个内容提供程序的组件初始化程序,而不必为需要初始化的每个组件定义单独的内容提供程序。这可以大大缩短应用启动时间。 | |
Jetpack ProfileInstaller | 让库能够提前预填充要由 ART 读取的编译轨迹。 | |
Jetpack AppCompat | Allows access to new APIs on older API versions of the platform (many using Material Design). | |
Jetpack Room | Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |