很早之前就有开发者推出了红包插件,在iOS平台,从越狱到非越狱都能欢快的抢抢抢,只不过在不流行越狱的现在,大家还是倾向免越狱抢红包。在网上的免越狱教程都略显复杂,时间长了再次执行的时候还得翻看教程,本篇文章就是为了简化流程,让大家可以更有效率的抢红包。

本文所有操作均在macOS中执行。

1. 安装Theos

1.1 必备条件

Homebrew

Xcode(必须)

然后安装ldid和xz

brew install ldid xz

1.2 设置环境变量THEOS,执行如下命令:

echo "export THEOS=~/theos" >> ~/.profile

要想让配置生效,必须重启终端或者执行source ~/.profile。然后通过echo $THEOS可以查看是否生效。

1.3 检出Theos项目:

$ git clone --recursive https://github.com/theos/theos.git $THEOS

1.4 获取iOS SDK:

目前Xcode提供的SDK中不再包含私有库,不过我们可以从SDKs repo获取到。

curl -LO https://github.com/theos/sdks/archive/master.zip

TMP=$(mktemp -d)

unzip master.zip -d $TMP

mv $TMP/sdks-master/*.sdk $THEOS/sdks

rm -r master.zip $TMP

新版Theos的已内置CydiaSubstrate.framework(位于$THEOS/vendor/lib),所以不需要像网上其它教程中说的需要运行bootstrap.sh脚本或者是从手机上拷贝等方式。

2. 重新打包app

我们使用WeChatRedEnvelop这个项目来实现抢红包功能,大家可以换成其他项目,最终拿到dylib即可。

2.1 准备工作

rebuildapp

WeChatRedEnvelop

rebuildapp是一款重新打包app工具,支持注入dylib、创建plist以及自动读取开发者证书功能,通过rebuildapp可以极大简化app的注入流程,避开各种坑。

// 安装

npm install rebuildapp -g

需要提前准备的文件如下:

embedded.mobileprovision

WeChatRedEnvelop.dylib

脱壳过的微信app,从pp助手下载越狱版本或者砸壳获得

embedded.mobileprovision是iOS授权和描述文件,目前可以免费申请7天证书,满足临时使用,我们可以在Xcode中创建证书,如下图所示。

bVbw44b?w=1000&h=554

生成的文件在~/Library/MobileDevice/Provisioning Profiles/,但是该文件夹中文件名辨识度不高,我们可以用鼠标选中文件,然后按空格预览文件内容。

bVbw44c?w=1000&h=910

2.2 编译WeChatRedEnvelop.lib

注意:可以先尝试下make编译

如果出现fatal error: 'foundation/foundation.h' file not found错误可以参考我的解决方案,修改Makefile内容,主要调整TARGET字段。

THEOS_DEVICE_IP = localhost

THEOS_DEVICE_PORT = 2222

ARCHS = armv7 arm64

TARGET = iphone:11.2:7.0

include $(THEOS)/makefiles/common.mk

SRC = $(wildcard src/*.m)

TWEAK_NAME = WeChatRedEnvelop

$(TWEAK_NAME)_FILES = $(wildcard src/*.m) src/Tweak.xm

$(TWEAK_NAME)_FRAMEWORKS = UIKit

#指定版本

_THEOS_TARGET_LDFLAGS += -current_version 1.0

_THEOS_TARGET_LDFLAGS += -compatibility_version 1.0

include $(THEOS_MAKE_PATH)/tweak.mk

检出WeChatRedEnvelop代码,执行make过程如下:

$ git clone https://github.com/buginux/WeChatRedEnvelop.git

$ cd WeChatRedEnvelop

$ make

# > Making all for tweak WeChatRedEnvelop…

# ==> Preprocessing Tweak.xm…

# ==> Compiling Tweak.xm (armv7)…

# ==> Compiling XGPayingViewController.m (armv7)…

# ...

# ==> Signing WeChatRedEnvelop…

.theos/obj/debug/WeChatRedEnvelop.dylib就是我们最终需要的需要的动态库,需要注意的是.theos是隐藏文件夹。

2.3 创建rebuildapp工作区

通过rebuildapp创建工作区,我们输入目录名称,以及保存的目录即可完成。

rebuildapp --new

? input project name: wechat

? which directory do you want to init to ? (default is current directory ./):

Success to download repo resign-app-template#master to /Users/neo/fe/tweak-demo/

工作区主要结构如下:

.

├── README.md

├── embedded.mobileprovision # iOS授权和描述文件,前文获取xxx.mobileprovision替换为同名文件

├── lib

│   └── WeChatRedEnvelop.dylib # 前文编译文件放到该目录下

├── package-lock.json

└── tool # 工具库

├── libsubstrate.dylib

└── yololib

我们需要把WeChatRedEnvelop.dylib和embedded.mobileprovision放到对应位置。

然后针对WeChatRedEnvelop.dylib,我们还需要处理里面的依赖项。

otool -L WeChatRedEnvelop.dylib

WeChatRedEnvelop.dylib (architecture armv7):

/Library/MobileSubstrate/DynamicLibraries/WeChatRedEnvelop.dylib (compatibility version 0.0.0, current version 0.0.0)

/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1349.1.0)

/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.0.0)

/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.5.2)

/usr/lib/libsubstrate.dylib (compatibility version 0.0.0, current version 0.0.0)

/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)

WeChatRedEnvelop.dylib (architecture arm64):

/Library/MobileSubstrate/DynamicLibraries/WeChatRedEnvelop.dylib (compatibility version 0.0.0, current version 0.0.0)

/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1349.1.0)

/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.0.0)

/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.5.2)

/usr/lib/libsubstrate.dylib (compatibility version 0.0.0, current version 0.0.0)

/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)

这里/usr/lib/libsubstrate.dylib使我们需要关注的,使用 install_name_tool 命令修改动态库的路径,指向 app 二进制文件的同级目录。

如果看到的不是/usr/lib/libsubstrate.dylib 而是 /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate,按照同样方式处理就好。

install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib WeChatRedEnvelop.dylib

2.4 注入动态库+重签名

执行一句话命令:

rebuildapp --auto ~/Downloads/apps/微信-7.0.5\(越狱应用\).ipa

整体操作流程大概如下,我们需要选择正确的证书,--auto命令会自动安装app到已连接手机中。

output目录也保留有ipa文件。

Will auto serach mobileprovision and identity

Begin resign...

证书如下,请选择一个(输入序号如:1)即可

1) DDDDDDDDDDDDDDDDDD "iPhone Developer: test@qq.com (VVVVVVVV)"

2) GGGGGGGGGGGGGGGGGG "iPhone Developer: Xiao (YYYYYYY)"

2 valid identities found

warn Enter your choice: 1

[提示]您选择的证书为:iPhone Developer: test@qq.com (VVVVVVVV)

[执行]文件验证开始

[执行]文件验证结束

[执行]Entitlements处理结束

[执行]开始验证provisionfile与证书是否匹配

[提示]所选证书VVVVVVVV)与provisionfile中不匹配,是否继续?继续请按1

warn Enter your choice: 1

[执行]解包开始

[执行]解包结束

[执行]拷贝/Users/neo/fe/tweak-demo/wx/workSpace/resign.mobileprovision-->/Users/neo/fe/tweak-demo/wx/workSpace/Payload/WeChat.app/embedded.mobileprovision开始

[执行]拷贝结束

[执行]拷贝/Users/neo/fe/tweak-demo/wx/tool/libsubstrate.dylib-->/Users/neo/fe/tweak-demo/wx/workSpace/Payload/WeChat.app开始

[执行]拷贝结束

[执行]拷贝WeChatRedEnvelop.dylib-->/Users/neo/fe/tweak-demo/wx/workSpace/Payload/WeChat.app开始

[执行]拷贝结束

[执行]修改info.plist开始

[执行]修改info.plist结束

[执行]签名开始

Reading binary: /Users/neo/fe/tweak-demo/wx/workSpace/Payload/WeChat.app/WeChat

[执行]签名结束

[执行]压缩开始

[执行]压缩结束

[成功]文件重签名ok了,赶快去试试吧

Finish resign...

3. 总结流程

安装Theos

准备 embedded.mobileprovision

编译 WeChatRedEnvelop.dylib

执行rebuildapp new创建工作区

文件embedded.mobileprovision、WeChatRedEnvelop.dylib放入工作区

处理WeChatRedEnvelop.dylib依赖

使用rebuildapp执行打包app

本文同步发表于作者博客: 微信免越狱抢红包速成手册

redenvelope php,微信免越狱抢红包速成手册相关推荐

  1. IOS微信逆向-免越狱抢红包防撤回等自定义功能实现

    微信砸壳 CrackerXI+砸壳,或手动使用dumpdecrypted砸壳 把已砸壳的wech使用scp或者助手at.ipa导出 monkeydev MonkeyDev集成在xcode上面,可以快速 ...

  2. 苹果用户福音:iPhone免越狱,同时登两个微信

    http://www.sohu.com/a/149534731_731982 果粉们是否也有这样的烦恼?有两个微信账号,一个是对外的,一个是私人的,一个工作的,一个生活的.但是却不能同时登陆,来回切换 ...

  3. vissim免修改时间工具_App闪退怎么办?免越狱如何安装未签名的App?

    由于最近苹果大规模的封签名,导致在第三方渠道下载的软件都出现闪退没法使用的现象.目前的替代方法就是使用电脑端 Cydia Impactor 来给 App 进行自签,虽然相对比较麻烦,但这也是目前针对企 ...

  4. 免越狱!利用filza修改系统运营商名称!

    本期将给大家介绍如何使用filza文件管理器修改系统运营商名称.filza暂不稳定,可能会使用过程中闪退.重启等.并且filza在成功获取到系统权限后可能面临着不能还原手机等情况,请大家三思后操作!如 ...

  5. 苹果手机免越狱群控电脑端控制手机

    据小编了解 ,手机群控这个词一直受网上争议,那么今天小编也在这讨论一下,其实群控系统分很多,市面上有主板机群控,所谓的主板机群控系统是指把手机的主板全部集中到一个机箱控制,但这个就会留下很多弊端,现在 ...

  6. iPhone屏蔽IOS更新、iPhone系统更新的提示(免越狱,有效期更新至2021年)

    iPhone屏蔽IOS更新.iPhone系统更新的提示(免越狱,有效期更新至2021年) 1.在Safari浏览器中粘贴如下链接,按提示打开链接. 输入http://apt.dataage.pub 2 ...

  7. 让技术Leader狂点赞的Linux速成手册,到底有多强悍?

    最新的统计数据表明,Linux的采用正在以非常快的速度发展,Linux在过去几年中市场份额逐步提高,而在2020年更是有了明显的增长,5月份在这方面创造了新的记录. Linux的优势: Linux 不 ...

  8. 苹果手机群控 ios免越狱中控 非越狱脚本高清投屏

    电脑批量控制手机是一项非常实用的技术,它可以让你在不用一个一个手动操作多个手机的情况下完成一系列操作.这篇文章将向你介绍如何使用这项技术. 首先,要实现电脑批量控制手机,你需要一台电脑和多个手机.此外 ...

  9. 苹果手机免越狱群控无需硬件即插即用高清投屏控制操作

    由于手机项目的需求不断扩大,人力明显出现不足! 这时候就需要批量控制手机的中控来进行扶持以达到最高的效率! 起初是需要苹果手机越狱才能安装进行控制操作,但是越狱后的苹果手机容易出现风控! 自从&quo ...

最新文章

  1. Redis 分布式锁没这么简单,网上大多数都有 bug
  2. 关于jQuery在Asp.Net Mvc 框架下Ajax文件上传的实现
  3. 【整理】ABAP开发中的屏幕跳转
  4. 前端学习(2275)初始化react
  5. SEH in ASM 研究(一)
  6. N个Linux耍酷命令,手把手教你如何技术撩妹!
  7. 固定权重 关于Mxnet的一些基础知识理解(1)
  8. springboot 前缀_springboot搭配thymeleaf访问html页面的时候,什么时候需要自定义前缀和后缀呢...
  9. scp ssh: connect to host 192.168.6.129 port 22: Connection refused lost connection
  10. LayaAir UI 组件 # Clip 切片、ComboBox 下拉框
  11. AD查找相似对象使用进阶
  12. 易语言_酷Q机器人插件_01
  13. 【吴恩达深度学习】Residual Networks(PyTorch)
  14. leetcode寻找重复数
  15. 1、ZigBee 开发教程之基础篇—ZigBee简介和学习方法
  16. 数据治理系列:数据血缘关系
  17. 群表示论之不可约表示的次数整除G的阶
  18. 这些坑别踩!游戏随机地图生成开发经验分享
  19. 用css编写一个简单的旋转魔方
  20. 解决:Uncaught (in promise) TypeError: Failed to fetch 的问题

热门文章

  1. 外媒:英特尔计划拍卖8500项专利 包括部分5G蜂窝标准专利
  2. 树莓派CM4烧录Ubuntu20镜像与ROS2的安装(无屏)
  3. 连续斩获多个奖项,这家国产线控底盘企业已在细分赛道领先
  4. VM虚拟机7.0,下载——安装全过程。
  5. Day1:Angry young women: A new generation of activists is challenging misogyny
  6. 社会工程学攻击之网站钓鱼
  7. Unity Shader 之 简单实现物体被黑洞吸收吞噬(或者从黑洞中出来)的效果
  8. closet的汉语_closet是什么意思_closet的翻译_音标_读音_用法_例句_爱词霸在线词典...
  9. 设计模式之Tank大战02
  10. 南京林业大学计算机专升本,专转本之南京林业大学