zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Embed标签中的symbol的作用
    loader的右键菜单不响应
    使用[frame()]数据标签制作的纯AS preLoader
    REST是什么(转)
    Ruby on Rails
    Ruby on Rails 数据库连接及mysql乱码
    Ruby On Rails——安装
    Asp.net mvc 3 beta 新特性介绍
    使用 Git 管理源代码
    Asp.net发送邮件的两种方法
  • 原文地址:https://www.cnblogs.com/dahe007/p/8250527.html
Copyright © 2011-2022 走看看