整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

“死亡短信”让iPhone崩溃,苹果愤怒要解决!技术

“死亡短信”让iPhone崩溃,苹果愤怒要解决!技术大牛:服不服?

近这段时间,苹果公司一直很“衰”,负面新闻就没断过。

前两天,很多网友在推特上发帖,纷纷吐槽自己的iPhone莫名收到一条神秘“死亡短信”,即使根本没有打开手机屏幕,手机还是卡死、甚至崩溃了。用户必须退出Messages应用,然后清理所有运行任务后,手机才能恢复正常。

面对这一紧急状况,苹果今天终于公开表态:已经收集到这个问题的反馈,正在认真分析Bug,以此来解决问题。等下一版本iOS更新的时候,苹果将解决信息应用能被恶意链接卡死的BUG。

“死亡短信”事件发展到此,也大致能画上句号了。不过当我了解“死亡短信”事件始末后,发现这件事其实并没有那么简单——看起来更像是一位技术大牛想给苹果一点儿“教训”。

本周二,一位名叫Abraham Masri的软件开发者发现了“死亡短信”的Bug,起名为chaiOS。

Masri发现,chaiOS可以通过网页传播,于是他创建了一个托管在GitHub上的网页,并在其元数据中添加了数十万个不必要的字符。当用户收到装着Bug的网页后,这些字符就会致使系统崩溃卡死,或者系统自动重启后回到解锁页面。

现在Masri已经将GitHub上的网站链接移除,现在用户即使再收到短信也无法查看网页内容,手机系统便不再会崩溃。悲剧的是,Masri也因为上传这个Bug到GitHub,账户被GitHub封号了,尽管只是个html文件。

不过,这并不代表Bug的问题被解决了,进一步的解决方案还得看苹果怎么做。

至于Masri为何要“自导自演”这么一场“死亡短信”风波,他表示自己在此前已经向苹果反映过Bug问题(估计苹果并没有在意),这么做只是为了引起苹果的重视,以尽快修复Bug。

Masr还善意提醒道,这个Bug不赶紧解决,如果有人想恶意攻击你,只需要知道你的电话号码就行了。因为chaiOS利用了iOS短信应用会自动加载网页,以显示网页名称和图标等信息的机制。只要用户收到含有该链接的信息,即便不点击也可能中招,分明就是“待宰的羔羊”。

现在Masri的目的达到了,这也便有了前文公开表态要解决Bug那一出。

说起来,这并不是iPhone第一次出现短信Bug。2015年5月底,很多用户的iOS8系统在收到一系列字符后,开始出现崩溃现象,导致信息应用无法打开。

这一Bug被称为“Effective Power”。据称,信息Bug是因为Unicode解码出现问题,导致设备内存不断过载,最终引起重启。

苹果当时也发布回应称,自己意识到了由一系列代码字符引起的iMessage问题,将会在日后的软件更新中修复。与现在这起“死亡短信”事件简直如出一辙。

事实上,特定字符短信的Bug由来已久,接收到特定字符短信的手机会出现持续震动、黑屏、关机等状况。苹果不是第一次遭受攻击,也不会是最后一次;不是第一个遭受攻击,也不会是最后一个。

但鉴于苹果最近负面新闻缠身,一波未平一波又起,还是多长点心吧。

篇文章是https://wiki.osdev.org/Projects页面的翻译。

英文好的可以直接看原网页。这个是我偶然发现的网站,我惊讶于这里竟然有如此多的操作系统的源码。既然这么多了,总有一款适合你去搞懂操作系统的技术细节。

本页含有一个操作系统的列表,这些操作系统可能是学术上用的,也可能是个人开发的,或者是非商业化的操作系统。

在2004至2006年之间,213种操作系统中的112种从互联网上消失了,同时在这段时间里,出现了68种新的操作系统。当前,互联网上能查到的操作系统有175个,但是只有58个是在持续更新的,有62个在2018年有更新,27个在2019年有更新。

自2015年就没有再更新的操作系统项目:https://wiki.osdev.org/Abandoned_Projects

