V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
landcbd
V2EX  ›  问与答

iOS 免越狱修改微信运动步数

  •  2
     
  •   landcbd · 2017-05-03 01:30:46 +08:00 · 7099 次点击
    这是一个创建于 2791 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说明: 相信喜欢逆向工程的小伙伴已经对微信自动抢红包插件有所耳闻了,或者可以说,已经被广泛的传播了,但笔者发现,其实只有两篇是原创的,其余均为疯狂转载.看了下网上对于微信的"喜爱"目前只有抢红包这块,所以为大家带来另一个实用性技能---修改微信运动参数,妈妈在也不用担心我把手机绑在狗腿上了!

    言归正传,本文只针对于初识逆向工程的热爱着,大神勿喷,免越狱利用工具我已经上传到微信公众号 [ landcbd ] 内,需要测试可以直接关注按照教程操作。
    

    硬件工具:最好是有一台越狱后的 iPhone 手机,没有也没有关系,后续补充非越狱环境开发,本文针对于 Theos 下 Tweak 编码<本文使用的测试机 iPhone 6s 和一台没用上的 iPhone 6s, ps:别问为什么没用上还提, 因为写到这里,控制不住装逼的念头,好了不开玩笑了!>

    软件工具:已经有高(hao)人为我们写好了开发工具的配置和安装,只是一个软件的安装所以本人没必要踩在前辈的肩膀上继续深造, 教程地址, 稍等,我们还需要安装一个查看微信头文件的宝物:class-dump, 当然了,使用它的前提是需要进行砸壳后的 app 才可以正确导出头文件,至于怎么砸壳,谷歌肯定能帮到你,目前能谷歌到的我们不做深究,只谈目前没有公开的

                               硬件软件已经准备就绪
    

    思考功能怎么实现:

    在我们的 iOS 系统本身, 有一个运动与健康,这里记录了我们每天的步数行为等等, 那么微信运动排行榜在对好友们的步数进行排榜的时候肯定需要去取数据, 那么从哪取呢?毋庸置疑,去运动与健康取,如果我们能在微信取数据的时候进行动态劫持,伪造一个假数据传给微信,那么是不是就大功告成了呢? 答案: if(YES){NSLog(@"是的");}

    观察微信头文件

    使用 class-dump -H WeChat.app -o WeChatHead 命令导出微信头文件

    真的是巨多无比,几千个.h

    我们发现在 WCDeviceStepObject 这个类里面有几个很显眼的属性 m7StepCount,hkStepCount 等.

    关键字"stepCount"的中文是"步数",那么这个是不是我们要劫持并修改的参数呢? 多说无益,试试就知道了.

    创建一个 Tweak 工程, 如下:

    1 THEOS_DEVICE_IP = 172.18.1.114 2 ARCHS = armv7 arm64 3 TARGET = iPhone:latest:7.0 4

    5 include $(THEOS)/makefiles/common.mk 6

    7 TWEAK_NAME = hookWXYD 8 hookWXYD_FILES = Tweak.xm 9

    10 include $(THEOS_MAKE_PATH)/tweak.mk 11

    12 after-install:: 13 install.exec "killall -9 SpringBoard"

    编写 Tweak.xm 文件, 如下:

    1 %hook WCDeviceStepObject 2

    3 - (unsigned int)m7StepCount 4 { 5 return 98800; 6 } 7

    8 %end

    上图我们返回"98800" 步数以做测试,

    9 条回复    2017-05-05 22:07:29 +08:00
    h4x3rotab
        1
    h4x3rotab  
       2017-05-03 01:51:53 +08:00 via iPhone
    你这能免越狱我直播吃 iphone
    qinix
        2
    qinix  
       2017-05-03 02:56:13 +08:00 via iPhone
    @h4x3rotab 确实不用越狱,拿自己的证书重签名一下就可以装到手机上
    Apple9876
        3
    Apple9876  
       2017-05-03 09:24:34 +08:00
    用 workflow 好像能直接加步数
    dream7758521
        4
    dream7758521  
       2017-05-03 10:20:31 +08:00 via Android
    我是来看直播的
    aaronlam
        5
    aaronlam  
       2017-05-03 12:49:24 +08:00 via iPhone
    @h4x3rotab 真的吗?(」゚ロ゚)」
    h4x3rotab
        6
    h4x3rotab  
       2017-05-03 19:11:55 +08:00 via iPhone
    @qinix 都 killall springboard 了,不越狱怎么 kill
    qinix
        7
    qinix  
       2017-05-04 02:46:35 +08:00 via iPhone
    @h4x3rotab 安装一个重签名包的话,应该不需要杀掉 springboard,就跟 xcode 调试一个自己开发的 app 一样。缺点是收不到推送。
    Arthaslixin
        8
    Arthaslixin  
       2017-05-04 21:20:15 +08:00
    他要是吃 iphone 我可以直播
    h4x3rotab
        9
    h4x3rotab  
       2017-05-05 22:07:29 +08:00 via iPhone
    @qinix 我是说,看见他教程里的 kill 就不用想了。以及关键的怎么做重签名都没提。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2862 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:33 · PVG 22:33 · LAX 06:33 · JFK 09:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.