iOS微信运动 刷分
修改 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微信运动 刷分的更多相关文章
- iOS微信第三方登录实现
iOS微信第三方登录实现 一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统.在进行微信OAuth2.0授权登录接入之前,在微信开 ...
- HTML实现点击时的阴影(:active)(已解决iOS微信上无法使用)
一般是用这个委类:active 参考:http://www.w3school.com.cn/cssref/selector_active.asp 但是业界上实现的效果中,今日头条的手机端网页却不是这样 ...
- 苹果微信下载 iOS微信各版本列表
微信在不断地更新迭代,ios微信下载点击这里立即开始(手机电脑都可以,电脑端要安装iTunes),每个版本都放出一些新的功能或修复相关错误,详情可以点击下面的版本链接进行查看.(这里有Android微 ...
- 改进:js修改iOS微信浏览器的title
问题简介 前端入门没多久,可能连入门也不算,最近网上流行各自书籍改名,什么<前端开发,从入门到放弃>,<Android开发,从入门到改行>之类的,程序员真是个爱自嘲的群体,但我 ...
- Android/iOS微信6.3.5同时发布更新 支持群视频聊天、群公告
下午微信6.3.5发布更新,新版最大变化就是支持群视频聊天,又一次向手机QQ靠拢.在群管理方面,支持发布群公告,支持群主转让给其他群成员,同样都是QQ玩剩下的功能.另外,新版支持微信运动查看步数图表. ...
- iOS 微信 音频 视频自动播放
iOS 微信 音频 视频自动播放 http://www.w3ctech.com/topic/1165
- 微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题
前几天鼓捣了一下微信连WiFi功能,设置还蛮简单的,但ytkah发现如果是ios版微信扫描微信连WiFi生成的二维码不用关注公众号就可以直接上网了,而安卓版需要关注公众号才能上网,这样就少了很多ios ...
- 在iOS微信浏览器中自动播放HTML5 audio(音乐)的2种正确方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS微信自动抢红包插件(支持后台和锁屏下抢红包)
前言:本文主要讲述使用hook方式实现红包插件,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法) 转眼间2017即将过去,又到了 ...
随机推荐
- 如何在Raspberry Pi 3B中安装Windows 10 IoT Core
Windows 10 IoT Core简介 Windows 10 IoT是微软专门为物联网生态打造的操作系统,Windows 10 IoT Core则是Windows 10 IoT 操作系统的核心版本 ...
- 二分PkU3258
<span style="color:#330099;">/* E - 二分 Time Limit:2000MS Memory Limit:65536KB 64bit ...
- .NET Core容器化@Docker
温馨提示:本文适合动手演练,效果更佳. 1. 引言 我们知道. NET Core最大的特性之一就是跨平台,而对于跨平台,似乎大家印象中就是可以在非Windows系统上部署运行.而至于如何操作,可能就 ...
- effective java笔记之java服务提供者框架
博主是一名苦逼的大四实习生,现在java从业人员越来越多,面对的竞争越来越大,还没走出校园,就TM可能面临失业,而且对那些增删改查的业务毫无兴趣,于是决定提升自己,在实习期间的时间还是很充裕的,期间自 ...
- .NET+Ajax+ashx 实现Echarts图表动态交互
前言: 使用Echarts展示图表效果,在这里只做了四种案例:折线.柱状.圆形.雷达.当初是一位朋友用到Echarts展示数据,他没有太多时间弄,所以我就帮他搞出来,当初刚接触的时候也是一头雾水,不知 ...
- mysql版本升级
环境 mysql安装在centos上,需要升级. mysql的版本是 mysql> select version(); +-----------+ | version() | +-------- ...
- 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据
§ 封装网络请求及 mock 数据 本文配套视频地址: https://v.qq.com/x/page/i05544fogcm.html 开始前请把 ch2-3 分支中的 code/ 目录导入微信开发 ...
- IX-Protected Dataplane Operating System解读
一.概述 商业操作系统在应用程序每秒钟需要数百万次操作时才能保持高吞吐量和低(尾)延迟,对于最慢的请求只需几百微秒.通常认为对于高性能网络(小信息的高包率.低延迟)的构建,最好都是在内核之外构建用户态 ...
- Python学习日记:day5-------dict字典
#字典dict------->唯一的映射类型 1.数据类型的划分 数据类型划分为可变数据类型和不可变数据类型. 不可变数据类型:tupe(元组).bool.int.str 可 ...
- 网口做trunk
首先发现这个服务器的两个网口对应的交换机端口 ailixin-asw2960>en ailixin-asw2960#terminal monitor 查看端口的状态 ailixin-asw296 ...