一些靠业余时间开发出来的操作系统在这里:https://wiki.osdev.org/Notable_Projects

比较成功的操作系统项目在这里:https://wiki.osdev.org/Advanced_Projects

下面按照字母表的顺序,介绍一些操作系统:

开源操作系统Acess2

它可以做linux能做的所有事情,可以按需配置。它具有一个虽然简单但可扩展的VFS,这个VFS目前支持VFAT,Ext2,使用TPC/UDP的IPv4/IPv6网络,USB input 和存储。最近这个项目已经移至github:https://github.com/thepowersgang/rme2,还有这里https://github.com/thepowersgang/acess2,不过作者后来放弃了这个项目,开始了一个新项目:Rust OS (https://github.com/thepowersgang/rust_os

作者的主页:http://git.mutabah.net/blog/

开源操作系统Amiga Research Operating System

轻量、高效、稳定的桌面操作系统,用这个操作系统,你可以更多地发挥出你电脑硬件的潜能。它同时还是一个独立的,自由的项目,提供了非常高效的API,你可以用来开发出各种应用,源码开源,欢迎取用。

主页在:https://aros.sourceforge.io/

开源操作系统Apollo Project

GitHub:https://github.com/primis/Apollo

它是一个微内核,为的是最大限度的可移植,按照unix理念去设计。

开源操作系统Aqeous

github:https://github.com/AshishKumar4/Aqeous

它是一个从零完成的,非unix的32位操作系统内核。支持shell脚本,windows中的bat。支持多核心处理器。目前只支持在虚拟机Qemu上运行。

开源操作系统AquilaOS

http://aquilaos.com/

一个UNIX风格的操作系统,完全兼容POSIX,移值了很多符合POSIX的应用程序。

用于学术研究的开源操作系统Asuro

https://www.spexeah.com/index.php/asuro/

Asuro是一款x86操作系统,开发与2015年,用了少量的汇编和大量的Freepascal,它这设计上与任何主流操作系统都不同,使用VM/SE来运行内核代码以为的任何东西。

开源操作系统Banana

https://github.com/alexdboxall/Banana-Operating-System

这是一个真正在硬盘上运行的操作系统,支持ATA/ATAPI/SATA/SATAPI/软盘,支持的文件系统有FAT/exFAT/ISO9660,支持PS/2键盘和鼠标,支持SB16和AC97音频。目前自带的应用程序有shell,纸牌游戏,扫雷器,照片查看器,文本编辑器。

开源操作系统ChaiOS

https://github.com/ChaiSoft/ChaiOS

模块化的多平台操作系统。甚至内核C库也是动态链接的。VC++编写的。

开源操作系统DAWN

http://gerigeri.uw.hu/DawnOS/index.html

链接我试了试,没打卡。可能翻墙后才能打开。

它是一个SUBLEQ指令集操作系统。支持多核,64位,有内置C编译器、有虚拟键盘,有自己的P2P网络协议,自动转发,编写了各种的内置工具:绘画,文本编辑器,声音播放器,象棋,钢琴、变形虫游戏等。

开源操作系统DiyOS

https://github.com/leonardoms/DiyOS

一个学习用的操作系统,具有基本的图形界面。

开源操作系统DreamOS

https://github.com/inuyasha82/DreamOs

用C和汇编写的在x86架构上运行的操作系统

开源操作系统Fling OS

https://github.com/FlingOS/FlingOS

homepage: http://www.flingos.co.uk

这是个教育上用的操作系统,具有完整的技术文档。这个操作系统的目的就是教会大家学会写操作系统,提供了完整的代码参考,以及教程文章。他们发表了30篇文章和10个入门教程视频。支持USB2.0和ELF驱动程序。


开源操作系统Haiku

https://www.haiku-os.org/


一个可以实用的操作系统,具有各种各样的移植和本地应用程序(包括基于WebKit的浏览器)


开源操作系统Kolibri OS

主页:http://www.kolibrios.org/en/

主页截图:

