全球首款iOS模拟器出炉!在违法的边缘疯狂试探
对于许多智能手机用户,特别是手游玩家来说,在手机屏幕的方寸之间进行操作显然并非特别方便,而且在多年之前,由于手机配置不足,也导致了用PC来玩手游的需求不断涌现。彼时,BlueStacks及夜神等一众Android模拟器可谓是风靡一时,并且凭借着PC上更大容量的内存、更高效能的CPU和更强劲的显卡,也使得通过模拟器运行手游的效率成倍提升。
不过,大家都知道基于Linux的Android由于开源和Linux本身的特质,开发者能够轻松的做出各式各样的Android模拟器。但是在iOS端,由于其封闭性使得模拟器一直只存在于传说中。但今这个“传说”变成了现实,一款号称全球首款iOS模拟器的“黑雷模拟器”,最近疯狂的在各大热门手游社群中出现。
神奇的iOS模拟器——黑雷
据黑雷模拟器的官方介绍显示,这款iOS桌面版软件可实现在PC端运行iPhone及iPad上的各种应用和游戏,实际上有些类似于安卓PC端模拟器。不过黑雷桌面模拟器并不是越狱工具,也不需要设备越狱,更不需要连接电脑,甚至都不需要你有一台苹果设备就能在PC上体验,因此也意味其并非是个映射工具。
作为一名iOS和Android的双修党,笔者自然是第一时间下载了这款“神通广大”的iOS模拟器。在下载安装的过程之中,与Android模拟器最大的区别就在于,这款黑雷模拟器需要安装一个名为“HeileiOSX(for intel)”的2.45G镜像文件。
在完成这一系列略显繁琐的操作之后,黑雷模拟器的主界面终于呈现在眼前。其桌面确实和苹果的iOS如出一辙,而且从设置选项中的关于本机和辅助功能等特有的功能上来看,其并非其他高仿iOS的Android模拟器。
那么接下来就是真正的“戏肉”了,在黑雷模拟器的商城中下载了目前热门的二次元手游《碧蓝航线》。打开游戏之后,可以看到能够选择的服务器确实是《碧蓝航线》官方提供的iOS大区,而在接下来的体验上来说,不知道是不是Intel i5 8950HK、NVIDIA GTX 1066和SSD的加成,整体的流畅度还是相当不错的,就算比不上最新的iPhone XS,至少达到iPhone 6S的水准是完全不在话下的。
iOS模拟器到底是怎么做出来的
关于黑雷模拟器的好话到此为止,尽管说这款模拟器为广大iOS用户带来了在PC上玩游戏的可能性,还提供了需求度极高的LBS虚拟定位以及键盘操控等功能。但是对于一般用户来说,这款模拟器可能并不是纯洁的小白兔。
其最为致命的一点,是这个iOS模拟器到底是怎么做出来的?众所周知,X86架构主要应用在PC和小型服务器上,ARM则集中在移动端,二者之间可以说是完全不同的两套体系。并且从理论上讲也并无可能,毕竟开发者也是需要在Mac上才能进行iOS程序的开发工作。
事实上,这款黑雷模拟器,基本上可以看作是一个没有授权就搬到Windows上的Xcode iPhone Simulator(正经的iPhone模拟器)。其是在Windows环境中下载一个vmdk格式的MacOS虚拟镜像,然后再在这个MacOS中用Xcode里的iOS模拟器,模拟出来的。简而言之就是,Windows套虚拟机模拟Mac环境,再逆向魔改后的Xcode自带模拟器。
看到这里,大家估计也就明白了,这种在虚拟机上运行虚拟机的做法,对于PC性能的要求绝对不低,而我们测试用的PC应该也算的上一个典型的中端配置,至少在1080P下流畅运行3A大作是毫无压力的。因此,很多想要在PC端玩iOS游戏的朋友应该会比较失望,毕竟从ARM到x86的代码编译性能损失极大,即便PC端具备更大的屏幕、更丰富的人机操作空间,以及更强的性能,但是在图形处理能力上的损失,用CPU自带的核显和低端独显是弥补不了的,因此想要流畅的在PC端玩iOS游戏的用户,还需要准备一个性能足够的电脑。
在黑雷模拟器上,我们下载APP并非通过苹果的App Store,而是在其自带的黑雷商城上下载,并且提供的数量也是寥寥无几。以微信和碧蓝航线为例,二者均与腾讯和哔哩哔哩在App Store上上传的官方版本有明显的区别,App Store版微信的版本号已经来到了7.0.3,而黑雷版中则是5个月之前的6.7.3,碧蓝航线的版本号倒是统一了,但是二者的安装包体积却是1.1GB和975MB的差距。
这背后的原因,可能是因为是因为PC端无论Intel还是AMD,都是采用的x86架构,而移动端上Android和iOS则都是ARM架构,二者之间的差异就像是汉语和英语的区别。因此在Android端的模拟器能够实现随便一个APK文件拖进模拟器就能安装,是得益于Android-x86的存在,但是iOS端目前则绝无这种可能。
撩拨苹果,黑雷堪称胆大包天
虽然的Xcode自带的iOS Simulator模拟器有开发者编译程序,而且是API级别的模拟,但是只能运行开发者自己Mac上编译出来的程序,也就是说黑雷模拟器能够提供的游戏是有限的,因此要么是与APP的开发者合作单独编译了一个x86版本,要么是ipa文件反编译成源代码。
而黑雷这样一个名不见经传的团队,能够让腾讯屈尊降贵编译一份x86 64位架构的微信,可以想想这种可能性有多大。那么ARM 64可执行文件或者说更新一点的bitcode中间码是怎么来的呢?
APP来源可疑,再加上跳出App Store体系的黑雷商城,基本上就相当于用户将自己的隐私安全交给了黑雷。虽然苹果税很让人厌恶,但是好歹App Store的审核体系相当严苛,而黑雷则是平台+内容提供方一肩挑。那么市值数千亿美元的苹果,还是名不见经传的黑雷,谁更有商誉、更值得信任,这种问题自然也是不言自明的。
至于通过虚拟机套虚拟机的做法,搭配Xcode实现模拟器的方法,真的很难被想到吗?君不见多少iOS开发者对于入门就必然需要用苹果电脑这点深恶痛绝,但之前的开发者显然不是不能,而是不敢。
对于苹果来说,iOS生态是支撑其市值的基石,在PC上能够进行iOS体验,这比越狱对于生态的伤害还要大,可以说是在iOS体系内建立了一个有别于App Store的应用商店,是“另立山头”的行为。App Store对于苹果的重要性是不言而喻的,在此之前绕开App Store进行支付的尝试,不论是红包、打赏还是其他形式都基本上被苹果严防死守。因此“偷税”尚且如此,黑雷模拟器这种行为直接就是把苹果开的山和栽的树,想一起绕过。
因此在这里我们也不妨预测一下,黑雷在拥有一定名声和用户量之后,势必将会招来苹果法务部的“核打击”,而罪名,无疑就是《破坏计算机信息系统罪》了。
全球首款iOS模拟器出炉!在违法的边缘疯狂试探的更多相关文章
- EZchip将推全球首款100核64位ARM A-53芯片
EZchip将推全球首款100核64位ARM A-53芯片 2015-02-25 16:32:03 来源:互联网 关键字: 将推 全球 64位 arm EZchip日前表示,将准备开发 ...
- 联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595
联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595 admin 资讯 01-07 1 1月7日消息,联发科宣布与Google共同开发出全世界第一个搭载Android TV操作系统 ...
- 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)
作者 智晓锋 - 2014/07/14 自从斯诺登曝光美监听丑闻事件之后,我国政府就将信息安全问题上升到了国家安全的高度.基于此.国内的一家创业公司推出了智能型Android真机白盒測试以及开发辅助类 ...
- 智能头盔 "Livall携全球首款智能骑行头盔亮相CES"
LIVALL是全球首创集音乐.通讯.智能灯光为一体的智能骑行头盔的研发者,日前Livall携旗下智能骑行头盔BH 100和BH 60参展CES 2017,这也是目前世全球首款智能骑行头盔类产品,同时亮 ...
- 全球首款完全开源的堡垒机,符合 4A 的专业运维审计系统Jumpserver
Jumpserver是全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统. http://www.jumpserver.org https://github.com/jumpserver/ju ...
- 突破冯·诺依曼架构瓶颈!全球首款存算一体AI芯片诞生
过去70年,计算机一直遵循冯·诺依曼架构设计,运行时数据需要在处理器和内存之间来回传输. 随着时代发展,这一工作模式面临较大挑战:在人工智能等高并发计算场景中,数据来回传输会产生巨大的功耗:目前内存系 ...
- 厉害了,摩托罗拉发布全球首款支持VR和AR的手机MotoZ
目前支持谷歌daydream移动VR生态系统的手机型号并不多,除了谷歌自家的Pixel系列外,还有华为推出的mate9系列.如今又到了一位新成员,即升级到Android 7.0后的Moto Z. 更为 ...
- IOS弹出视图 LewPopupViewController
LewPopupViewController是一款IOS弹出视图软件.iOS 下的弹出视图.支持iPhone/iPad. 软件截图 使用方法 弹出视图 1 2 3 4 5 PopupView *vie ...
- Linux 获得了其首款基于 RISC-V 的多核开源处理器
去年,硅谷创业公司 SiFive 发布了首款开源 SoC(片上系统 System on a Chip),命名为 Freeform Everywhere 310.现在,该公司从嵌入式系统领先一步,发布了 ...
随机推荐
- 查询所有联系人并选中显示 contentprovider
<!-- 读取联系人记录的权限 --> <uses-permission android:name="android.permission.READ_CONTACTS&qu ...
- 10.19-10.20 test
2016 10.19-10.20 两天 题目by mzx Day1: T1:loverfinding 题解:hash #include<iostream> #include<cst ...
- Android-利用LinearGradient实现文字一闪一闪
效果如下图所示: 具体实现方式如下: 1,自定义一个LinearGradientTextView 继承 TextView ,重写onSizeChanged和onDraw.: public class ...
- JSTL取整、读取数组、字符串连接
以通过formatNumber去掉小数. <fmt:formatNumber type='number' value='${(tv.timeLong-tv.timeLong%60)/60 }' ...
- 基于官方驱动封装mongodb
还是一如既往先把结构图放出来,上上个版本添加了redis的缓存,但是不满足我的需求,因为公司有项目要求是分布式所以呢,这里我就增加了mongoDb进行缓存分布式,好了先看结构图(1). 总的来说比较蛋 ...
- [HAOI 2012] 外星人
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2749 [算法] 首先 , 每次对一个数x进行操作 , 只会使该数减少一个2的因子 那 ...
- cordova 使用H5混合开发APP
cordova 中文官网 http://cordova.axuer.com/docs/zh-cn/latest/
- 解决最近windows版本Node.js中npm出现的“Error: ENOENT, stat 'C:\Users\UserName\AppData\Roaming\npm”的问题
(转载请注明出处,from www.cnblogs.com/xdxer) 问题可能如下所示 解决方案: 在 'C:\Users\UserName\AppData\Roaming\‘ 下手动的增加一个文 ...
- Winform安装包出现无法访问网络位置
1.原因:安装包的安装路径出现了问题 2.如下图:错误路径 3.如下图:正确路径
- staruml详解
一.用例图 1.说明 1.1 用例图说明的事谁要使用系统以及他们使用该系统可以做些什么? <业务需求> 1.2 解析一个用例图,我们可以发现它包含4个 ...