NightPatch ํจ์นํ์ผ ๋ง๋ค๊ธฐ
NightPatch๋ CoreBrightness ํ๋ ์์ํฌ๋ฅผ ์์ ํด์ Night Shift๋ฅผ ์ง์ํ๋ ์ต์ ๋งฅ ๋ชจ๋ธ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด์ Hex ์ฝ๋ ์์ ์ด ํ์ํ๋ค.
์ผ๋จ ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์. ๋น์ฐํ SIP (rootless) ํด์ ๊ฐ ํ์ํ๋ค.
$ sudo cp /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness-patch
๊ทธ ๋ค์์ iHex ๊ฐ์ Hex ์๋ํฐ๋ฅผ ์ค๋นํ์. ๊ทธ๋ฆฌ๊ณ /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness-patch๋ฅผ ์คํํด์, ์๋ ๋ฌธ์๋ฅผ ๊ฒ์ํ๋ค. (cmd+F๋ก ๊ฒ์ ๊ฐ๋ฅํ๋ค.)
0900 0000 0d00 0000 0600 0000 0500 0000
๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ ๋ ์ค์ ํ์ธํ ์ ์๋ค.
0900 0000 0d00 0000 0600 0000 0500 0000
0600 0000 0800 0000
์ฌ๊ธฐ์ 9, d, 6, 5, 6, 8 ๊ฐ์ ์น๋ค 1๋ก ๋ณ๊ฒฝํ๊ณ ์ ์ฅํ๋ค. ์๋์ ๊ฐ์ด.
0100 0000 0100 0000 0100 0000 0100 0000
0100 0000 0100 0000
๊ทธ๋ฆฌ๊ณ ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
$ sudo codesign -f -s - /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness-patch
$ sudo codesign -f -s - /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness
๋ง์ฝ์ ์ด ๊ณผ์ ์์ main executable failed strict validation ์ค๋ฅ๊ฐ ๋ฌ๋ค๋ฉด ๋ญ๊ฐ ์๋ชป๋ ๊ฒ์ด๋ค. ๋ฐ๋์ replacing existing signature์ด ๋ ์ผ ํ๋ค.
$ bsdiff /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness-patch ~/Desktop/$(sw_vers -buildVersion).patch
$ sudo rm /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness-patch
๋ง์ฝ์ bsdiff๊ฐ ์๋ค๋ฉด brew๋ก ํตํด ์ค์นํด์ฃผ์. ๋ช ๋ น์ ์คํํ๋ฉด ๋ฐํํ๋ฉด์ ํจ์น ํ์ผ์ด ๋ณด์ผ ๊ฒ์ด๋ค.
์ด์ NightPatch๋ฅผ ๋ฐํํ๋ฉด์ cloneํด์ค๋ค.
$ cd ~/Desktop; git clone https://github.com/pookjw/NightPatch
๊ทธ๋ฆฌ๊ณ ~/Desktop/NightPatch/patch์ ๋ฐฉ๊ธ ์ ์ ๋ฐํํ๋ฉด์ ๋ง๋ ํจ์น ํ์ผ์ ๋ฃ์ด์ค๋ค.
์ด์ NightPatch๋ฅผ ์คํํ๋ค.
$ cd ~/Desktop/NightPatch
$ ./NightPatch.sh -skipCheckSHA
