它虽然安装在标准的1.44MB的软盘上,但是它包含完整的GUI桌面、许多驱动程序,以及web浏览器和音乐播放器,游戏。在这个操作系统中,你可以用ASM代码编写APP。

代码位置:http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS

欢迎参与修改与完善


开源操作系统Lemon

支持DOOM,TCP/UDP,包括AHCI,VNME在内的驱动程序。

代码位置:https://github.com/LemonOSProject/LemonOS

界面:

开源操作系统mkfreeOS

代码位置:https://github.com/ramonmayedo/mkfreeOS

桌面图像:

它可以运行在intel x86体系结构上。支持多任务,多线程,FAT32,BFS文件系统,虚拟内存管理,分层保护机制。


开源操作系统SerenityOS

源码位置:https://github.com/SerenityOS/serenity

桌面为:

这个操作系统也是从零开始写的,支持JAVAScript和HTTPS的web浏览器。越来越多的第三方可选软件包可以安装在这个操作系统上,比如GCC,bash,vim,python. 注意到,这个操作系统上,可以安装python.


开源操作系统SOSO

代码为:https://github.com/ozkl/soso

它实现了多任务,进程和线程,内存分页,虚拟文件系统,FAT32,系统调用,用户空间ELF文件,帧缓冲区,Unix本地套接字和共享内存。

开源操作系统Vanadium

代码位置:https://github.com/p-durlej/newsys

界面:

它支持i386,amd64.支持完全的保护模式:内存,文件和硬件的保护。将用户分为root用户和非特权用户。你在操作系统中可以编写C代码并且立即执行。

好了,本文就先介绍到这里。

本文从原网页中选择了部分操作系统作为介绍。原网页中有更为全面的介绍。

篇文章是https://wiki.osdev.org/Projects页面的翻译。

英文好的可以直接看原网页。这个是我偶然发现的网站,我惊讶于这里竟然有如此多的操作系统的源码。既然这么多了,总有一款适合你去搞懂操作系统的技术细节。

本页含有一个操作系统的列表,这些操作系统可能是学术上用的,也可能是个人开发的,或者是非商业化的操作系统。

在2004至2006年之间,213种操作系统中的112种从互联网上消失了,同时在这段时间里,出现了68种新的操作系统。当前,互联网上能查到的操作系统有175个,但是只有58个是在持续更新的,有62个在2018年有更新,27个在2019年有更新。

自2015年就没有再更新的操作系统项目:https://wiki.osdev.org/Abandoned_Projects

一些靠业余时间开发出来的操作系统在这里:https://wiki.osdev.org/Notable_Projects

比较成功的操作系统项目在这里:https://wiki.osdev.org/Advanced_Projects

下面按照字母表的顺序,介绍一些操作系统:

开源操作系统Acess2

它可以做linux能做的所有事情,可以按需配置。它具有一个虽然简单但可扩展的VFS,这个VFS目前支持VFAT,Ext2,使用TPC/UDP的IPv4/IPv6网络,USB input 和存储。最近这个项目已经移至github:https://github.com/thepowersgang/rme2,还有这里https://github.com/thepowersgang/acess2,不过作者后来放弃了这个项目,开始了一个新项目:Rust OS (https://github.com/thepowersgang/rust_os

作者的主页:http://git.mutabah.net/blog/

开源操作系统Amiga Research Operating System

轻量、高效、稳定的桌面操作系统,用这个操作系统,你可以更多地发挥出你电脑硬件的潜能。它同时还是一个独立的,自由的项目,提供了非常高效的API,你可以用来开发出各种应用,源码开源,欢迎取用。

主页在:https://aros.sourceforge.io/

开源操作系统Apollo Project

GitHub:https://github.com/primis/Apollo

它是一个微内核,为的是最大限度的可移植,按照unix理念去设计。

开源操作系统Aqeous

github:https://github.com/AshishKumar4/Aqeous

它是一个从零完成的,非unix的32位操作系统内核。支持shell脚本,windows中的bat。支持多核心处理器。目前只支持在虚拟机Qemu上运行。

开源操作系统AquilaOS

http://aquilaos.com/

