❌

Normal view

Projeto adapta o iOS 16 para rodar em… smartphones Android

21 October 2026 at 20:01

A ideia de rodar o iOS em um smartphone Android parece absurda, mas se tornou realidade com o projeto Hackios.

A proposta é do usuário do GitHub ios-sweet, que substituiu o kernel Linux dos smartphones Android pelo XNU, desenvolvido pela Apple para iOS, iPadOS, macOS, watchOS, tvOS e visionOS.

Quando o dispositivo Android é inicializado, o sistema reconhece o celular como um iPhone X — dispositivo que foi escolhido por não ter o código de autenticação de ponteiros (Pointer Authentication Code, ou PAC), assim como o Redmi Note 10 Pro, da Xiaomi, usado na adaptação inicial.

Já circulam vídeos do sistema adaptado ao Redmi Note 12 Pro, ainda com dificuldades notáveis de desempenho:

Embora o código do iOS permaneça fechado, o XNU do macOS foi liberado pela Apple. Pelos indícios nos documentos incluídos nos arquivos do projeto, o iOS foi adaptado com o auxílio de inteligência artificial (IA).

Depois de ligado, o celular carrega uma imagem intermediária no bootloader, que inicia o XNU em uma partição formatada para simular o armazenamento do iPhone X, com uma cópia do iOS 16.7 — a versão mais recente do sistema disponibilizada ao aparelho.

Alguns apps nativos são carregados junto com a Tela de Início, e os toques e gestos para alternar entre eles (além dos botões de volume e de liga/desliga) são reconhecidos, mas o celular não consegue ativar as câmeras, o som e a GPU 1Graphics processing unit, ou unidade de processamento gráfico., nem usar dados móveis, Bluetooth e Wi-Fi.

Além do Redmi Note 10 Pro, a adaptação já tem versões para o Redmi Note 12 Pro e o LG V60, enquanto outros aparelhos (como OnePlus 7T, Redmi 5 Plus e Galaxy S23 Ultra) foram listados, mas ainda não têm versões disponíveis para download.

Para quem tem um aparelho compatível e quiser se aventurar, vale conferir o site do projeto, que disponibiliza o download na página do desenvolvedor no GitHub.

via Android Authority

Notas de rodapé

  • 1
    Graphics processing unit, ou unidade de processamento gráfico.

CrashReportExtension

22 June 2026 at 21:51

CrashReportExtension:

The Crash Report Extension framework allows you to perform analysis and produce a report when your app crashes. Your crash-handling code executes out-of-process, rather than from a signal handler or other in-process techniques.

You implement your handler by writing an app extension that conforms to the CrashReporterExtension protocol. The system calls your processCrashReport(process:) method when the app crashes. Use the CrashedProcess parameter to inspect the state of the crashed app by retrieving a crash reason, symbolicating relevant addresses, and communicating with the process over a read-only Mach port. After collecting the crash data, you can send a report back to your own server.

[…]

Crash Report Extension is available on iOS 27 and later. It isn’t available to Catalyst-based macOS apps, or on iOS apps running on Mac computers with Apple silicon.

The top of the page says “macOS 27.0+,” so I guess this means it does work for regular AppKit and SwiftUI Mac apps. It’s great to finally have a supported way to do this.

I don’t know why they can’t just give you the crash report text or .ips JSON directly, though. It looks like you have to use Mach IPC with the corpsePort to get the backtrace for each thread and then use the extension API to symbolicate the addresses. Even then, I’m not sure you can get all the information that’s in a standard crash report, such as the Application Specific Backtrace. Maybe you can find the address for gCRAnnotations/__crashreporter_info__ and load it with mach_vm_read?

Previously:

High-severity vulnerability in Linux caused by a single faulty character

9 June 2026 at 16:12

Researchers have analyzed a high-severity vulnerability in Linux that’s able to escalate untrusted users to root by exploiting a bug you don't often see: a single errant character inside the kernel.

The vulnerability, tracked as CVE-2026-23111, is located in nf_tables, a subsystem of the Linux kernel that provides packet filtering capabilities. It’s used to manage firewall rules and replaces older subsystems such as iptables, ip6tables, arptables, and ebtables.

!!!WTF!!!

The presence of a single mis-issued exclamation point in code implementing nf_tables introduced a use-after-free, a class of vulnerability that corrupts memory by placing malicious code at memory addresses that haven’t been properly freed of their previous contents. CVE-2026-23111 can be exploited by an unprivileged user or process to elevate system rights to root.

Read full article

Comments

© Getty Images

❌