浅谈iOS软件多开

其实软件多开在Android系统中已经不稀有了,甚至国内厂商基于原生Android二次开发的操作系统出厂即带应用分身,软件多开等功能,甚至连位置模拟功能都植入系统应用,所以Android已经烂大街的功能,对于常规的苹果手机用户来说仍然是可望不可即。

当然苹果设备并不是完全没有办法来进行软件多开,甚至某宝已经出现众多iOS软件多开的商品,可能很多人已经购买并使用了,确实由于iOS系统的封闭性,例如软件多开等等的灰色产业链也层出不穷,不过一般人对于软件多开倒也没那么在意,我想大部分热衷的人是微商或者是渴望将生活与工作完全分开的人,毕竟现在人手两个微信号已经很常见了吧。两台手机又太麻烦,能够解决一台手机多个微信或其他必需软件的方法就尤其重要。

图片

就微信举例,微信现在也推出了一个手机号可以注册两个微信号的规则,这无疑是那些渴望工作与生活分割人的福音。但是又不忍心放弃已经熟悉的iOS操作系统,所以就尝试寻找软件多开的方法,所以正是寻找方法的人越来越多,渐渐iOS微信多开也成为了一个交易的商品,甚至为了吸引消费者,针对微信的修改者也越来越多,其中不乏很多大牛,开源了关于微信的修改版,其中甚至增加了很多原生微信没有的功能,比如耳熟能详的自动抢红包,消息防撤回,甚至连微信放弃的CallKit的集成都完成了。

图片

如何进行软件多开

其实针对这个问题,本质来讲其实是不可以的,为何这么说?针对iOS和Android系统,每个应用都有其对应包名,iOS开发习惯称其为bundleID,而且这个ID是唯一的,即不可能存在两个ID相同的应用存在,否则将会影响操作的系统的正确运行。在iOS操作系统中SpringBoard就是针对BundleID来保证一个应用的正常运行,假如存在两个相同的BundleID的应用,当你呼唤Siri打开时,它将如何进行?

所以针对软件多开其实就是完全的另一个运行在操作系统的功能完全一致甚至更加丰富的修改版软件。所以关于iOS软件多开的方法就有以下两种:

  • 开发一款与想要多开软件完全功能相同软件

其实并不是不可以,只是将会花费巨大精力和财力,虽说这是最笨重的方法,但是是绝对有效的,但是难度也是巨大的,你想想再开发一个微信出来,那是何等的魄力和野心。

  • 将原版的软件以新的软件身份运行在iOS系统上

所以首先就不得不说到上面提到的BundleId,必须应用一个新的且唯一的BundleId来重新命名该原版软件。如何拥有这个BundleId并且能够成功运行,首先考虑上架App Store,显然是不可能的,其次就是拥有开发者身份,让原版应用经过二次开发重新运行到iOS系统上,这就是外面提到的签名,每个开发者身份可以为100台设备安装测试软件和签名软件。为什么要签名,这里小编的理解,每个上架到App Store的软件都是经过特殊加密的软件,签名的方式也是为了加密才能运行到iOS中。iOS系统安全来自于这种方式,甚至未经信任的开发者签名的软件也需要信任后才能运行。这也是系统安全性的一种保证。

iOS软件多开的弊端

这里再次举例说明微信多开,我想用过的人都有体会,必须让其在后台保活才能接收到通知,其实这也是和BundleID关联,iOS的通知不同于Android完全是Apple的服务器来发送的,其中过程就不赘述了,就是即使你以新的BundleID运行了微信,但是推送的通知是收不到的,只能通过保活软件,来循环获取微信的返回数据来进行本地通知,所以这也是为什么修改版的软件比正常的软件更加耗电。而且修改版的软件毕竟是影响软件正常运行的一种行为,所以会有形形色色的问题,并且随着原版软件的更新,修改版的软件若想体验原版新功能也必须随着更新才能保证正常运行。

图片

这里可能了解过的人会提到iOS越狱的设备,尽管是越狱设备也必须保证安装的是经过签名后的软件,否则也是无法安装的,不过相对于正常的iOS设备,越狱设备的好处就是可以安装任何开发者签名的软件,并且可以安装插件来实现iOS操作系统所不存在的功能。

所谓越狱其实就是像Android获取root权限,也是利用系统漏洞来获取root权限来进行很多root权限才能操作的行为。所以越狱有利也有弊,root权限获取后可以在用户无感知的情况下执行一些操作。

iOS系统逆向安全攻防

其实开发软件多开的开发者,也是为安全攻防提供了众多可以参考的实际案例,包括俗话说的软件破解也是逆向攻防,攻与防是相辅相成,有攻才有仿,攻的方法提升防守的方法也必须提升,否则自身软件将会受到严重打击。就像微信的多开,其实微信也尝试了防止多开的方式,比如最基础的方式校验BundleId,不一致将无法运行和接收数据。不过这种方式已经太简单就能绕过,所以微信会采取新的方式来校验,一旦校验非正式客户端,会进行封号处理,这也是软件多开的弊端。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注