一个UNIX风格的操作系统,完全兼容POSIX,移值了很多符合POSIX的应用程序。

用于学术研究的开源操作系统Asuro

https://www.spexeah.com/index.php/asuro/

Asuro是一款x86操作系统,开发与2015年,用了少量的汇编和大量的Freepascal,它这设计上与任何主流操作系统都不同,使用VM/SE来运行内核代码以为的任何东西。

开源操作系统Banana

https://github.com/alexdboxall/Banana-Operating-System

这是一个真正在硬盘上运行的操作系统,支持ATA/ATAPI/SATA/SATAPI/软盘,支持的文件系统有FAT/exFAT/ISO9660,支持PS/2键盘和鼠标,支持SB16和AC97音频。目前自带的应用程序有shell,纸牌游戏,扫雷器,照片查看器,文本编辑器。

开源操作系统ChaiOS

https://github.com/ChaiSoft/ChaiOS

模块化的多平台操作系统。甚至内核C库也是动态链接的。VC++编写的。

开源操作系统DAWN

http://gerigeri.uw.hu/DawnOS/index.html

链接我试了试,没打卡。可能翻墙后才能打开。

它是一个SUBLEQ指令集操作系统。支持多核,64位,有内置C编译器、有虚拟键盘,有自己的P2P网络协议,自动转发,编写了各种的内置工具:绘画,文本编辑器,声音播放器,象棋,钢琴、变形虫游戏等。

开源操作系统DiyOS

https://github.com/leonardoms/DiyOS

一个学习用的操作系统,具有基本的图形界面。

开源操作系统DreamOS

https://github.com/inuyasha82/DreamOs

用C和汇编写的在x86架构上运行的操作系统

开源操作系统Fling OS

https://github.com/FlingOS/FlingOS

homepage: http://www.flingos.co.uk

这是个教育上用的操作系统,具有完整的技术文档。这个操作系统的目的就是教会大家学会写操作系统,提供了完整的代码参考,以及教程文章。他们发表了30篇文章和10个入门教程视频。支持USB2.0和ELF驱动程序。


开源操作系统Haiku

https://www.haiku-os.org/


一个可以实用的操作系统,具有各种各样的移植和本地应用程序(包括基于WebKit的浏览器)


开源操作系统Kolibri OS

主页:http://www.kolibrios.org/en/

主页截图:

它虽然安装在标准的1.44MB的软盘上,但是它包含完整的GUI桌面、许多驱动程序,以及web浏览器和音乐播放器,游戏。在这个操作系统中,你可以用ASM代码编写APP。

代码位置:http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS

欢迎参与修改与完善


开源操作系统Lemon

支持DOOM,TCP/UDP,包括AHCI,VNME在内的驱动程序。

代码位置:https://github.com/LemonOSProject/LemonOS

界面:

开源操作系统mkfreeOS

代码位置:https://github.com/ramonmayedo/mkfreeOS

桌面图像:

它可以运行在intel x86体系结构上。支持多任务,多线程,FAT32,BFS文件系统,虚拟内存管理,分层保护机制。


开源操作系统SerenityOS

源码位置:https://github.com/SerenityOS/serenity

桌面为:

这个操作系统也是从零开始写的,支持JAVAScript和HTTPS的web浏览器。越来越多的第三方可选软件包可以安装在这个操作系统上,比如GCC,bash,vim,python. 注意到,这个操作系统上,可以安装python.


开源操作系统SOSO

代码为:https://github.com/ozkl/soso

它实现了多任务,进程和线程,内存分页,虚拟文件系统,FAT32,系统调用,用户空间ELF文件,帧缓冲区,Unix本地套接字和共享内存。

开源操作系统Vanadium

代码位置:https://github.com/p-durlej/newsys

界面:

它支持i386,amd64.支持完全的保护模式:内存,文件和硬件的保护。将用户分为root用户和非特权用户。你在操作系统中可以编写C代码并且立即执行。

好了,本文就先介绍到这里。

本文从原网页中选择了部分操作系统作为介绍。原网页中有更为全面的介绍。