这篇文章主要抛砖引玉,主要想和大家探讨一下XY助手,91助手的实现,目前还有些技术还没有完全参透,可能到以后需要继续补充,也希望有兴趣的同学加我QQ一起探讨这方面的知识。
首先,里拿到一个ipa包,如何更换里面的资源,然后生成新的一个ipa。
首先,拿到一个MyApp.ipa,
在终端,进入到此ipa所在目录,然后unzip MyApp.ipa
这样你会发现出现了一个Payload文件夹,好我们继续进入
在终端输入cd Payload
继续进入cd MyApp.app
哇塞,包里面的资源在里面前一览无余,现在开始要把里的资源替换掉吧
替换完了,然后让我们重新对资源进行整理重新签名
在终端里面输入
codesign -f -s "iPhone Distribution: Campany " --resource-rules ResourceRules.plist /Users/dh/Desktop/testipa/Payload/MyApp.app
这样你会在终端看到
/Users/dh/Desktop/testipa/Payload/MyApp.app: replacing existing signature
ok,这样表示里对app重新打包成功了,然后zip 一下就ok那,附上zip命令
zip -qr resing.ipa Payload/MyApp.app/
记住zip的是否,一定进行一定的路径进行zip,而且不能把mac系统下.DSStore这些系统文件也zip进去,如果zip错了,在安装的是否会出现各式各样的错误。
下面,还有一段终端命令,将在下次继续深入讲解,换证书,换程序名字的过程:
想来看看吧:
unzip app.ipa
rm -rf Payload/MyApp.app/_CodeSignature/
cp ~/Downloads/AdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision
codesign -f -s "iPhone Distribution: Company Certificate" --resource-rules Payload/MyApp.app/ResourceRules.plist Payload/MyApp.app
zip -qr app-resigned.ipa Payload/