From 6383c9e203a480778c354fb5b9d3a3e4922a39a7 Mon Sep 17 00:00:00 2001 From: sickcodes Date: Tue, 15 Jun 2021 13:49:22 +0000 Subject: [PATCH 1/3] Update documentation regarding v11 to v12 --- README.md | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 122 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0c0799f..f764aed 100644 --- a/README.md +++ b/README.md @@ -2,24 +2,29 @@ ![Running mac osx in a docker container](/running-mac-inside-docker-qemu.png?raw=true "OSX KVM DOCKER") -Generate macOS valid serials, uuids, and board serials for good-faith security research. +Generate macOS valid serials, uuids, and board serials for good-faith Security Research & Apple Bug Bounty Research. This project provides two tools for generating serial numbers for Hackintosh, [OpenCore](https://github.com/acidanthera/OpenCorePkg), [Docker-OSX](https://github.com/sickcodes/Docker-OSX) and [OSX-KVM](https://github.com/kholia/OSX-KVM). -Author: Sick.Codes https://sick.codes/ & https://twitter.com/sickcodes +Author: Sick.Codes https://github.com/sickcodes | https://sick.codes | https://twitter.com/sickcodes ### Follow @sickcodes on Twitter for updates! [https://twitter.com/sickcodes](https://twitter.com/sickcodes) -Terms & Conditions: Serial numbers are an important part of conducting iMessage security research and finding vulnerabilities in software prior to Bad Actors, therefore, you must agree to [Apple's Security Bounty program](https://developer.apple.com/security-bounty/requirements/). +Terms & Conditions: Manipulation of serial numbers are an important aspect of conducting Cyber Security Research into the iMessage & Facetime frameworks. Finding and reporting vulnerabilities in Apple software before Threat Actors do is important. To use this project to find & discover vulnerabilities in said protocols, you should agree to [Apple's Security Bounty program](https://developer.apple.com/security-bounty/requirements/). ### Upstream Thanks -This project is a wrapper for the OpenCore bootloader's fantastic tool [macserial](https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/macserial). +This project was created for use with [Docker-OSX](https://github.com/sickcodes/Docker-OSX) and uses `config.plist` files from [@Kholia](https://github.com/kholia)'s project https://github.com/kholia/OSX-KVM. -Many thanks to the OpenCore Project for providing `macserial`. +The `config.plist` files are also curated and maintained upstream by [@thenickdude](https://github.com/thenickdude) and we thank both of them for their excellent work. Upstream KVM changes are made at: [https://github.com/thenickdude/KVM-Opencore](https://github.com/thenickdude/KVM-Opencore) + +This project is a wrapper for the [OpenCore project](https://dortania.github.io/getting-started/) bootloader's fantastic tool called [macserial](https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/macserial). + +Many thanks to the [OpenCore Project](https://dortania.github.io/getting-started/) for providing `macserial`. See the project which drives Hackintosh: [https://github.com/acidanthera/OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) +As seen on Vice: [Open-Source App Lets Anyone Create a Virtual Army of Hackintoshes](https://www.vice.com/en/article/akdmb8/open-source-app-lets-anyone-create-a-virtual-army-of-hackintoshes) ### PR & Contributor Credits @@ -29,21 +34,23 @@ https://github.com/sickcodes/osx-serial-generator/blob/master/CREDITS.md - [Docker-OSX](https://github.com/sickcodes/Docker-OSX) - [OSX-KVM](https://github.com/kholia/OSX-KVM) +- [KVM-Opencore](https://github.com/thenickdude/KVM-Opencore) - [OpenCore](https://github.com/acidanthera/OpenCorePkg) - [Hackintosh](https://www.reddit.com/r/hackintosh/) # Purpose -These script were written by [@sickcodes](https://github.com/sickcodes) [https://twitter.com/sickcodes](https://twitter.com/sickcodes) for automating generating unique values at runtime in [Docker-OSX](https://github.com/sickcodes/Docker-OSX). +These shell scripts were written by [@sickcodes](https://github.com/sickcodes) [https://twitter.com/sickcodes](https://twitter.com/sickcodes) and were created for automating the generation of unique & valid values at runtime in [Docker-OSX](https://github.com/sickcodes/Docker-OSX). This is for generating sets of serial numbers that simply work. -If this is your first time, just run the first command below, without any options, and you will be given 1 complete set. +If this is your first time, just `bash ./generate-unique-machine-values.sh` and you will be given 1 complete serial number set. With your new serial numbers, you can: - put them in your existing `config.plist` and reboot - tell the script to make a new `OpenCore.qcow2` - output as TSV and CSV, and more! +- use `--help` to see all available goodies Used at runtime in [Docker-OSX](https://github.com/sickcodes/Docker-OSX). @@ -51,6 +58,8 @@ Used at runtime in [Docker-OSX](https://github.com/sickcodes/Docker-OSX). - [https://github.com/sickcodes/Docker-OSX](https://github.com/sickcodes/Docker-OSX): "Run Mac in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X!" +- [https://github.com/thenickdude/KVM-Opencore](https://github.com/thenickdude/KVM-Opencore): "OpenCore disk image for Proxmox/QEMU" + # Requirements ```bash @@ -273,3 +282,109 @@ In the case example of why these scripts were written is: --height "${HEIGHT:-1080}" \ --output-bootdisk "${BOOTDISK:=/home/arch/OSX-KVM/OpenCore-Catalina/OpenCore.qcow2}" ``` + + +# Special Update Notes + + + +----------------- + +2021-05-04 - On May 4th 2021 we updated from v11 to v12 via [@thenickdude](https://github.com/thenickdude)'s upstream `config.plist` files from [KVM-Opencore](https://github.com/thenickdude/KVM-Opencore). + +As seen in a PR to OSX-KVM upstream: [https://github.com/kholia/OSX-KVM/pull/173](https://github.com/kholia/OSX-KVM/pull/173) + +```bash +wget https://github.com/thenickdude/KVM-Opencore/compare/v11...v12.patch + +patch -F 10 -p1 --verbose config-nopicker-custom.plist v11...v12.patch + +patch -F 10 -p1 --verbose config-custom.plist v11...v12.patch +``` + +Rejected patch lines: +```patch +--- EFI/OC/config.plist ++++ EFI/OC/config.plist +@@ -224,17 +344,17 @@ + + + Base +- ++ \_SB.PCI0.LPCB.HPET + BaseSkip + 0 + Comment +- _Q12 to XQ12 ++ HPET _CRS to XCRS + Count + 1 + Enabled + + Find +- X1ExMg== ++ X0NSUw== + Limit + 0 + Mask +@@ -1056,9 +1302,9 @@ + AppleEvent + Builtin + CustomDelays +- Auto ++ + KeyInitialDelay +- 0 ++ 50 + KeySubsequentDelay + 5 + PointerSpeedDiv +--- src/OpenCorePkg ++++ src/OpenCorePkg +@@ -1 +1 @@ +-Subproject commit 5cd223f03dd555c2ad0c6f45181808a5105bb605 ++Subproject commit 5668fb62b50e8141d93ae6fce3e3fe238822f6ef +``` + + + +Replaced +```xml + Comment + _Q12 to XQ12 + +``` +with +```xml + Base + \_SB.PCI0.LPCB.HPET + BaseSkip + 0 + Comment + HPET _CRS to XCRS +``` + +and +```diff +- X1ExMg== ++ X0NSUw== +``` + + +Ignored: +```diff +@@ -1056,9 +1302,9 @@ + AppleEvent + Builtin + CustomDelays +- Auto ++ + KeyInitialDelay +- 0 ++ 50 + KeySubsequentDelay + 5 + PointerSpeedDiv +``` + +----------------- \ No newline at end of file From 896da79842f99eb7e285593104f8d6d313893f71 Mon Sep 17 00:00:00 2001 From: sickcodes Date: Tue, 15 Jun 2021 13:55:21 +0000 Subject: [PATCH 2/3] Patch v12 to v13, before manual edits --- README.md | 147 +++++++++++++++++++++++++++++++++++ config-custom.plist | 81 ++++++++++--------- config-nopicker-custom.plist | 81 ++++++++++--------- 3 files changed, 239 insertions(+), 70 deletions(-) diff --git a/README.md b/README.md index f764aed..36c7c07 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,153 @@ In the case example of why these scripts were written is: # Special Update Notes +2021-06-15 - On June 15th 2021 we updated the config.plist from v12 to v13 via [@thenickdude](https://github.com/thenickdude)'s upstream `config.plist` files from [KVM-Opencore](https://github.com/thenickdude/KVM-Opencore). + + +```bash +wget https://github.com/thenickdude/KVM-Opencore/compare/v12...v13.patch + +patch -F 10 -p1 --verbose config-nopicker-custom.plist v12...v13.patch + +patch -F 10 -p1 --verbose config-custom.plist v12...v13.patch + +``` + +Rejected patch lines: +```patch +--- EFI/OC/config.plist ++++ EFI/OC/config.plist +@@ -644,43 +644,6 @@ + + Patch + +- +- Arch +- Any +- Base +- _cpu_topology_sort +- Comment +- algrey - cpu_topology_sort -disable _x86_validate_topology +- Count +- 1 +- Enabled +- +- Find +- +- 6AAA//8= +- +- Identifier +- kernel +- Limit +- 0 +- Mask +- +- /wAA//8= +- +- MaxKernel +- 20.99.99 +- MinKernel +- 17.0.0 +- Replace +- +- Dx9EAAA= +- +- ReplaceMask +- +- +- Skip +- 0 +- + + Arch + Any +@@ -922,17 +891,19 @@ + Arguments + + Auxiliary +- ++ + Comment + Memory testing utility + Enabled + ++ Flavour ++ MemTest + Name +- memcheck ++ memtest86 + Path +- memcheck/memcheck.efi ++ memtest86/BOOTX64.efi + RealPath +- ++ + TextMode + + +@@ -981,11 +954,13 @@ + boot-args + keepsyms=1 + csr-active-config +- AAAAAA== ++ Jg8= + prev-lang:kbd + ZW4tVVM6MA== + run-efi-updater + No ++ ForceDisplayRotationInEFI ++ 0 + + + Delete +--- Makefile ++++ Makefile +@@ -63,7 +63,7 @@ OpenCore-$(RELEASE_VERSION).iso : OpenCore-$(RELEASE_VERSION).dmg + + OpenCoreEFIFolder-$(RELEASE_VERSION).zip : Makefile $(EFI_FILES) + rm -f $@ +- zip -r $@ EFI ++ zip -X -r $@ EFI + + %.gz : % + gzip -f --keep $< +--- src/AppleALC ++++ src/AppleALC +@@ -1 +1 @@ +-Subproject commit 3c2f6315e6aed0cc3c45a9f01f84ef42fb497044 ++Subproject commit 93be275a4495a1bdb7ff2c3238053f66b9c5195d +--- src/Lilu ++++ src/Lilu +@@ -1 +1 @@ +-Subproject commit 5aeba9f98106a5a8a3057712b74e1608faf5e276 ++Subproject commit 614712caa9d84b6e90305839bd74f3872a44a522 +--- src/MacKernelSDK ++++ src/MacKernelSDK +@@ -1 +1 @@ +-Subproject commit 2b584e8e2081ed22fc619151518921c8636d4639 ++Subproject commit e73a6fcd42c94b6a908ad9fe197034c8f4bf442a +--- src/OcBinaryData ++++ src/OcBinaryData +@@ -1 +1 @@ +-Subproject commit ccf3d0c36784100293ccfb2865e10cd37f7a78ee ++Subproject commit 6dd2d92383edee522052ebbe2c634c92894b37e6 +--- src/OpenCorePkg ++++ src/OpenCorePkg +@@ -1 +1 @@ +-Subproject commit 5668fb62b50e8141d93ae6fce3e3fe238822f6ef ++Subproject commit ae515dd0b1efe79940ce94bfd235399ba873a3f0 +--- src/VirtualSMC ++++ src/VirtualSMC +@@ -1 +1 @@ +-Subproject commit 2a7455daf65c356c867a1d65b8f2520ae575ee3e ++Subproject commit 30a3fa2bd920a15e41ef1439585bcc19885b89e3 +--- src/WhateverGreen ++++ src/WhateverGreen +@@ -1 +1 @@ +-Subproject commit 1daa2563b5e6e40f195aba5dc006e14c1d55dfd6 ++Subproject commit 79efd986ac5f4f17e09b880f25ea45be64863b2f +``` + ----------------- diff --git a/config-custom.plist b/config-custom.plist index 03593cd..2e5e276 100644 --- a/config-custom.plist +++ b/config-custom.plist @@ -444,38 +444,6 @@ PlistPath Contents/Info.plist - - BundlePath - AGPMInjector.kext - Comment - - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - BundlePath - USBPorts.kext - Comment - - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - Arch x86_64 @@ -584,6 +552,38 @@ PlistPath Contents/Info.plist + + BundlePath + USBPorts.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + AGPMInjector.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + Block @@ -732,7 +732,7 @@ ////////AAAAAP// MaxKernel - 20.99.99 + 21.99.99 MinKernel 20.4.0 Replace @@ -790,6 +790,8 @@ KernelCache Auto + ProvideCurrentCpuInfo + Misc @@ -867,6 +869,8 @@ 0 SecureBootModel Disabled + AllowToggleSip + Vault Optional @@ -881,6 +885,8 @@ Not signed for security reasons Enabled + Flavour + OpenShell:UEFIShell:Shell Name UEFI Shell Path @@ -895,6 +901,8 @@ Perform shutdown Enabled + Flavour + Auto Name Shutdown Path @@ -946,6 +954,7 @@ 7C436110-AB2A-4BBB-A880-FE41995C9F82 boot-args + ForceDisplayRotationInEFI LegacyEnable @@ -987,7 +996,7 @@ Generic - AdviseWindows + AdviseFeatures MLB {{BOARD_SERIAL}} @@ -1121,7 +1130,7 @@ AppleEvent AppleFramebufferInfo - + Disabled AppleImageConversion AppleImg4Verification @@ -1147,6 +1156,8 @@ OSInfo UnicodeCollation + AppleEg2Info + Quirks diff --git a/config-nopicker-custom.plist b/config-nopicker-custom.plist index bc7d99d..fbc6a7b 100644 --- a/config-nopicker-custom.plist +++ b/config-nopicker-custom.plist @@ -444,38 +444,6 @@ PlistPath Contents/Info.plist - - BundlePath - AGPMInjector.kext - Comment - - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - BundlePath - USBPorts.kext - Comment - - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - Arch x86_64 @@ -584,6 +552,38 @@ PlistPath Contents/Info.plist + + BundlePath + USBPorts.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + AGPMInjector.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + Block @@ -732,7 +732,7 @@ ////////AAAAAP// MaxKernel - 20.99.99 + 21.99.99 MinKernel 20.4.0 Replace @@ -790,6 +790,8 @@ KernelCache Auto + ProvideCurrentCpuInfo + Misc @@ -867,6 +869,8 @@ 0 SecureBootModel Disabled + AllowToggleSip + Vault Optional @@ -881,6 +885,8 @@ Not signed for security reasons Enabled + Flavour + OpenShell:UEFIShell:Shell Name UEFI Shell Path @@ -895,6 +901,8 @@ Perform shutdown Enabled + Flavour + Auto Name Shutdown Path @@ -946,6 +954,7 @@ 7C436110-AB2A-4BBB-A880-FE41995C9F82 boot-args + ForceDisplayRotationInEFI LegacyEnable @@ -987,7 +996,7 @@ Generic - AdviseWindows + AdviseFeatures MLB {{BOARD_SERIAL}} @@ -1121,7 +1130,7 @@ AppleEvent AppleFramebufferInfo - + Disabled AppleImageConversion AppleImg4Verification @@ -1147,6 +1156,8 @@ OSInfo UnicodeCollation + AppleEg2Info + Quirks From 5a41bb5cdafd4ea99ff34356243596d145b416e1 Mon Sep 17 00:00:00 2001 From: sickcodes Date: Tue, 15 Jun 2021 15:48:53 +0000 Subject: [PATCH 3/3] Delete lines 641 - 675 in both `config-custom.plist` and `config-nopicker-custom.plist` which is `_cpu_topology_sort`. Add ForceDisplayRotationInEFI --- README.md | 9 +++++++++ config-custom.plist | 37 ++---------------------------------- config-nopicker-custom.plist | 37 ++---------------------------------- 3 files changed, 13 insertions(+), 70 deletions(-) diff --git a/README.md b/README.md index 36c7c07..257455d 100644 --- a/README.md +++ b/README.md @@ -434,6 +434,15 @@ Rejected patch lines: +Subproject commit 79efd986ac5f4f17e09b880f25ea45be64863b2f ``` +Delete lines 641 - 675 in both `config-custom.plist` and `config-nopicker-custom.plist` which is `_cpu_topology_sort`. + +Add + +```diff ++ ForceDisplayRotationInEFI ++ 0 +``` + ----------------- diff --git a/config-custom.plist b/config-custom.plist index 2e5e276..4110732 100644 --- a/config-custom.plist +++ b/config-custom.plist @@ -638,41 +638,6 @@ Patch - - Base - _cpu_topology_sort - Comment - algrey - cpu_topology_sort -disable _x86_validate_topology - Count - 1 - Enabled - - Find - - 6AAA//8= - - Identifier - kernel - Limit - 0 - Mask - - /wAA//8= - - MaxKernel - 20.99.99 - MinKernel - 17.0.0 - Replace - - Dx9EAAA= - - ReplaceMask - - - Skip - 0 - Base @@ -934,6 +899,8 @@ -v keepsyms=1 tlbto_us=0 vti=9 run-efi-updater No + ForceDisplayRotationInEFI + 0 csr-active-config ZwAAAA== prev-lang:kbd diff --git a/config-nopicker-custom.plist b/config-nopicker-custom.plist index fbc6a7b..f16a291 100644 --- a/config-nopicker-custom.plist +++ b/config-nopicker-custom.plist @@ -638,41 +638,6 @@ Patch - - Base - _cpu_topology_sort - Comment - algrey - cpu_topology_sort -disable _x86_validate_topology - Count - 1 - Enabled - - Find - - 6AAA//8= - - Identifier - kernel - Limit - 0 - Mask - - /wAA//8= - - MaxKernel - 20.99.99 - MinKernel - 17.0.0 - Replace - - Dx9EAAA= - - ReplaceMask - - - Skip - 0 - Base @@ -934,6 +899,8 @@ -v keepsyms=1 tlbto_us=0 vti=9 run-efi-updater No + ForceDisplayRotationInEFI + 0 csr-active-config ZwAAAA== prev-lang:kbd