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即将过去,又到了 ...
随机推荐
- Code Kata:螺旋矩阵 javascript实现
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 如图所示,就是一个5*5的螺旋矩阵 我的思路如下: 第一步:拆分 ...
- ubuntu16.04 Qt5.8 如何使用opecv3.2
关于opencv3.2的编译有一大堆教程.可自寻查看.在Qt中使用opencv需要在pro文件中添加 相应的头文件和 动态链接库.如下 INCLUDEPATH += . INCLUDEPATH += ...
- 一道看似dp实则暴力的题 Zombie's Treasure Chest
Zombie's Treasure Chest 本题题意:有一个给定容量的大箱子,此箱子只能装蓝宝石和绿宝石,假设蓝绿宝石的数量无限,给定蓝绿宝石的大小和价值,要求是获得最大的价值 题解:本题看似是 ...
- 五.Spring与RabbitMQ集成--HelloWorld
spring对RabbitMQ做了很好的集成,我们称之为spring AMQP,其官方文档写得十分详尽,文档地址:https://docs.spring.io/spring-amqp/referenc ...
- HTML5经常使用知识
今日做项目.涉及到native和H5页面的交互 1.document.readyState document.readyState:推断文档是否载入完毕. firefox不支持. 这个属性是仅仅读的, ...
- 【jQuery】复选框的全选、反选,推断哪些复选框被选中
本文与<[JavaScript]复选框的全选.反选.推断哪些复选框被选中>(点击打开链接)为姊妹篇,把里面内容再与jQuery框架中实现一次,相同做到例如以下的效果: 布局还是相同的布局, ...
- IT运维如何防止陷入“中年油腻”和频繁被动地打“遭遇战”?
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:陈峻近期,我拜访了一家文化传播公司的 IT 运维总监 Tim,他向我讲述了他的团队是如何像当年玩<大航海时代>那样将 IT ...
- 用IFeatureWorkspaceAnno.CreateAnnotationClass 创建注记图层时报“The application is not licensed to modify or create schema”的错误的解决方案。
用IFeatureWorkspaceAnno.CreateAnnotationClass 的方法创建注记图层的时候报"The application is not licensed to m ...
- Html转JSP样式变型问题解决
一.问题描述 在我没将写好的 html 页面转变为 java web 中的 JSP 页面时.有时会发现,我们将 css .js 都引入到了页面中.当样式和我们想象的不一样,那么我们就要去解决这个问题. ...
- Postgres中的物化节点之sort节点
顾名思义,物化节点是一类可缓存元组的节点.在执行过程中,很多扩展的物理操作符需要首先获取所有的元组后才能进行操作(例如聚集函数操作.没有索引辅助的排序等),这时要用物化节点将元组缓存起来.下面列出了P ...