diff --git a/README.md b/README.md
index b7c469b..7ab3d52 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
@@ -276,3 +285,265 @@ 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-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
+```
+
+Delete lines 641 - 675 in both `config-custom.plist` and `config-nopicker-custom.plist` which is `_cpu_topology_sort`.
+
+Add
+
+```diff
++ ForceDisplayRotationInEFI
++ 0
+```
+
+
+-----------------
+
+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
diff --git a/config-custom.plist b/config-custom.plist
index 03593cd..4110732 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
@@ -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
@@ -732,7 +697,7 @@
////////AAAAAP//
MaxKernel
- 20.99.99
+ 21.99.99
MinKernel
20.4.0
Replace
@@ -790,6 +755,8 @@
KernelCache
Auto
+ ProvideCurrentCpuInfo
+
Misc
@@ -867,6 +834,8 @@
0
SecureBootModel
Disabled
+ AllowToggleSip
+
Vault
Optional
@@ -881,6 +850,8 @@
Not signed for security reasons
Enabled
+ Flavour
+ OpenShell:UEFIShell:Shell
Name
UEFI Shell
Path
@@ -895,6 +866,8 @@
Perform shutdown
Enabled
+ Flavour
+ Auto
Name
Shutdown
Path
@@ -926,6 +899,8 @@
-v keepsyms=1 tlbto_us=0 vti=9
run-efi-updater
No
+ ForceDisplayRotationInEFI
+ 0
csr-active-config
ZwAAAA==
prev-lang:kbd
@@ -946,6 +921,7 @@
7C436110-AB2A-4BBB-A880-FE41995C9F82
boot-args
+ ForceDisplayRotationInEFI
LegacyEnable
@@ -987,7 +963,7 @@
Generic
- AdviseWindows
+ AdviseFeatures
MLB
{{BOARD_SERIAL}}
@@ -1121,7 +1097,7 @@
AppleEvent
AppleFramebufferInfo
-
+ Disabled
AppleImageConversion
AppleImg4Verification
@@ -1147,6 +1123,8 @@
OSInfo
UnicodeCollation
+ AppleEg2Info
+
Quirks
diff --git a/config-nopicker-custom.plist b/config-nopicker-custom.plist
index bc7d99d..f16a291 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
@@ -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
@@ -732,7 +697,7 @@
////////AAAAAP//
MaxKernel
- 20.99.99
+ 21.99.99
MinKernel
20.4.0
Replace
@@ -790,6 +755,8 @@
KernelCache
Auto
+ ProvideCurrentCpuInfo
+
Misc
@@ -867,6 +834,8 @@
0
SecureBootModel
Disabled
+ AllowToggleSip
+
Vault
Optional
@@ -881,6 +850,8 @@
Not signed for security reasons
Enabled
+ Flavour
+ OpenShell:UEFIShell:Shell
Name
UEFI Shell
Path
@@ -895,6 +866,8 @@
Perform shutdown
Enabled
+ Flavour
+ Auto
Name
Shutdown
Path
@@ -926,6 +899,8 @@
-v keepsyms=1 tlbto_us=0 vti=9
run-efi-updater
No
+ ForceDisplayRotationInEFI
+ 0
csr-active-config
ZwAAAA==
prev-lang:kbd
@@ -946,6 +921,7 @@
7C436110-AB2A-4BBB-A880-FE41995C9F82
boot-args
+ ForceDisplayRotationInEFI
LegacyEnable
@@ -987,7 +963,7 @@
Generic
- AdviseWindows
+ AdviseFeatures
MLB
{{BOARD_SERIAL}}
@@ -1121,7 +1097,7 @@
AppleEvent
AppleFramebufferInfo
-
+ Disabled
AppleImageConversion
AppleImg4Verification
@@ -1147,6 +1123,8 @@
OSInfo
UnicodeCollation
+ AppleEg2Info
+
Quirks