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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 加壳工具简介「建议收藏」

    加壳工具简介「建议收藏」
    1.程序编写语言:
    常见的程序制作语言有:
    BorlandDelphi6.0-7.0
    MicrosoftVisualC++6.0
    MicrosoftVisualBasic5.0/6.0
    还有汇编、易语言等。很多软件都通过加壳保护来提高软件的激活成功教程难度,下面我们简单的介绍一下加壳工具。
    2.软件加壳工具介绍:
    II压缩壳介绍:
    常见压缩壳有:ASPack、UPX、PeCompact、N

    2022年6月27日
    113
  • 字符串匹配(多模式匹配篇)「建议收藏」

    字符串匹配(多模式匹配篇)「建议收藏」字符串匹配(多模式匹配篇)摘要:问题的提出:众所周知,KMP算法在O(n)的时间中solve单模式串匹配问题。但怎样solve多模式串匹配问题呢?Solve:本文用简要记叙了使用trie树,trie图(AC自动机)solve该问题的方法。关键字:字符串,多模式串匹配,trie树,trie图,AC自动机。前言:KMP算法是一种极其优秀的单模式串匹配算法,它通过前缀函数fail来减少匹配次数,以达到O…

    2022年8月21日
    7
  • 吐血推荐:VBScript教程及语言参考电子书「建议收藏」

    吐血推荐:VBScript教程及语言参考电子书「建议收藏」经过两次练手之后,花费一天时间,通过对从迅雷上所下载所有VBScript资源的整合,鼎力制作了此本VBScript教程及语言参考书。全书资源丰富,主要包括两部分内容。第一部分是教程部分,通过此章节的学习,我们可以很轻松的掌握VBScript的基础知识。第二部分是语言参考,提供一个搜索页面,在我们使用的时候可以随时查找到自己所需要查找的函数等的…

    2022年6月25日
    32
  • c语言中的三目运算符是_三目运算符试题

    c语言中的三目运算符是_三目运算符试题转载自:impluseC++条件运算符a?b:c;是右结合的,但是这个右结合要怎么理解呢?对于a?b:c?d:e;这样的表达式如果按照右结合来解读的话,那不应该是先运算c,然后返回d或者e,返回后再参与到a?b:d/e;这样的运算的吗?但实际代码的编译测试的结果显然大家都已经知道并非如此,是先计算a,或者返回b,或者返回(c?d…

    2022年9月1日
    3
  • pycharm运行不了程序_如何完全卸载pycharm

    pycharm运行不了程序_如何完全卸载pycharm在尝试了各种常规操作后,均无法打开,最后终于解决了!!!现在cmd中输入pycharm报错OpenJDK64-BitServerVMwarning:OptionUseConcMarkSweepGCwasdeprecatedinversion9.0andwilllikelyberemovedinafuturerelease.ErroroccurredduringinitializationofVMInitialheapsizesettoa

    2022年8月29日
    4
  • HttpWatch工具简介及使用技巧(转载)

    HttpWatch工具简介及使用技巧(转载)一概述 HttpWatch 强大的网页数据分析工具 集成在 InternetExpl 工具栏 包括网页摘要 Cookies 管理 缓存管理 消息头发送 接受 字符查询 POST 数据和目录管理功能 报告输出 HttpWatch 是一款能够收集并显示页页深层信息的软件 它不用代理服务器或一些复杂的网络监控工具 就能够在显示网页同时显示网页请求和回应的日志信息 甚至可以显示浏览器缓

    2025年11月29日
    3

发表回复

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

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