Let's take Qt online installer and Qt Creator as an example.
At the time of this writing:
| .global _main | |
| .extern _putchar | |
| .align 4 | |
| _main: | |
| ; prolog; save fp,lr,x19 | |
| stp x29, x30, [sp, #-0x20]! | |
| str x19, [sp, #0x10] |
| // simplevm.c: demonstrates Hypervisor.Framework usage in Apple Silicon | |
| // Based on the work by @zhuowei | |
| // @imbushuo - Nov 2020 | |
| // To build: | |
| // Prepare the entitlement with BOTH com.apple.security.hypervisor and com.apple.vm.networking WHEN SIP IS OFF | |
| // Prepare the entitlement com.apple.security.hypervisor and NO com.apple.vm.networking WHEN SIP IS ON | |
| // ^ Per @never_released, tested on 11.0.1, idk why | |
| // clang -o simplevm -O2 -framework Hypervisor -mmacosx-version-min=11.0 simplevm.c | |
| // codesign --entitlements simplevm.entitlements --force -s - simplevm |
| -- Set up the initial document | |
| set output to ("List of open tabs in Safari" & linefeed as string) & "=======================" & linefeed as string | |
| tell application "Safari" | |
| -- Count the number of Windows | |
| set numWindows to number of windows | |
| repeat with w from 1 to numWindows |