苹果有越狱、非越狱
越狱手机:用户可以拿到手机的最高权限,可以查看手机的所有目录【苹果的沙盒不给人看的,越狱了就可以看到】
app安装:安装在手机上的app都有一个在本机上唯一的id,就是说,一个手机上不可以存在两个一样id的应用,如果你安装了一个app,然后又将另一个相同id的app安装上去,要么覆盖安装,要么安装失败。
app重签名安装:app的生成过程中,有一个步骤是配置证书、描述文件。99美元的账号中,暂时分为两种证书,开发、发布证书。账号登陆在appledevlop后可以配置两三个证书,其实没必要配置多,两个足以,一个测试证书、一个发布证书,点击添加描述文件按钮后,会让你选择证书,如果你选择的是测试证书,那么还会让你选择Devices,就是说 这个描述文件中会加入这些手机的udid,点击下一步后创建好了。这样我们就有了两个文件 一个证书、一个描述文件,然后在打包或者重签名的时候,需要选择这两样东西,我们说签名,打开签名工具UtSign,选择ipa、证书、描述文件。然后点击重签名,稍等一会儿回出现一个rsigned的ipa在相同目录下,然后可以安装到手机上去。
要声明的是99美元的账号,生成的测试证书和描述文件,一年内只能最多给一百个人使用改证书签名的app,换句话说,如果你想要使用99美元账号签名的证书,你需要将你的udid加到这个账号中去。否则安装成功后打不开,这个是苹果的硬性限制,目前不知道怎么破。
企业证书:299美元一年,这个证书就比较好了,之前公司给过我一个企业账号,账号里面只有一种证书,该账号不能上架app,同样的想要重签名一个ipa文件的话,需要配置证书、描述文件,这里描述文件创建的时候,会让你选择证书,之后不会让你选择Devices,因为可以给任何苹果手机安装。
总结:你想要安装一个别人给你的ipa并能打开的话,如果ta的证书是99美元的个人证书,那么需要将你手机的udid添加到ta账号里面去,才能给你安装ipa,否则你下载了只能看,不能安装。如果是企业证书,需要在设置中信任一下,就可以使用了。
deb安装与使用:
我一般是用iosOpenDev开发越狱插件,一般操作是打开xcode,选择logs Tweak,输入名字然后创建好了,再将一个名为libsubstrate.dylib的库放到frameworks中去,再将需要hook的应用的bundleId添加到Package中的plist去,再添加一个备用的com.tencentFirst.xin,然后将xm文件中的代码删除干净,然后再写自己想要hook的代码。
例子:我将一个deb发给A使用,这个deb是hook微信的,但是功能需要两个微信应用合作完成。方法一,用两部越狱手机 安装指定版本的官方微信,然后安装这个deb,可以正常使用。方法二,在一部手机上安装两个微信,根据上面说的可以知道 这两个微信的bundleId肯定不一样,但是我的deb只能hook两个bundleId的微信,这里就需要让安装的第二个微信的bundleId和我设置的另一个bundleId一致,很显然,A只是在pp助手上下载了一个微信分身,并不能够让我的deb正常hook,因为和我设置的bundleId不一样,这种情况,两个办法解决 要么我将deb注入到微信ipa中去,重新打包给他,当然了 这会很麻烦,因为我没有企业证书,他需要告诉我他的udid,我才能制作出一个他能安装并带有deb插件功能的ipa安装包。还有一个办法,他查看一下pp助手安装的微信的bundleId,我在工程中package的plist加入这个bundleId,那么也可以使用了。
什么事情你不接触 不知道,接触了就能知道,但是你废了那么久明白的事情,讲出来、自己理解都很容易,但是要别人在你三言两语后能够明白并记住,几乎不可能,那就且行且学习吧。