声明:本平台专为移动应用安全风险研究与合规评估设计,严禁用于任何非法用途。 如有疑问或建议,欢迎加入微信群交流

应用图标

文件基本信息

文件名称
Optimal Walking v2.0.1.apk
文件大小
4.39MB
MD5
0b68e38b486068926f01fc219231e831
SHA1
e855b241f2a11576e4dd3d20268735e2444daa2f
SHA256
518fff2f5270bb36c983b72d5d43cc5bf64416f58644c68c0dc2ad50f8aa4a54
病毒检测
无法判定

应用基础信息

应用名称
Optimal Walking
包名
com.steprhythm
主活动
com.steprhythm.MainActivity
目标SDK
34
最小SDK
24
版本号
2.0.1
子版本号
9
加固信息
未加壳
开发框架
Java/Kotlin

Google Play 应用市场信息

标题 Optimal Walking
评分 None
安装 50+   次下载
价格 0
Android版本支持
分类 健康与健身
Play 商店链接 com.steprhythm
开发者 yuutazaki
开发者 ID 6819935636745198124
开发者 地址 None
开发者 主页 None
开发者 Email yuutazaki449@gmail.com
发布日期 None
隐私政策 Privacy link

关于此应用
① 输入您的年龄、身高、体重和静息心率。
静息心率(脉搏)是您不进行身体活动时的最低心率。
早上起床后坐在椅子上休息,测量脉搏率。在心脏高度处测量脉搏率 15 秒,然后乘以 4。
用左手三个指尖按压桡动脉,测脉搏。

② 运动强度设定输入为30~60%的强度设定。
运动强度由运动目的决定。
50% = 脂肪燃烧和血糖控制的最佳强度,且不会对心肺功能造成过度压力
30% = 从严重身体损失中恢复的最佳强度
40% = 进行锻炼或摆脱长期不活动的最佳强度
60% = 养成运动习惯、提高肌肉力量和体能的最佳强度 *如果您是为了改善疾病而这样做,最好参考家庭医生等的建议。

③ 运动时目标心率显示。
显示适合每种运动强度的运动期间目标心率范围。

④ BPM显示。
BPM 显示为适合每种运动强度的每分钟步数。
100 至 110 步/分钟的 BPM 会增加步幅和手臂摆动(肘部伸展),从而实现“轻松行走”
BPM 110-120 步/分钟:“保持稳定”大步幅和手臂摆动(肘部稍微弯曲)
BPM 120-130 步/分钟是“有力地行走”,以步伐和手臂摆动为主导。
如果 BPM 超过 134 步/分钟,则被视为轻度慢跑(跑步)。

⑤ 显示运动强度等级Mets。
运动强度以称为 Mets 的单位表示。
1 Mets 坐在椅子上
如果你站起来,那就是1.5Mets,也就是这个量的1.5倍。
在室内缓慢行走时 2.0 Mets,
爬楼梯费用约为5.0Mets。
BPM 范围为 3.0 至 4.5 Mets。

⑥ 显示运动时间和运动热量消耗。
显示步伐节奏步行时间和从开始到停止消耗的卡路里。

反编译与源码导出

Manifest文件 查看
Java源代码 查看 -- 下载

