文档章节

ios在没有越狱的机器上安装插件

余成海
 余成海
发布于 2017/01/10 20:38
字数 966
阅读 110
收藏 0

之前分享过如何用tweak的方式做一个微信抢红包插件,然后安装在越狱手机上《ios-微信自动抢红包插件

今天分享下如果用你上次写好的插件安装到没有越狱的手机上。前提是你有apple的开发者账号。这样才能有证书重新打包。

1.将线上的微信app敲壳备用Clutch 或者直接到越狱平台上下载一个(pp助手,同步推什么的)

编译Clutch成功后会出现Clutch.app文件,打开包文件会有我们想要的Clutch,将它拷贝到越狱手机上

(如果没有越狱手机,可以直接到第三方平台上下载包ipa)

然后将编译出来的Clutch拷贝到手机上使用 (有些小伙伴懒得编译或者没有证书,可以直接下载

$ chmod 777 Clutch
$ scp Clutch root@<手机ip>:/usr/bin/

连接上越狱手机开始敲壳 密码:alpine

$ ssh root@10.242.68.37 
$ Clutch -i

$ Clutch -d com.tencent.xin

敲壳成功后会生成ipa到/private/var/mobile/Documents/Dumped/目录下,将其拷贝回电脑上,其实就和我们到越狱平台上下载的ipa是一样的

$ mv /private/var/mobile/Documents/Dumped/com.tencent.xin-iOS7.0-\(Clutch-2.0.4\).ipa /private/var/mobile/Documents/Dumped/wechat.ipa
$ scp root@<your.device.ip>:/private/var/mobile/Documents/Dumped/wechat.ipa ~/Desktop

2.打包之前做好的代码生成dylib

到你编写的tweak目录下make 会生成obj目录,里面就有我们想要的dylib文件,不明白可以回看这篇博客《theos搭建

3.合并依赖库

上面的代码是需要合并依赖库的

$ 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.13.0)
	/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.22.0)
	/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.6.21)
	/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate (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.13.0)
	/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.22.0)
	/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.6.21)
	/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate (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)

发现会有这么个东西/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate

从越狱手机里面考出这个东西,然后修改下,然后将CydiaSubstrate改名成libsubstrate.dylib

$ scp root@<手机ip>:/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate ~/Desktop
$ install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib 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.13.0)
	/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.22.0)
	/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.6.21)
	@loader_path/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.13.0)
	/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.22.0)
	/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.6.21)
	@loader_path/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)

4.将动态链接库注入二进制文件中

下载optool工具

将砸壳过的 ipa 文件解压,然后将 CydiaSubstrate 与 WeChatRedEnvelop.dylib 拷贝到解压后的 WeChat.app 目录下。

$ unzip wechat.ipa -d wechat
$ cp libsubstrate.dylib WeChatRedEnvelop.dylib wechat/Payload/WeChat.app

$ ./optool install -c load -p "@executable_path/WeChatRedEnvelop.dylib" -t wechat/Payload/WeChat.app/WeChat

5.打包并重签名

ios-app-signer 功能能快速帮助重新打包,只要放入你的证书就能重新打包成ipa。

然后通过各种工具安装ipa到你的手机上,就大功告成了

注:如果遇到Watch报错,就在.app中删除watch目录,重新打包

© 著作权归作者所有

共有 人打赏支持
余成海
粉丝 61
博文 57
码字总数 29577
作品 0
杭州
iOS工程师
私信 提问
越狱团队发警告:Wi-Fi 版 iPad 2 不要越狱

12月29日上午消息,本次iOS 7越狱似乎并不“完美”,在经历了太极助手涉嫌盗版风波后,又一些新问题出现。近期,发布本次越狱工具的Evad3rs团队就在其官网上用红字更新了警告:Wi-Fi版iPad ...

oschina
2013/12/30
6.1K
26
iOS逆向与安全(一):环境搭建

前言 从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。 前期准备 一台越狱...

紫电清霜Owenli
09/16
0
0
Cydia 1.1.28 正式版终于发布 支持 64 位设备

在经过漫长的测试之后,Cydia 1.1.28 最终版日前正式发布。Cydia 1.1.28 是首个支持 64 位设备的版本,支持经过 yalu102 越狱的 iOS 10-iOS 10.2 设备。 更新之后的 Cydia 使用 APT 1.14~b,...

局长
2017/02/07
1K
5
又一“中国特色”?记 iOS 7 越狱风波

12 月 22 日晚,苦等越狱的 iOS 用户收到了一份突如其来的“圣诞礼物”—— 国外黑客团队 evad3rs 放出了号称完美越狱 iOS 7 的工具 evasi0n7。但奇怪的是,此次随着 evasi0n 7 发布的还有一...

鉴客
2013/12/23
1K
22
南非男子向美国政府出售 iOS 漏洞 最高25万美元

如果越狱(在这里我们只谈iOS越狱)是一笔买卖,可以说全球的越狱用户都欠着那些无私的黑客一份人情,如果不是他们花费时间和精力进行破解,我们不可能那么随意地在苹果设备上进行各种插件的...

虫虫
2012/03/24
2.3K
17

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部