From 03842d4e77ee27e5ed7ba4e8f4eeabccb99a238b Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Sun, 26 Nov 2023 11:11:41 -0700 Subject: [PATCH] paylods: Resolve malformed CFBundleExecutable property --- CHANGELOG.md | 6 +++++ ...T1-v1.0.0.zip => corecrypto_T1-v1.0.1.zip} | Bin 490217 -> 490327 bytes ...Cap-v2.0.0.zip => IO80211ElCap-v2.0.1.zip} | Bin 2729024 -> 2729113 bytes ...v1.0.1.zip => corecaptureElCap-v1.0.2.zip} | Bin 57549 -> 57645 bytes resources/build/support.py | 21 ++++++++++++++++++ resources/constants.py | 6 ++--- 6 files changed, 30 insertions(+), 3 deletions(-) rename payloads/Kexts/Misc/{corecrypto_T1-v1.0.0.zip => corecrypto_T1-v1.0.1.zip} (99%) rename payloads/Kexts/Wifi/{IO80211ElCap-v2.0.0.zip => IO80211ElCap-v2.0.1.zip} (99%) rename payloads/Kexts/Wifi/{corecaptureElCap-v1.0.1.zip => corecaptureElCap-v1.0.2.zip} (95%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06b7d3d1ef..499a6a99d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # OpenCore Legacy Patcher changelog ## 1.3.0 +- Resolve mismatched `CFBundleExecutable` and binary name for kexts. + - Resolves ProperTree binary detection (Thanks @CorpNewt). + - Applicable extensions: + - corecrypto_T1.kext + - corecaptureElCap.kext + - IO80211ElCap.kext ## 1.2.1 - Resolve `TeraScale 2 Acceleration` checkbox in Settings not being saved diff --git a/payloads/Kexts/Misc/corecrypto_T1-v1.0.0.zip b/payloads/Kexts/Misc/corecrypto_T1-v1.0.1.zip similarity index 99% rename from payloads/Kexts/Misc/corecrypto_T1-v1.0.0.zip rename to payloads/Kexts/Misc/corecrypto_T1-v1.0.1.zip index 128abda13003beac6ed0246d6185c170ff7f93bf..d38cda1f4daebbb3e9150ecaa183219e8c25698c 100644 GIT binary patch delta 1554 zcmaF)RrdNf*$H;c>}|;t9V3`ifz+H;+$z=4MOq$9@67(GG&zt_TXN6L!;8)^Fff!c zGB5;qGqZ>Q*$fP4!m1`uWi;XrY)eiBYD@*v6CI_PLBj7DZQ#OSGc_k4U~ZZGn8}@) z6|8EqJF_puHjqq*Fi=xC*iay`jDvwejX`0$Lpi(bO8)VT3SE0K7QEM+|aJH$Yx*JyyoARy`L{D4ElfXm3eb~ zvzeD)B@wPKH{D zc#- z?OhuirghKtZtVTY&1Zk_?s4adGGJA^bmyW#(&SSMTh01?mnBQzpXWRy(t&9oo8GiJV;Ez%LQXU(soj4v|bIW_$% zts;HZvJ(oNk~qXN8SCH85W8hiud^iX_zQi}_ATLC+h1LtAw2hF(`o6?8=WF&Ni7%P zmALrcNiEA;Skv=gYWDFnA@}R=ZhewxQf;Ois@J_&^vP!boByR`*NJi&oB0-;;OO7@ zJuE4Ea&zjl`l@?VWwl_m zuz5DAYz13Me<beL+y-XSJRYb55Io*F1z${m*SsuD_Ra2@V8z#`mHo!UA)h8 zj_b9bFHI|Xe&x;9fMr|4I9~K}FPb!Ig5A2)|CxIy*9UmBbEMZFcyyWxk`KVSO@x61 z2$8c$0^{U~?2s%5${64*rc?ilF;ii_VPm7l0|_A^mc+&qgDwV1y9}?01&^3`c!Ey; z+*#Gh%4)f?%ChsQ>e8btH8nd`SDs=#7+@UI&?3p)tl<=!n3)uq6z7>1r{!VC<*~uY z;6&q-V&Tc%pNboAb${&&E)JUPZS?tblhEf&!3)!lHgmACNt$d;oq2Sor)B)gd6k+g zMR|Dc0#YXHmil(T!mWuSU;L9PHPDF>SZGMpC_Mex|0 z{-pwH9<=NNo2Lj;gXAd&Lk0y{!N;(qv6h`-@_$Cz$@wgtllQO-f-Qx{Fj)KaTb1l` zOwT!{+n2M;O`liA&Nf}Hid_ok7MbbcRqS%i^Gn!4rcCFrV&|V;Rl+W#33N1i(HY>) T$_BET3kZ8y7#Oyeu>*MkC+Byv delta 1394 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 delta 3316 zcmZ`+30PBC7S8rCktM+iy97`|xvW7zM2BHfihyVUDJl>WK+rJ|7H!p512~8bvIcUA zEMXJTkwp<{r!vxt`)H|tihNc;MX`P;1*#PlJNG5<4DC1Y{egGSIsg67x$m3{imOfJ zo-0k{VlSH6R)0~6FPE%WlEkCMp$AwSjRD9KVRUJ6CWY!WY`ka@O_a4uOnzkR#$Crx zV`^!A7zWL)C7MK4z+j_n#wRpUP&0{63LV`Qv7CfG?7uM z>xdLHVPp|t%SNd@!t6#{Pnf?lpp)n%UO`@%YG?EjLno2A&?N@rz|3O6)Ny#4Ds)1? zHOTlFN7}bCa8<9OcZG?~`v3Me$^^R-`0bY{$Nla-EO~3X@AN{QX|lcIUZmFRRo~v) z-15`y%VpW_hMuBla3ogWdM@tP#XJmgnb=+I) z66t%_o8Vxdwij#N%pQ7~)<0xsRO4VU&7^x&7UZ3f+PcPVH>kMa!z;{jI2I(XCArE^ z)!h=`i7js!ykuS4aA3pBg|J~NyYG#ue{ku;fph!QMX!AK{cx1OwP@_2BIEsyoE!1f zLg${w^AA(?dhB9MpVB<4FgdoitS>A#Hty#n zrdS{yi;$*NzBb||o?}~Y4*F%>In`muid2U$>CX$a_8TgO4~OvsMtp`B=erk%#Q1rC zX3u5P@>7;S`Sh{2$bQLy)f5^X~d|R}M2I`0`Ng#x9BEsV@JF zA44yA@Isr-Z*_W=&WhrY^0$utx2&%gJFIbja{TS~I%#%BIr}o%e=;l2O_}n|yy+^@S9!U_~PM~G1h_iW8(wkO6P-yRDK&Ru`kY#!P2e&D^Bd1ydwgkj} zaq>TUGd;Ivqyq*eSz9_+T9mELRz7HJG8R8R@neK%lxL3h=4W0nl}F{(r8z$JmGv*% zo=*>qZDP5Hm5)*a4n^udsOofVx_T#Kdv33;+|1@PyXNYh=887SwUeo5TGo_BpJv`| zf7Ba2lBP60v1-JtUC^`NmYZMx_of-)9ohAnwXKI&FB)GEVzha%u>LnJ`psl%@~Sbz z-@&1t?m@{GVe0jYuMD@lM{kOK+;HG`yuG@{-%qqt)UUL&jf{eZ7qwfpoY|yB{HH^&3oV?BljYMj6gx4 zBG9@nGO+$IqMZlknjFewuz2-yW*k-m3kBE~O&bdu#9|vY96rQiu_^~B5@Oi|p=v@t zrUj^`rwL@mVPYcaSDMf4a!EXvOe~kcehAp`SOVhTFzaBv6-y^LiyWG8FnTmb1QSeiP1UkWzz zr}#JNNYh+=ZU(lS5cn08?!-P753{xAqu zF~Elfz)bgCP5)Z;Erl*AxV!-TP3KUFK@n?Ok+;81r`)Ld}55@^c?DfEvL;UMmC z8#y2nE|gXQ9mp#J^p8668<0b7psFaWVO0^()d;_W8)>xJaJ^z+sE)+bx56(*%_+jw z$gnZ%E{ei4{PRVrN>LR}bTPW&dGn&D7pV7?Mbq`?k05+&=vIPsu^1oo){-?dOf-bI zAqUEE6zov|8#r7K=y0Y4m=I~(LtYF<)0sPv7rx!mP`?Jb_SB;8EGnH>gjxk)!Rw_! zkK!7G6FNc5GQfaCF_@_aVU!Fx*b4|6Eyzp9nDD*;(<~^?#aykC>Wi#;I3WY!1d|zz zFGJcZV{s-Q$QRCwAIEJ*LbVL9asV{qa>|j-Nkk|x$6qe^q8uGJKB81*hio}=Y7yZC ztKk=NV5C9Ng4cn}RA|a^D7*xmDiHcq zpnBrd4u)0$PfBM3{6&eDQ3z89U&b-_PTNB>1uEpfwh}6qLSYTS;E)(8AUXu1LUPDF zcwPZS>I__}fdyQB1ej7hl89Jy)!PR@B+bPlFMIgx2-<fw5$>F>1{&Mlz&(mivtfxC3xw-C z*ybAH8TH5*_JD(jyQ%9~T!$KGynb$sphPU7Z3CKfX@eZ7FT}hd>oD5IeTcJ!NY!3H zd0vsj@&TMsf>2x#18!&pRscV`UAwhOWZEk-iKO~Rfgg-%;q7gQzAqV(NC}4ldio!) C1<-i_ diff --git a/payloads/Kexts/Wifi/corecaptureElCap-v1.0.1.zip b/payloads/Kexts/Wifi/corecaptureElCap-v1.0.2.zip similarity index 95% rename from payloads/Kexts/Wifi/corecaptureElCap-v1.0.1.zip rename to payloads/Kexts/Wifi/corecaptureElCap-v1.0.2.zip index fa7bcbe5435b45a05d2d6a33fd61349eddd0259f..77b9b9fe149e5e7bf244711df900505f33aea140 100644 GIT binary patch delta 1508 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 None: logging.info(f"- Found extra driver: {driver_file.name}") raise Exception(f"Found extra driver: {driver_file.name}") + self._validate_malformed_kexts(self.constants.opencore_release_folder / Path("EFI/OC/Kexts")) + + + def _validate_malformed_kexts(self, directory: str | Path) -> None: + """ + Validate Info.plist and executable pathing for kexts + """ + for kext_folder in Path(directory).glob("*.kext"): + if not Path(kext_folder / Path("Contents/Info.plist")).exists(): + continue + + kext_data = plistlib.load(Path(kext_folder / Path("Contents/Info.plist")).open("rb")) + if "CFBundleExecutable" in kext_data: + expected_executable = Path(kext_folder / Path("Contents/MacOS") / Path(kext_data["CFBundleExecutable"])) + if not expected_executable.exists(): + logging.info(f"- Missing executable for {kext_folder.name}: Contents/MacOS/{expected_executable.name}") + raise Exception(f" - Missing executable for {kext_folder.name}: Contents/MacOS/{expected_executable.name}") + + if Path(kext_folder / Path("Contents/PlugIns")).exists(): + self._validate_malformed_kexts(kext_folder / Path("Contents/PlugIns")) + def cleanup(self) -> None: """ diff --git a/resources/constants.py b/resources/constants.py index 5b3fd66305..49419324b1 100644 --- a/resources/constants.py +++ b/resources/constants.py @@ -69,13 +69,13 @@ def __init__(self) -> None: self.apple_camera_version: str = "1.0.0" # AppleCameraInterface (14.0 Beta 1) self.t1_sse_version: str = "1.1.0" # AppleSSE (13.6 - T1 support) self.t1_key_store_version: str = "1.1.0" # AppleKeyStore (13.6 - T1 support) - self.t1_corecrypto_version: str = "1.0.0" # corecrypto (13.6 - T1 support) + self.t1_corecrypto_version: str = "1.0.1" # corecrypto (13.6 - T1 support) ## Apple - Dortania Modified self.bcm570_version: str = "1.0.2" # CatalinaBCM5701Ethernet self.i210_version: str = "1.0.0" # CatalinaIntelI210Ethernet - self.corecaptureelcap_version: str = "1.0.1" # corecaptureElCap - self.io80211elcap_version: str = "2.0.0" # IO80211ElCap + self.corecaptureelcap_version: str = "1.0.2" # corecaptureElCap + self.io80211elcap_version: str = "2.0.1" # IO80211ElCap self.io80211legacy_version: str = "1.0.0" # IO80211FamilyLegacy (Ventura) self.ioskywalk_version: str = "1.0.0" # IOSkywalkFamily (Ventura) self.bigsursdxc_version: str = "1.0.0" # BigSurSDXC