文件结构与资源列表

    应用签名证书信息

    二进制文件已签名
    v1 签名: False
    v2 签名: True
    v3 签名: True
    v4 签名: False
    主题: C=US, ST=California, L=Mountain View, O=Google Inc., OU=Android, CN=Android
    签名算法: rsassa_pkcs1v15
    有效期自: 2024-02-16 03:27:16+00:00
    有效期至: 2054-02-16 03:27:16+00:00
    发行人: C=US, ST=California, L=Mountain View, O=Google Inc., OU=Android, CN=Android
    序列号: 0xaf52c1d5d9695469b6c64e9e095dfd5697a024e0
    哈希算法: sha256
    证书MD5: 1fcd76f57a7aa75dbb3543d8524582e3
    证书SHA1: 801af0b73334eac4919b92d16076a8a8d776a7f6
    证书SHA256: 62b1d4b0e0b2f56e39cf7394c30eae07837a8fd1af2e3d5412153eeb160dca64
    证书SHA512: 469605abc8372b0a0a53cdcf064e14190d08122dfa63031aa90c76e22b1636a8e918fac5a8f231e3c679314f247bc14204bcd3e4ec99b108200402ce6053508b
    公钥算法: rsa
    密钥长度: 4096
    指纹: 8517c028c25e982140abd937bb8f91841d757a0c5b135d79503e295505225c84
    找到 1 个唯一证书

    权限声明与风险分级

    权限名称 安全等级 权限内容 权限描述 关联代码
    com.android.vending.BILLING 普通 应用程序具有应用内购买 允许应用程序从 Google Play 进行应用内购买。
    android.permission.INTERNET 危险 完全互联网访问 允许应用程序创建网络套接字。
    android.permission.CAMERA 危险 拍照和录制视频 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。
    android.permission.ACCESS_NETWORK_STATE 普通 获取网络状态 允许应用程序查看所有网络的状态。
    com.steprhythm.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION 未知 未知权限 来自 android 引用的未知权限。

    证书安全合规分析

    高危
    0
    警告
    0
    信息
    1
    标题 严重程度 描述信息
    已签名应用 信息 应用程序使用代码签名证书进行签名

    Manifest 配置安全分析

    高危
    0
    警告
    2
    信息
    0
    屏蔽
    0
    序号 问题 严重程度 描述信息 操作
    1 应用程序数据可以被备份
    [android:allowBackup=true]
    警告 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。
    2 Broadcast Receiver (androidx.profileinstaller.ProfileInstallReceiver) 受权限保护, 但是应该检查权限的保护级别。
    Permission: android.permission.DUMP
    [android:exported=true]
    警告 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

    可浏览 Activity 组件分析

    ACTIVITY INTENT

    网络通信安全风险分析

    序号 范围 严重级别 描述

    API调用分析

    API功能 源码文件
    网络通信-> WebView JavaScript接口 com/steprhythm/MainActivity.java
    com/steprhythm/MyWebViewClient.java
    网络通信-> WebView 相关 com/steprhythm/MainActivity.java
    JavaScript 接口方法 com/steprhythm/WebAppInterface.java

    安全漏洞检测

    高危
    0
    警告
    1
    信息
    1
    安全
    0
    屏蔽
    0
    序号 问题 等级 参考标准 文件位置 操作
    1 应用程序记录日志信息,不得记录敏感信息 信息 CWE: CWE-532: 通过日志文件的信息暴露
    OWASP MASVS: MSTG-STORAGE-3
    升级会员:解锁高级权限
    2 不安全的Web视图实现。可能存在WebView任意代码执行漏洞 警告 CWE: CWE-749: 暴露危险方法或函数
    OWASP Top 10: M1: Improper Platform Usage
    OWASP MASVS: MSTG-PLATFORM-7
    升级会员:解锁高级权限

    Native库安全分析

    No Shared Objects found.
    序号 动态库 NX(堆栈禁止执行) PIE STACK CANARY(栈保护) RELRO RPATH(指定SO搜索路径) RUNPATH(指定SO搜索路径) FORTIFY(常用函数加强检查) SYMBOLS STRIPPED(裁剪符号表)

    文件分析

    序号 问题 文件

    敏感权限分析

    恶意软件常用权限 1/30
    android.permission.CAMERA
    其它常用权限 2/46
    android.permission.INTERNET
    android.permission.ACCESS_NETWORK_STATE

    恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
    其它常用权限 是已知恶意软件经常滥用的权限。

    IP地理位置

    恶意域名检测

    域名 状态 中国境内 位置信息 解析
    step-rhythm01.uw.r.appspot.com 安全
    IP地址: 142.250.176.20
    国家: 美国
    地区: 加利福尼亚
    城市: 山景城
    查看: Google 地图

    手机号提取

    URL链接分析

    URL信息 源码文件
    https://step-rhythm01.uw.r.appspot.com/menu?machinetype=0
    com/steprhythm/MainActivity.java

    Firebase配置检测

    邮箱地址提取

    第三方追踪器

    名称 类别 网址

    敏感凭证泄露

    字符串信息

    建议导出为TXT,方便查看。

    内容提供者列表

    第三方SDK

    SDK名称 开发者 描述信息
    Google Play Billing Google Google Play 结算服务可让您在 Android 上销售数字内容。本文档介绍了 Google Play 结算服务解决方案的基本构建基块。要决定如何实现特定的 Google Play 结算服务解决方案,您必须了解这些构建基块。
    Google Play Service Google 借助 Google Play 服务,您的应用可以利用由 Google 提供的最新功能,例如地图,Google+ 等,并通过 Google Play 商店以 APK 的形式分发自动平台更新。 这样一来,您的用户可以更快地接收更新,并且可以更轻松地集成 Google 必须提供的最新信息。
    File Provider Android FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。
    Jetpack App Startup Google App Startup 库提供了一种直接,高效的方法来在应用程序启动时初始化组件。库开发人员和应用程序开发人员都可以使用 App Startup 来简化启动顺序并显式设置初始化顺序。App Startup 允许您定义共享单个内容提供程序的组件初始化程序,而不必为需要初始化的每个组件定义单独的内容提供程序。这可以大大缩短应用启动时间。
    Firebase Google Firebase 提供了分析、数据库、消息传递和崩溃报告等功能,可助您快速采取行动并专注于您的用户。
    Jetpack ProfileInstaller Google 让库能够提前预填充要由 ART 读取的编译轨迹。
    Jetpack AppCompat Google Allows access to new APIs on older API versions of the platform (many using Material Design).

    污点分析

    当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……
    规则名称 描述信息 操作
    病毒分析 使用安卓恶意软件常用的API进行污点分析 开始分析  
    漏洞挖掘 漏洞挖掘场景下的污点分析 开始分析  
    隐私合规 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 开始分析  
    密码分析 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 开始分析  
    Callback 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 开始分析