不越狱 继续逆向 微信运动

摘要:
不越狱继续逆向微信运动字数939阅读312评论4喜欢6接下来还是在非越狱环境中进行。新版本的Xcode更新后一些文件目录的调整,导致iOSOpenDev找不到。创建完成修改xxxxxx.mm文件,可以通过Hook获取微信运动步数的方法,修改成想要的步数。接下来将通过给自己发送消息的形式修改微信运动的步数:修改步数下面就不贴代码了,实现原理类似,可以去Github下载https://github.com/dimsky/runaway写完Hook直接编译不出错的情况下就能够拿到编译之后的dylib文件了。
不越狱 继续逆向 微信运动
字数939阅读312评论4喜欢6

接下来还是在非越狱环境中进行。

不越狱 继续逆向 微信运动第1张
手动修改微信步数

上篇文章中讨论了如何使用Hopper 来修改二级制文件实现逆向,虽然修改过程很简单,但是由于只能针对于汇编语言进行修改,所以还是有很大的局限性,如果能直接用源语言(Objective-c)来进行修改,那就能为所欲为了。
所以这就是接下来要干的:

安装 iOSOpenDev

提到越狱开发,你可能知道Theos,它很大程度上简化了越狱开发,而iOSOpenDev提供了一系列关于越狱开发的模板,结合Theos可以让开发Tweak跟开发普通应用一样简单。

不越狱 继续逆向 微信运动第2张
iOSOpenDev

由于作者很长时间已经没有更新iOSOpenDev,而Xcode版本在不停的变更,所以在新版本Xcode的安装的过程中会遇到一些坑。
下面总结一些填坑的技巧:

  1. 首先,安装失败后 可以 通过 Commond + L 查看安装错误信息,然后Google。
  2. 新版本的Xcode 更新后一些文件目录的调整,导致iOSOpenDev 找不到。具体目录结构的调整,可参考这篇文章
  3. 在Xcode7.3 的iOS 9.3 的SDK 中苹果去除了 PrivateFrameworks,我们可以通过下载9.2 SDK 中的去替代。下载
    SDK位置:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library
  4. 将所有需要的文件位置调整好后,再重新安装dmg。

开始Hook

在安装好确定没问题后,我们通过iOSOpenDev创建一个CaptainHook Tweak,是因为我们是在非越狱环境开发,并且这个模板无需TheOS的支持。CaptainHook 是使用的Runtime 机制实现,利用宏命令封装类定义、方法替换等功能。

创建完成修改xxxxxx.mm文件,可以通过 Hook 获取微信运动步数的方法,修改成想要的步数。

CHDeclareClass(WCDeviceStepObject)

//宏格式:参数的个数,返回值的类型,类的名称,selector的名称,selector的类型,selector对应的参数的变量名。
CHMethod(0, unsigned int, WCDeviceStepObject, m7StepCount) {
    // 修改步数
    return 66666;
}

__attribute__((constructor)) static void entry() {
    // 在构造方法中替换方法
    CHLoadLateClass(WCDeviceStepObject);
    CHClassHook(0, WCDeviceStepObject,m7StepCount);
}

这里把步数写死了,然后每天都是一个步数,假的连自己都不相信,如果能够自由修改步数,成自然状态增长,那将可以装逼于无形。
接下来将通过给自己发送消息的形式修改微信运动的步数:

不越狱 继续逆向 微信运动第3张
修改步数

下面就不贴代码了,实现原理类似,可以去Github下载
https://github.com/dimsky/runaway

写完Hook 直接编译不出错的情况下就能够拿到编译之后的dylib文件了。

不越狱 继续逆向 微信运动第4张
dylib

注入dylib

写完dylib 我们需要将它注入原来的微信中,这样才能是你的Hook有作用。
yololib可以将dylib 注入进WeChat 二进制文件中,下载之后编译得到yololib 然后通过命令注入:

./yololib WeChat xxxx.dylib

再把WeChat 二进制文件和xxxx.dylib 拷贝到WeChat.app 中替换原有文件。

签名、打包

具体详情可结合上篇文章

重新签名

codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/WechatTweakHook.dylib 
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app/PlugIns/WeChatWatchNativeExtension.appex 
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app 
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/PlugIns/WeChatShareExtensionNew.appex 
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" --entitlements Entitlements.plist WeChat.app

打包

xcrun -sdk iphoneos PackageApplication -v WeChat.app  -o ~/WeChat.ipa

安装

使用PP助手或者Itunes即可完成安装。

免责声明:文章转载自《不越狱 继续逆向 微信运动》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇鼠标悬停显示图片安卓手机开启USB调试 连接电脑下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android下音视频对讲演示程序(声学回音消除、噪音抑制、语音活动检测、自动增益控制、自适应抖动缓冲)(2021年11月10日更新)

Android下音视频对讲演示程序 必读说明 简介 本软件根据《道德经》为核心思想而设计,实现了两个设备之间通过TCP或UDP协议进行全双工实时音视频对讲,并做了以下增强处理: 支持8000Hz、16000Hz、32000Hz、48000Hz的音频。 支持声学回音消除,通过本人自己设计的音频输入输出帧同步方法、自适应设置回音延迟方法、三重声学回音消除...

C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自己定义光标,QQ截图时的光标

本实例所有文章文件夹 (一)功能概览 (二)创建项目、注冊热键、显示截图主窗体 (三)托盘图标及菜单的实现(四)基本截图功能实现(五)针对拖拽时闪烁卡顿现象的优化(六)加入配置管理功能(七)加入放大镜的功能(八)加入键盘操作截图的功能(九)使用自己定义光标,QQ截图时的光标(十)在截图中包括鼠标指针形状 在使用QQ的截图功能的时候。是不是认...

kong配置upstream实现简单的负载均衡

目录 通过konga实现 1. 配置upstream 2. 配置Service发布 3. 配置Route,匹配规则 4. 验证结果 通过 Kong Admin API实现 1. 配置upstream 2. 配置service 3. 配置route(more) [前言]: 本文以service和route知识为基础,通过配置upsrea...

PLC做得好好的,我为什么要去学上位机?

一提到上位机,大多数人第一时间只是会联想到编程,认为这是程序员才会去做的事情。   但我们伟大的苹果之父史蒂夫·乔布斯说,「每个人都应该学习编程,因为它教会你思考的方式」。 英国牛津大学研究称,未来20年英国35%现有工作将自动化。日本研究人员称,在未来的十到二十年之内,日本将会有49%的工作岗位被机器人所取代。 正如两百多年前,90% 的人从事农业工...

打开chrome 应用商店

https://zhuanlan.zhihu.com/p/113207558 欢迎来到教学星球,我们一起终生学习。今天我们来说说如何访问谷歌网上应用商店。有了谷歌网上应用商店之后,才能为你的浏览器各种赋能。 首先需要安装一个谷歌浏览器,下载地址:https://www.google.cn/intl/zh-CN/chrome/ 安装好谷歌浏览器之后,下载一个...

EcShop二次开发系列教程–用户注册

  按照之前的教程总纲,这篇是这个系列的第一篇教程,EcShop会员系统模块下的用户注册。Web2.0时代下的网站,拥有一个会员系统是一个标配,注册自然是这个系统的第一步,也是很简单一个小功能了。会员注册的流程基本的思路都是一样的:   用户提交注册信息->JS验证(前端验证)->后台验证->写入数据 不管什么网站,看着它注册流程的步骤或源...