From 548d2577783f1583a4a2380027e1c5cd5b045d1f Mon Sep 17 00:00:00 2001 From: Floris497 Date: Tue, 27 Sep 2016 00:29:16 +0200 Subject: [PATCH 1/2] 10.12 IOKit Nvidia experimental. --- IOKit-patcher.command | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/IOKit-patcher.command b/IOKit-patcher.command index 7f64570..634c08d 100755 --- a/IOKit-patcher.command +++ b/IOKit-patcher.command @@ -58,6 +58,7 @@ oToolIOKitUnpatched=( 630fd968d68a0255c790e3af60c3dd86 '10.11.6' 6 eec08b5bc022d7dc7b3e7bdfc65f2c4c '10.12 16A201w' 7 21272ae806c3b4ddc593c34ba5d586c0 '10.12 16A254g' 7 + ae74383a4ad6b423d0f5a858cdd31744 '10.12 release' 7 ) # md5 checksum of '(__DATA,__data)' section exported by otool from patched IOKits @@ -71,6 +72,7 @@ oToolIOKitPatched=( 1190e8a79357e4358f4743740f6e0ae3 '10.11.6' 7e2b43ddd2d3b7898dd90704218d5381 '10.12 16A201w' 0ed77ee06dbeed3b6558f6ac7f14cc40 '10.12 16A254g' + cccfab8f0ef23c1c017453f87fb8594e '10.12 release' ) function makeExit { @@ -92,8 +94,8 @@ function SIPInfo { function help { printf "using this script without input will patch IOKit if supported version found\n" - printf "patch [v1-v6]\t patch on a specific version\n" - printf "\t\t eg. $(basename $thiscommand) patch v6\n" + printf "patch [v1-v7]\t patch on a specific version\n" + printf "\t\t eg. $(basename $thiscommand) patch v7\n" printf "unpatch\t\t undo patch\n" printf "status\t\t Shows you if you have an known or unknown patch\n" printf "md5\t\t gives all your md5 hashes\n" From 8768bb6b816af92414115b646f43904f64ae5384 Mon Sep 17 00:00:00 2001 From: Floris497 Date: Thu, 29 Sep 2016 22:13:37 +0200 Subject: [PATCH 2/2] New patch for 10.12 release --- CoreDisplay-patcher.command | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/CoreDisplay-patcher.command b/CoreDisplay-patcher.command index c990bde..1deecbd 100755 --- a/CoreDisplay-patcher.command +++ b/CoreDisplay-patcher.command @@ -23,7 +23,7 @@ oToolCoreDisplayUnpatched=( f4c6e84ffa97e06624e5504edd87bf7d '10.12 16A284a' 1 # I don't know why these two are different 4cba52b41ceee7bc658020c9e58780a3 '10.12 16A294a' 1 d41d8cd98f00b204e9800998ecf8427e '10.12 16A313a' 1 - aa7607dd72a2a4ca70ce094a2fc39cce '10.12 ' 1 # Sierra 10.12 release + aa7607dd72a2a4ca70ce094a2fc39cce '10.12 ' 2 # Sierra 10.12 release ) # md5 checksum of '(__DATA,__data)' section exported by otool from patched CoreDisplays @@ -33,7 +33,8 @@ oToolCoreDisplayPatched=( 82f97933a3ae90d47054316fa8259f6c '10.12 16A284a' 1371f71ca7949cfbe01ede8e8b52e61d '10.12 16A294a' f9c185d9e4c4ba12d5ecf41483055e39 '10.12 16A313a' - eb27b5d68e9fb15aa65ea0153637eae2 '10.12 ' # Sierra 10.12 release + eb27b5d68e9fb15aa65ea0153637eae2 '10.12 patch 1' # Sierra 10.12 release + 996d5f073e016989518ad088ce4b5db7 '10.12 patch 2' # Sierra 10.12 release ) function makeExit { @@ -55,8 +56,8 @@ function SIPInfo { function help { printf "using this script without input will patch CoreDisplay if supported version found\n" - printf "patch [v1-v6]\t patch on a specific version\n" - printf "\t\t eg. $(basename $thiscommand) patch v1\n" + printf "patch [v1-v2]\t patch on a specific version\n" + printf "\t\t eg. $(basename $thiscommand) patch v2\n" printf "unpatch\t\t undo patch\n" printf "status\t\t Shows you if you have an known or unknown patch\n" printf "md5\t\t gives all your md5 hashes\n" @@ -89,6 +90,12 @@ function CoreDisplayPatch { printf "Re-singing $CoreDisplayLocation\n" sudo codesign -f -s - $CoreDisplayLocation ;; + 2) printf "Patching CoreDisplay with patch version 1\n" + sudo perl -i.bak -pe '$before = qr"\x4E\x20\xB8\x01\x00\x00\x00\xF6\xC1\x01\x0F\x85\x05\x04\x00\x00"s;s/$before/\x4E\x20\x31\xC0\x90\x90\x90\x90\x90\x90\xE9\x06\x04\x00\x00\x90/g' $CoreDisplayLocation + sudo touch /System/Library/Extensions + printf "Re-singing $CoreDisplayLocation\n" + sudo codesign -f -s - $CoreDisplayLocation + ;; *) printf "This patch does not exist, make sure you used the right patch identfier\n" exit ;;