修改 iOS微信运动的数据  很简单,这里记录下实现步骤。

首先要安装Theos,具体安装步骤就不说了。网上很多。

大体安装步骤:

sudo brew install dpkg
sudo brew install ldid
git clone --recursive https://github.com/theos/theos.git
sudo chown $(id -u):$(id -g) theos

一、可以用ssh,也可以用usbmuxd。因为我们公司的网络还要用户名密码,麻烦,所以就用了usb的模式。

先执行命令:

 brew install usbmuxd 

来安装usbmuxd。

然后执行

 iproxy 2223 22 

,这样就可以将iphone上的端口号映射到电脑上的2223端口。

后面在Makefile文件中 我们会配置相关的ip和端口。

后面的命令行都要新建一个终端 进行操作。

二、新建一个文件夹,我们命名为WeChatSportWeak,cd到该目录,执行命令:

export THEOS=/opt/theos
$THEOS/bin/nic.pl

模板选择11:

Choose a Template (required): 11

MobileSubstrate Bundle filter输入com.tencent.xin,如下:

MobileSubstrate Bundle filter [com.apple.springboard]: com.tencent.xin

截图如下:

三、因为我用的是iphone6P,xcode9.2。所以修改目录中的Makefile文件如下:

ARCHS = arm64
export SDKVERSION=11.2
export THEOS_DEVICE_IP=localhost
export THEOS_DEVICE_PORT=2223
TARGET = iphone:latest:8.0 include $(THEOS)/makefiles/common.mk TWEAK_NAME = WeChatTweak
WeChatTweak_FILES = Tweak.xm include $(THEOS_MAKE_PATH)/tweak.mk after-install::
install.exec "killall -9 SpringBoard"

修改Tweak.xm为:

%hook WCDeviceStepObject

- (unsigned int)m7StepCount
{
return 69999;
}
%end

四、然后cd到子目录wechatsportweak中,

执行 make,再执行make package,最后执行make install。截图如下:

五、打开微信,点击查看微信运动,就发现步数变成了69999。第一名。微信不能和iPhone的健康关联,否则失效。

效果如下:

六、实现原理

我们怎么知道要hook的类是WCDeviceStepObject类的m7StepCount方法。

从pp助手 或其他平台上下载 的微信是一级破壳的,可以直接用class-dump解析出微信的所有.h文件。

class-dump的安装很简单,从 http://stevenygard.com/projects/class-dump/ 中下载,把下载的 class-dump.dmg文件拷贝到/usr/local/bin目录中。

然后在命令行中修改权限:

sudo chmod 777 /usr/local/bin/class-dump

命令格式:class-dump -H [.app文件的路径] -o [输出文件夹路径]

我本地的是:

 class-dump -H /Users/jichanghe/Desktop/微信/Payload/WeChat.app -o /Users/jichanghe/Desktop/WeChatHeads

这样就可以解析出所有的.h文件。如图:

找到WCDeviceStepObject文件。stepCount单词的意思就是 步数,有两个变量m7StepCount,hkStepCount。然后用上面的Theos试试 发现m7StepCount这个变量是可以的。所以才有了上面的hook代码。

上面的代码,微信.h文件都放到了 github里:https://github.com/bugaoshuni/WeChatSportTweak

iOS微信运动 刷分的更多相关文章

  1. iOS微信第三方登录实现

    iOS微信第三方登录实现   一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统.在进行微信OAuth2.0授权登录接入之前,在微信开 ...

  2. HTML实现点击时的阴影(:active)(已解决iOS微信上无法使用)

    一般是用这个委类:active 参考:http://www.w3school.com.cn/cssref/selector_active.asp 但是业界上实现的效果中,今日头条的手机端网页却不是这样 ...

  3. 苹果微信下载 iOS微信各版本列表

    微信在不断地更新迭代,ios微信下载点击这里立即开始(手机电脑都可以,电脑端要安装iTunes),每个版本都放出一些新的功能或修复相关错误,详情可以点击下面的版本链接进行查看.(这里有Android微 ...

  4. 改进:js修改iOS微信浏览器的title

    问题简介 前端入门没多久,可能连入门也不算,最近网上流行各自书籍改名,什么<前端开发,从入门到放弃>,<Android开发,从入门到改行>之类的,程序员真是个爱自嘲的群体,但我 ...

  5. Android/iOS微信6.3.5同时发布更新 支持群视频聊天、群公告

    下午微信6.3.5发布更新,新版最大变化就是支持群视频聊天,又一次向手机QQ靠拢.在群管理方面,支持发布群公告,支持群主转让给其他群成员,同样都是QQ玩剩下的功能.另外,新版支持微信运动查看步数图表. ...

  6. iOS 微信 音频 视频自动播放

    iOS 微信 音频 视频自动播放 http://www.w3ctech.com/topic/1165

  7. 微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题

    前几天鼓捣了一下微信连WiFi功能,设置还蛮简单的,但ytkah发现如果是ios版微信扫描微信连WiFi生成的二维码不用关注公众号就可以直接上网了,而安卓版需要关注公众号才能上网,这样就少了很多ios ...

  8. 在iOS微信浏览器中自动播放HTML5 audio(音乐)的2种正确方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. iOS微信自动抢红包插件(支持后台和锁屏下抢红包)

    前言:本文主要讲述使用hook方式实现红包插件,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法)   转眼间2017即将过去,又到了 ...

随机推荐

  1. <算法>进制转换超详细

    16转10 用竖式计算: 16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方 第0位: 5 * 16^0 = 5 第1位: F * 16^1 = 240 第 ...

  2. mysql 基本语法

    ################################################################# #author: 陈月白 #_blogs: http://www.c ...

  3. Navicat for Mysql 暴力破解教程

    关于破解Navicat for MySQL的教程有很多 ,但是比较繁琐, 这里推荐一种比较简单的办法~ 网盘地址:链接: https://pan.baidu.com/s/1kVHyShL 密码: ws ...

  4. Python Django CMDB项目实战之-1如何开启一个Django-并设置base页、index页、文章页面

    1.环境 win10 python 2.7.14 django 1.8.2 需要用到的依赖包:MySQLdb(数据库的接口包).PIL/pillow(处理图片的包) 安装命令: pip install ...

  5. JavaWeb核心技术学习 - 1.从JDBC说起

    作者:java1to3链接:http://www.cnblogs.com/java1to3/著作权归作者所有.未经作者本人同意,禁止一切转载.商业或非商业转载请联系作者获得授权并请注明出处. ・JDB ...

  6. OC对象与Core Foundation对象的转换

    OC对象使用了ARC,自己主动释放内存,可是CF中的对象没有ARC,必需要手动进行引用计数和内存释放. 两者对象之间的互相转换有三种形式: 1.__bridge: 直接转换,部改变对象的持有状况: i ...

  7. Java基础(四)-异常处理机制及其设计

    本篇主要是记录自己所理解的Java异常处理机制(基于jdk1.7)以及怎么去处理和设计异常.还记得当初学习Java异常这块的时候都没怎么注意它的用途,以为就是简单的处理下异常,我避免程序出现这样错误就 ...

  8. TP3.2.3 接入支付宝

    TP3.2.3 接入支付宝 项目接入支付宝支付了,在做这个给我的感觉是,方便 ,毕竟是老马的产品是吧, 话不多说 , 首先我们先找到官方的SDK  ,不想去找的小伙伴复制此链接 https://doc ...

  9. Net Core中数据库事务隔离详解——以Dapper和Mysql为例

    Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...

  10. PHP成长之路之PHP连接MySql数据库(一)

    PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于W ...