文档章节

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

余成海
 余成海
发布于 2017/01/10 20:38
字数 966
阅读 109
收藏 0
点赞 0
评论 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工程师
关于IOS越狱和解锁必须知道的一些事情

1.什么是越狱? 苹果开发的每一款产品,包括iphone,ipad,i pod touch和Mac,想要安装软件都是需要从App Store上面购买的,其实购买的不是软件,而是苹果在软件中植入的一个认证,于是大家就...

eric_zhang
2012/12/08
0
0
xFace的快速入门--IOS

ios系统的快速入门和Android的大部分都差不多,模拟器这部分是一样的,只是player的使用上有点区别,今天就来看看ios设备的快速入门。 1、下载工具 便携版模拟器Emulator(Windows) 下载地址...

xFace3
2013/12/03
0
0
如何在Electra越狱的设备上使用LLDB调试应用程序

        在3月18日的时候,我就曾发表过一篇关于在Electra越狱的设备上使用LLDB调试应用程序的文章。本文我将在此基础上,做进一步的更新优化。   我试图在google搜索,有关使用Ele...

FreeBuf
05/29
0
0
最新版红雪越狱iOS 6(iPhone 4)教程

最新版红雪越狱iOS 6(iPhone 4)教程   iOS 6正式开放下载当天(9月19日),iPhone Dev Team就已经公布了这一最新系统的越狱方法,越狱工具依然是我们最熟悉RedSn0w,依然只支持A4设备(i...

庸人谷
2012/11/02
0
0
iOS12 beta 1系统被攻破,越狱视频被分享

半个月前,iOS 12 在 WWDC 2018 苹果全球开发者大会上正式亮相,开发者用户开始下载iOS 12 开发者预览版 Beta1 固件进行升级体验。 十几天后,6月17日凌晨2点,腾讯科恩团队在推特分享了iOS...

又田
06/20
0
0
SwipeSelection更新支持所有iOS文本编辑

还记得SwipeSelection 吗,这是一款根据一个概念视频而设计的越狱插件,能够让已越狱的设备在虚拟键盘上直接通过手势移动光标或者选择文字。这款插件一经推出迅速成为越狱用户最受欢迎的插件...

神奇的小黄瓜
2012/07/15
0
1
xFace Player的使用安装

通过xFace Player,开发者可以直接在手机上看到应用的实际运行效果,不同系统平台的设备,安装方式不一样,下面依次进行介绍。 一、Android系统 Android上分为手动和自动方式。 自动方式: ...

xFace3
2013/11/29
0
0
iOS逆向工程- 学习整理(工具详解)

前言 一、逆向工程的要求 具备丰富的 iOS 开发经验 最好能非常熟悉 iOS 设备的硬件构成,iOS 系统的运行原理。 拿到任意一个 App 之后能够大致推断出它的项目规模和使用的技术,比如它的MVC模...

_小迷糊
05/11
0
0
iOS使用Objective-c自定义cordova插件(-)

本系列教程为博主初次使用开发,内容如有差错,欢迎指正,敬请谅解。 博客地址:http://blog.img421.com/iosshi-yong-object-czi-ding-yi-cordovacha-jian/ Mac安装ionic和cordova我们已经熟悉,...

Michaelyn
2017/10/23
0
0
越狱的 iPhone、iPad 通过网站实现一键安装 ipa 格式的 APP 应用

1、已经越狱的 iPhone、iPad 设备,当通过其自带的 safari 浏览器访问 ipa 应用下载网站时,利用 itms-services 协议,可以一键安装 ipa 文件的 iOS 应用,例如: <a href="itms-services:/...

问天123
2012/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

桌面虚拟化VDI(Virtual Desktop Infrastructure)

为了保证员工(客户)不把公司的资料复制、传输给别人。可以把员工平时办公放在服务器上做。所以使用桌面虚拟化。就是把一个服务器虚拟出很多桌面系统(如:windows)。 桌面虚拟化最大的优势...

王坤charlie
13分钟前
2
0
自我审视及职业规划

啊哈,不知不觉已经工作了3年了。程序员作为一门技术工作,如果分级的话我的能力如何呢?该怎么提升呢? 话说,我现在的能力属于中低级的层次吧,努力在向高级努力。为什么这么说呢: 因为我觉...

一口今心
16分钟前
1
0
《PHP和MySQL Web 开发》 第12章 MySQL高级管理

我决定好好写学习笔记了,对应上书上的目录和重要信息。不瞎jb写了。从这章开始吧,然后之前写的会编辑后重发。嗯,就酱。 12.1 深入理解权限系统 妈蛋 开头就卡住了。。。我先回去修改之前的...

十万猛虎下画山
17分钟前
1
0
Python 3.6:多态的实现

多态的作用不用多说,C++用如下条件来实现多态: 要有继承 要有虚函数函数重写 要有父类指针(父类引用)指向子类对象 实际上C++使用VPTR指针来完成这个事情,其是设计模式的基础,软件分层的基...

全部原谅
17分钟前
0
0
纯Python实现鸢尾属植物数据集神经网络模型[图]

纯Python实现鸢尾属植物数据集神经网络模型[图]: 尝试使用过各大公司推出的植物识别APP吗?比如微软识花、花伴侣等这些APP。当你看到一朵不知道学名的花时,只需要打开植物识别APP,拍摄一张...

原创小博客
19分钟前
1
0
2018安卓巴士开发者大会打造Android技术盛宴

2018安卓巴士开发者大会打造Android技术盛宴2018安卓巴士开发者大会将于8月25日在上海举行,作为中国最具前沿性、专业性的安卓技术会议,将邀请来自爱奇艺、阿里、饿了么等知名企业的一线工程...

逆鳞龙
21分钟前
0
0
Spring框架中的设计模式(二)

Spring框架中的设计模式(二) 原创: 瑞查德-Jack 在 上一篇 中我们在Spring中所谈到的设计模式涉及到了创建模式三剑客和1个行为模式(解释器模式)。这次我们会将眼光更多地关注在具有结构性和...

瑞查德-Jack
21分钟前
1
0
JS基础-DOM Event对象

简介 Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与函数结合使用,函数不会在事件发生前被执行! ==注:详表见《JS基础-...

ZHAO_JH
23分钟前
0
0
tomcat 8.5 远程登录管理页面

1、访问的来源受限注释掉 <?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. S......

xixingzhe
30分钟前
0
0
JSON Web Token - 在Web应用间安全地传递信息

JSON Web Token - 在Web应用间安全地传递信息 Sep 06, 2015 in Engineering JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。 ...

祖冲之
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部