2019年5月25更新——“运动世界校园”软件破解

一、软件工作原理软件和后台使用API进行交互,在早期版本中API没有鉴权导致可以通过伪造请求来完成跑步,但是后期API迭代了好几个版本,目前认为现在的请求需要间隔一个合理的时间差(跑步时间),而且需要计算一个token用来鉴权,避免了伪造请求。 跑步开始和跑步完成时,会记录时间、设备序列号、IMEI等敏感信息,上传服务器。此操作用来记录手机设备唯一性,用来检测频繁换手机,一台设备上登陆不同账…

大家好,又见面了,我是你们的朋友全栈君。

一、软件工作原理

  1. 软件和后台使用API进行交互,在早期版本中API没有鉴权导致可以通过伪造请求来完成跑步,但是后期API迭代了好几个版本,目前认为现在的请求需要间隔一个合理的时间差(跑步时间),而且需要计算一个token用来鉴权,避免了伪造请求。
  2. 跑步开始和跑步完成时,会记录时间、设备序列号、IMEI等敏感信息,上传服务器。此操作用来记录手机设备唯一性,用来检测频繁换手机,一台设备上登陆不同账号的代跑行为。
  3. 使用百度地图API,通过GPS和由百度提供的LBS服务进行定位,软件中的配速,通过定位速度来计算。
  4. 软件中用来评价跑步是否合格的步频,通过加速度传感器和计步器来获取数据。(后期发现计步器部分的代码完全没有发挥作用)
  5. 软件检测Root但不会影响跑步,目前软件通过检测Xposed Installer来检测Xposed框架,当检测到存在时,会禁止开始跑步。

二、解决方案

Xposed框架操作简单,模块写起来也简单得多,通过Hook系统传感器和GPS就可以达到模拟步频和定位的效果,但是软件目前会检测Xposed,所以需要反编译应用,把检测方法干掉。

三、反编译应用

我前后反编译了软件的两个版本,1.x和2.x功能变化不大,只是UI有一部分变化。通过EDEX对代码进行解包,发现应用套了壳。1.x版本使用360加固,2.x版本使用网易云盾(原网易云加固)对应用进行了加密。

通过查找相关资料,我在看雪论坛发现了一篇文章,文章说的很简略,其实原理很简单,是Dalvik虚拟机模式下基于Android运行时

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126149.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 想修改CSS

    想修改CSS

    2021年7月23日
    55
  • W3C标准是_关于w3c标准下列说法错误的是

    W3C标准是_关于w3c标准下列说法错误的是W3C简介什么是W3C?万维网联盟(WorldWideWebConsortium)创建于1994年10月工作是对web进行标准化创建并维护WWW标准使用W3C的目的?为了让任何人在任何时间、任何地点、通过任何设备访问web内容。作为用户和浏览器制造商之间的中间层,要想办法满足下游的用户和上游不同浏览器看到的是同样的内容,让页面、程序能支持所有的浏览器,能够满足尽可能多的用户标准内容1、DOC…

    2022年9月17日
    2
  • Laravel 5.3 用户验证源码探究 (一) 路由与注册

    Laravel 5.3 用户验证源码探究 (一) 路由与注册

    2021年10月24日
    41
  • SpringBoot前后端数据传输加密「建议收藏」

    SpringBoot前后端数据传输加密「建议收藏」采用的算法为AES算法1.编写加密工具类packagecom.pibigstar.utils;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.spec.SecretKeySpec;importorg.apache.commons.codec.binary.Base…

    2022年5月10日
    176
  • oracle恢复数据库的正确方式,oracle恢复数据库方法详解

    oracle恢复数据库的正确方式,oracle恢复数据库方法详解1.第一:用安装数据库时的管理员用户登录:创建一个新的用户,如://创建用户123密码456createuser123identifiedby456;第二:授权,赋予dba的权限grantdbato123;第三:导入数据库imp123/456@orclfile=E:\*.DMPfull=y注意:orcl是你创建的数据库事例,在安装oracl的时候,默认会新建一个orc…

    2022年7月17日
    31
  • MySQL呕血汇总–从基础到毕业【收藏篇】

    MYSQL目录前言一、MYSQL基础1.安装2.数据库介绍2.1.什么是数据库?2.2.实体(类)和表关系2.3.常见关系型数据库3.MYSQL基础操作❤重点❤3.1.启动关闭3.2.DDL(数据定义语言,这些语句定义不同的数据段、数据库、表、列、索引等数据库对象。常用语句关键字主要包括create,drop,alter等)3.2.1.操作数据库3.2.2.操作表3.3.DML(数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用语句关键字主要包括insert,delete,upda

    2022年4月9日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号