Jump to content

PMheart

Coders
  • Content Count

    947
  • Joined

  • Last visited

  • Days Won

    24

Reputation Activity

  1. Like
    PMheart got a reaction from nmano in Clover General discussion   
    Hi again,
     
    I have cleaned up kext_inject.c once more. (See here)
    Now that a friend has confirmed that it did work, let me post the diff here.
     
    --- kext_inject_org.c 2019-01-25 10:20:46.000000000 +0800 +++ kext_inject_mod.c 2019-01-25 10:42:03.000000000 +0800 @@ -665,16 +665,30 @@ UINT8 KBEMojaSearchEXT[] = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 }; UINT8 KBEMojaReplaceEXT[] = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 }; -// High Sierra/Mojave (SIP) -// PMheart: checked KBEHighSie*SIP +// High Sierra / Mojave 10.14 - 10.14.3 (SIP) +// PMheart: for 10.14.4+, see KBEMoja4SearchSIP and KBEMoja4ReplaceSIP below +// PMheart: checked KBEHighSieMoja3*SIP // Need to pair with KBEMoja*EXT -UINT8 KBEHighSieMojaSearchSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x69, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; -UINT8 KBEHighSieMojaReplaceSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; +UINT8 KBEHighSieMoja3SearchSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x69, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; +UINT8 KBEHighSieMoja3ReplaceSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; +// Mojave 10.14.4+ (SIP) +// PMheart: checked KBEMoja4*SIP +// Need to pair with KBEMoja*EXT +UINT8 KBEMoja4SearchSIP[] = { 0x48, 0x85, 0xC0, 0x74, 0x6C, 0x48, 0x89, 0xC3, 0x48, 0x8B, 0x00, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; +UINT8 KBEMoja4ReplaceSIP[] = { 0x48, 0x85, 0xC0, 0xEB, 0x15, 0x48, 0x89, 0xC3, 0x48, 0x8B, 0x00, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; + +// Mojave 10.14 - 10.14.3 // Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1. -UINT8 KBEMojaSearchKxldUnmap[] = { 0x00, 0x0F, 0x85, 0xB2, 0x01, 0x00, 0x00, 0x48 }; -UINT8 KBEMojaReplaceKxldUnmap[] = { 0x00, 0x90, 0xE9, 0xB2, 0x01, 0x00, 0x00, 0x48 }; +// by vit9696 +UINT8 KBEMoja3SearchKxldUnmap[] = { 0x00, 0x0F, 0x85, 0xB2, 0x01, 0x00, 0x00, 0x48 }; +UINT8 KBEMoja3ReplaceKxldUnmap[] = { 0x00, 0x90, 0xE9, 0xB2, 0x01, 0x00, 0x00, 0x48 }; +// Mojave 10.14.4+ +// Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1. +// by PMheart, based on vit9696's work +UINT8 KBEMoja4SearchKxldUnmap[] = { 0x00, 0x0F, 0x85, 0xB1, 0x01, 0x00, 0x00, 0x48 }; +UINT8 KBEMoja4ReplaceKxldUnmap[] = { 0x00, 0x90, 0xE9, 0xB1, 0x01, 0x00, 0x00, 0x48 }; // // We can not rely on OSVersion global variable for OS version detection, @@ -689,100 +703,114 @@ VOID EFIAPI KernelBooterExtensionsPatch(IN UINT8 *Kernel, LOADER_ENTRY *Entry) { UINTN Num = 0; - UINTN NumSnow_i386 = 0; - UINTN NumSnow_X64 = 0; - UINTN NumLion_i386 = 0; - UINTN NumLion_X64 = 0; - UINTN NumMLMav = 0; - UINTN NumMLDebug = 0; - UINTN NumYos = 0; - UINTN NumMavYosDebug = 0; - UINTN NumEC = 0; - UINTN NumECDebug = 0; - UINTN NumSie = 0; - UINTN NumSieDebug = 0; - UINTN NumHighSieMoja = 0; - UINTN NumMoja = 0; + UINTN NumSnow_i386_EXT = 0; + UINTN NumSnow_X64_EXT = 0; + UINTN NumLion_i386_EXT = 0; + UINTN NumLion_X64_EXT = 0; + UINTN NumMLMavEXT = 0; + UINTN NumMLDebugEXT = 0; + UINTN NumYosEXT = 0; + UINTN NumMavYosDebugEXT = 0; + UINTN NumECSIP = 0; + UINTN NumECDebugSIP = 0; + UINTN NumSieSIP = 0; + UINTN NumSieDebugSIP = 0; + UINTN NumHighSieMoja3SIP = 0; // 10.13.X - 10.14.3 + UINTN NumMojaEXT = 0; // 10.14.X + UINTN NumMoja4SIP = 0; // 10.14.4+ DBG_RT(Entry, "\nPatching kernel for injected kexts...\n"); if (is64BitKernel) { - NumSnow_X64 = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_X64, sizeof(KBESnowSearchEXT_X64)); - NumLion_X64 = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_X64, sizeof(KBELionSearchEXT_X64)); - NumMLMav = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMLMavSearchEXT, sizeof(KBEMLMavSearchEXT)); - //NumMLDebug = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMLDebugSearchEXT, sizeof(KBEMLDebugSearchEXT)); - NumYos = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEYosECSieHighSearchEXT, sizeof(KBEYosECSieHighSearchEXT)); - //NumMavYosDebug = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMavYosDebugSearchEXT, sizeof(KBEMavYosDebugSearchEXT)); - NumEC = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEECSearchSIP, sizeof(KBEECSearchSIP)); - //NumECDebug = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchSIP, sizeof(KBEECDebugSearchSIP)); - NumSie = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieSearchSIP, sizeof(KBESieSearchSIP)); - NumSieDebug = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieDebugSearchSIP, sizeof(KBESieDebugSearchSIP)); - NumHighSieMoja = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEHighSieMojaSearchSIP, sizeof(KBEHighSieMojaSearchSIP)); - NumMoja = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT)); - } - else { - NumSnow_i386 = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_i386, sizeof(KBESnowSearchEXT_i386)); - NumLion_i386 = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_i386, sizeof(KBELionSearchEXT_i386)); + NumSnow_X64_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_X64, sizeof(KBESnowSearchEXT_X64)); + NumLion_X64_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_X64, sizeof(KBELionSearchEXT_X64)); + NumMLMavEXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMLMavSearchEXT, sizeof(KBEMLMavSearchEXT)); + //NumMLDebugEXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMLDebugSearchEXT, sizeof(KBEMLDebugSearchEXT)); + NumYosEXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEYosECSieHighSearchEXT, sizeof(KBEYosECSieHighSearchEXT)); + //NumMavYosDebugEXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMavYosDebugSearchEXT, sizeof(KBEMavYosDebugSearchEXT)); + NumECSIP = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEECSearchSIP, sizeof(KBEECSearchSIP)); + //NumECDebugSIP = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchSIP, sizeof(KBEECDebugSearchSIP)); + NumSieSIP = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieSearchSIP, sizeof(KBESieSearchSIP)); + NumSieDebugSIP = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieDebugSearchSIP, sizeof(KBESieDebugSearchSIP)); + NumHighSieMoja3SIP = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEHighSieMoja3SearchSIP, sizeof(KBEHighSieMoja3SearchSIP)); + NumMojaEXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT)); // general EXT patch, for all 10.14.x + NumMoja4SIP = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMoja4SearchSIP, sizeof(KBEMoja4SearchSIP)); // SIP patch, ONLY for 10.14.4+ + } else { + NumSnow_i386_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_i386, sizeof(KBESnowSearchEXT_i386)); + NumLion_i386_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_i386, sizeof(KBELionSearchEXT_i386)); } - if (NumSnow_i386 + NumSnow_X64 + NumLion_i386 + NumLion_X64 + NumMLMav > 1) { + if (NumSnow_i386_EXT + NumSnow_X64_EXT + NumLion_i386_EXT + NumLion_X64_EXT + NumMLMavEXT > 1) { // more then one pattern found - we do not know what to do with it // and we'll skipp it - AsciiPrint("\nERROR patching kernel for injected kexts:\nmultiple patterns found (Snowi386: %d, SnowX64: %d, Lioni386: %d, LionX64: %d, MLMav: %d) - skipping patching!\n", NumSnow_i386, NumSnow_X64, NumLion_i386, NumLion_X64, NumMLMav); + AsciiPrint("\nERROR patching kernel for injected kexts:\nmultiple patterns found (Snowi386: %d, SnowX64: %d, Lioni386: %d, LionX64: %d, MLMav: %d) - skipping patching!\n", NumSnow_i386_EXT, NumSnow_X64_EXT, NumLion_i386_EXT, NumLion_X64_EXT, NumMLMavEXT); gBS->Stall(10000000); return; } // X64 - if (NumMoja == 1) { - Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT), KBEMojaReplaceEXT, 1) + - SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEHighSieMojaSearchSIP, sizeof(KBEHighSieMojaSearchSIP), KBEHighSieMojaReplaceSIP, 1) + - SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchKxldUnmap, sizeof(KBEMojaSearchKxldUnmap), KBEMojaReplaceKxldUnmap, 1); - DBG_RT(Entry, "==> kernel Mojave: %d replaces done.\n", Num); - } else if (NumHighSieMoja == 1) { + if (NumMojaEXT == 1) { + // apply EXT patch first + Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT), KBEMojaReplaceEXT, 1); + // then apply corresponding patches based on what we found + if (NumMoja4SIP == 1) { + // firstly, try to patch 10.14.4+ + Num += SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMoja4SearchSIP, sizeof(KBEMoja4SearchSIP), KBEMoja4ReplaceSIP, 1) + + SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMoja4SearchKxldUnmap, sizeof(KBEMoja4SearchKxldUnmap), KBEMoja4ReplaceKxldUnmap, 1); + DBG_RT(Entry, "==> kernel Mojave (10.14.4+): %d replaces done.\n", Num); + } else if (NumHighSieMoja3SIP == 1) { + // then 10.14 - 10.14.3 + Num += SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEHighSieMoja3SearchSIP, sizeof(KBEHighSieMoja3SearchSIP), KBEHighSieMoja3ReplaceSIP, 1) + + SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMoja3SearchKxldUnmap, sizeof(KBEMoja3SearchKxldUnmap), KBEMoja3ReplaceKxldUnmap, 1); + DBG_RT(Entry, "==> kernel Mojave (10.14 - 10.14.3): %d replaces done.\n", Num); + } else { + // no SIP and KxldUnmap pattern found! + DBG_RT(Entry, "==> kernel Mojave WARNING: pattern NOT found - only %d replaces done.\nKext Injection will NOT work!\n", Num); + } + } else if (NumHighSieMoja3SIP == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEYosECSieHighSearchEXT, sizeof(KBEYosECSieHighSearchEXT), KBEYosECSieHighReplaceEXT, 1) + - SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEHighSieMojaSearchSIP, sizeof(KBEHighSieMojaSearchSIP), KBEHighSieMojaReplaceSIP, 1); + SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEHighSieMoja3SearchSIP, sizeof(KBEHighSieMoja3SearchSIP), KBEHighSieMoja3ReplaceSIP, 1); DBG_RT(Entry, "==> kernel High Sierra: %d replaces done.\n", Num); - } else if (NumSieDebug == 1) { + } else if (NumSieDebugSIP == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBESieDebugSearchEXT, sizeof(KBESieDebugSearchEXT), KBESieDebugReplaceEXT, 1) + SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBESieDebugSearchSIP, sizeof(KBESieDebugSearchSIP), KBESieDebugReplaceSIP, 1); DBG_RT(Entry, "==> kernel Sierra Debug: %d replaces done.\n", Num); - } else if (NumSie == 1) { + } else if (NumSieSIP == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEYosECSieHighSearchEXT, sizeof(KBEYosECSieHighSearchEXT), KBEYosECSieHighReplaceEXT, 1) + SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBESieSearchSIP, sizeof(KBESieSearchSIP), KBESieReplaceSIP, 1); DBG_RT(Entry, "==> kernel Sierra: %d replaces done.\n", Num); - } else if (NumECDebug == 1) { + } else if (NumECDebugSIP == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchEXT, sizeof(KBEECDebugSearchEXT), KBEECDebugReplaceEXT, 1) + SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchSIP, sizeof(KBEECDebugSearchSIP), KBEECDebugReplaceSIP, 1); DBG_RT(Entry, "==> kernel El Capitan Debug: %d replaces done.\n", Num); - } else if (NumEC == 1) { + } else if (NumECSIP == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEYosECSieHighSearchEXT, sizeof(KBEYosECSieHighSearchEXT), KBEYosECSieHighReplaceEXT, 1) + SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEECSearchSIP, sizeof(KBEECSearchSIP), KBEECReplaceSIP, 1); DBG_RT(Entry, "==> kernel El Capitan: %d replaces done.\n", Num); - } else if (NumMavYosDebug == 1) { + } else if (NumMavYosDebugEXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMavYosDebugSearchEXT, sizeof(KBEMavYosDebugReplaceEXT), KBEMavYosDebugReplaceEXT, 1); DBG_RT(Entry, "==> kernel Yosemite Debug: %d replaces done.\n", Num); - } else if (NumYos == 1) { + } else if (NumYosEXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEYosECSieHighSearchEXT, sizeof(KBEYosECSieHighSearchEXT), KBEYosECSieHighReplaceEXT, 1); DBG_RT(Entry, "==> kernel Yosemite: %d replaces done.\n", Num); - } else if (NumMLDebug == 1) { + } else if (NumMLDebugEXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMLDebugSearchEXT, sizeof(KBEMLDebugSearchEXT), KBEMLDebugReplaceEXT, 1); DBG_RT(Entry, "==> kernel Mountain Lion Debug: %d replaces done.\n", Num) - } else if (NumMLMav == 1) { + } else if (NumMLMavEXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMLMavSearchEXT, sizeof(KBEMLMavSearchEXT), KBEMLMavReplaceEXT, 1); DBG_RT(Entry, "==> kernel Mountain Lion/Mavericks: %d replaces done.\n", Num); - } else if (NumLion_X64 == 1) { + } else if (NumLion_X64_EXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_X64, sizeof(KBELionSearchEXT_X64), KBELionReplaceEXT_X64, 1); DBG_RT(Entry, "==> kernel Lion X64: %d replaces done.\n", Num); - } else if (NumSnow_X64 == 1) { + } else if (NumSnow_X64_EXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_X64, sizeof(KBESnowSearchEXT_X64), KBESnowReplaceEXT_X64, 1); DBG_RT(Entry, "==> kernel Snow Leopard X64: %d replaces done.\n", Num); // i386 - } else if (NumLion_i386 == 1) { + } else if (NumLion_i386_EXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_i386, sizeof(KBELionSearchEXT_i386), KBELionReplaceEXT_i386, 1); DBG_RT(Entry, "==> kernel Lion i386: %d replaces done.\n", Num); - } else if (NumSnow_i386 == 1) { + } else if (NumSnow_i386_EXT == 1) { Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_i386, sizeof(KBESnowSearchEXT_i386), KBESnowReplaceEXT_i386, 1); DBG_RT(Entry, "==> kernel Snow Leopard i386: %d replaces done.\n", Num); } else {  
    Here is the full kext_inject.c, if needed.
    cleanup_kext_inject.zip
     
    Thanks!
  2. Like
    PMheart got a reaction from nmano in [pre-release] macOS Mojave 10.14.4   
    Hi!
     
    EDIT:
    I have optimized some algorithm, you may temporarily gather the new binary here (until @Slice uploads a new package on SourceForge).
    As for diff, please see https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?do=findComment&comment=2661179
     
    PMheart
     
  3. Like
    PMheart reacted to nmano in [pre-release] macOS Mojave 10.14.4   
    Thanks All I am happy to fixed sleep & wake issue.
  4. Like
    PMheart reacted to nmano in [pre-release] macOS Mojave 10.14.4   
    Hi @PMheart
    Sleep and wake issue i9 9980XE
    Finally fixed
    Comment xcpm_core_scope_msrs © Pike R. Alpha
    Find   31D2E891 FCFFFF
    Replace  31D29090 909090
     
     
     

  5. Like
    PMheart got a reaction from Badruzeus in [pre-release] macOS Mojave 10.14.4   
    Hi,
     
    Yes, if you'd like to show the diff for Combo update download.
    To be honest, it's kind of surprising that Apple is still offering Combo package... I think it has been dead for years... LOL
     
    As for verbose logging - It can be done with -verbose arg, please see L512, L567 as well as `man installer`.
  6. Thanks
    PMheart got a reaction from C.Frio in [pre-release] macOS Mojave 10.14.4   
    Alright, for those who are confused when to use Delta and when to use Combo, I committed a change to MacOS_Updater. (See https://github.com/Gengik84/MacOS_Updater/commit/04fe7e49e0ad12084bcf17a26b0d2cb680714880)
     
    Also, @Badruzeus I have also summed something up, if you should have interest, please take a look at: https://github.com/Gengik84/MacOS_Updater/blob/04fe7e49e0ad12084bcf17a26b0d2cb680714880/MacOS_Updater#L85
     
    Thanks a lot!
  7. Thanks
    PMheart got a reaction from C.Frio in [pre-release] macOS Mojave 10.14.4   
    Alright, for those who are confused when to use Delta and when to use Combo, I committed a change to MacOS_Updater. (See https://github.com/Gengik84/MacOS_Updater/commit/04fe7e49e0ad12084bcf17a26b0d2cb680714880)
     
    Also, @Badruzeus I have also summed something up, if you should have interest, please take a look at: https://github.com/Gengik84/MacOS_Updater/blob/04fe7e49e0ad12084bcf17a26b0d2cb680714880/MacOS_Updater#L85
     
    Thanks a lot!
  8. Thanks
    PMheart got a reaction from C.Frio in [pre-release] macOS Mojave 10.14.4   
    Alright, for those who are confused when to use Delta and when to use Combo, I committed a change to MacOS_Updater. (See https://github.com/Gengik84/MacOS_Updater/commit/04fe7e49e0ad12084bcf17a26b0d2cb680714880)
     
    Also, @Badruzeus I have also summed something up, if you should have interest, please take a look at: https://github.com/Gengik84/MacOS_Updater/blob/04fe7e49e0ad12084bcf17a26b0d2cb680714880/MacOS_Updater#L85
     
    Thanks a lot!
  9. Haha
    PMheart got a reaction from crazybirdy in [pre-release] macOS Mojave 10.14.4   
    Good point, thanks a lot!
     
    After being clarified by @crazybirdy, yes, Combo update should be used first, just for safety.
    Now I am assured to be an idiot again.
     
    For example, if one wants to upgrade to 10.14.4 b3, what he would choose looks like this:
    - Delta: when he is under 10.14.3 or 10.14.4 b1/b2 (i.e the most adjacent release)
    - Combo: all 10.14.x
     
    So Combo package is more complete. Just in case of outdated version.
     
    Thanks @crazybirdy!
     
    @Badruzeus If you have a GitHub account, feel free to create a Pull Request and I will kindly merge it. Thanks again!
  10. Haha
    PMheart got a reaction from crazybirdy in [pre-release] macOS Mojave 10.14.4   
    Good point, thanks a lot!
     
    After being clarified by @crazybirdy, yes, Combo update should be used first, just for safety.
    Now I am assured to be an idiot again.
     
    For example, if one wants to upgrade to 10.14.4 b3, what he would choose looks like this:
    - Delta: when he is under 10.14.3 or 10.14.4 b1/b2 (i.e the most adjacent release)
    - Combo: all 10.14.x
     
    So Combo package is more complete. Just in case of outdated version.
     
    Thanks @crazybirdy!
     
    @Badruzeus If you have a GitHub account, feel free to create a Pull Request and I will kindly merge it. Thanks again!
  11. Like
    PMheart got a reaction from gengik84 in [pre-release] macOS Mojave 10.14.4   
    EDIT: Sorry! Please see https://www.insanelymac.com/forum/topic/337357-pre-release-macos-mojave-10144/?do=findComment&comment=2664610
  12. Haha
    PMheart got a reaction from crazybirdy in [pre-release] macOS Mojave 10.14.4   
    Good point, thanks a lot!
     
    After being clarified by @crazybirdy, yes, Combo update should be used first, just for safety.
    Now I am assured to be an idiot again.
     
    For example, if one wants to upgrade to 10.14.4 b3, what he would choose looks like this:
    - Delta: when he is under 10.14.3 or 10.14.4 b1/b2 (i.e the most adjacent release)
    - Combo: all 10.14.x
     
    So Combo package is more complete. Just in case of outdated version.
     
    Thanks @crazybirdy!
     
    @Badruzeus If you have a GitHub account, feel free to create a Pull Request and I will kindly merge it. Thanks again!
  13. Like
    PMheart reacted to crazybirdy in [pre-release] macOS Mojave 10.14.4   
    It's always alive with update and combo update as my script.

  14. Like
    PMheart got a reaction from gengik84 in [pre-release] macOS Mojave 10.14.4   
    EDIT: Sorry! Please see https://www.insanelymac.com/forum/topic/337357-pre-release-macos-mojave-10144/?do=findComment&comment=2664610
  15. Like
    PMheart reacted to Badruzeus in [pre-release] macOS Mojave 10.14.4   
    I think only:
    macOSUpd > macOSUpdCombo
    macOSUpd10.14.4.Recovery > macOSUpdCombo10.14.4.Recovery
    English.dist-DeltaCombo.zip
  16. Like
    PMheart got a reaction from Badruzeus in [pre-release] macOS Mojave 10.14.4   
    Hi,
     
    Yes, if you'd like to show the diff for Combo update download.
    To be honest, it's kind of surprising that Apple is still offering Combo package... I think it has been dead for years... LOL
     
    As for verbose logging - It can be done with -verbose arg, please see L512, L567 as well as `man installer`.
  17. Like
    PMheart got a reaction from crusher in [pre-release] macOS Mojave 10.14.4   
    Yes, I checked your config and it turns out that you are applying the patch correctly.
     
    The score looks pretty much the same as applying the old, long patch. Is it satisfying? If so, congratulations and thanks @vit9696 over and over again!
     
    EDIT: No, one thing is not correct. The credit does not goes to me but @vit9696 !
  18. Like
    PMheart reacted to nmano in [pre-release] macOS Mojave 10.14.4   
    Thanks @PMheart
     
    I apply your patched please check my config
    Thanks.
    Thank you @vit9696
  19. Like
    PMheart got a reaction from Sherlocks in [pre-release] macOS Mojave 10.14.4   
    Yes, correct. Thanks to him once more!
  20. Like
    PMheart got a reaction from nmano in [pre-release] macOS Mojave 10.14.4   
    Wow, you must be a big fan of me then. Just joking.
     
    Well, if possible, do not hesitate to check if the patch works for previous versions.
     
    EDIT: I think this patch can be better (I eliminated some redundant bytes)
    find C1 E3 08 48 63 D3 89 D0 48 C1 EA 20 B9 99 01 repl C1 E3 08 B8 00 FF 00 00 31 D2 90 90 B9 99 01  
  21. Like
    PMheart reacted to DSM2 in LiluFriend - Fixing Lilu does not function correctly under system locations   
    Thanks! Will test it asap!
    The kext has to be in L/E but I will also try via Kext Injection.
     
    Unfortunatly doesn't fix my issue... hmm...
     
    This is my problem: 
     
    2019-02-03 00:33:29.252097+0100 0x38d0     Default     0x0                  0      0    kernel: (VRS8AudioDriver) AEsiAudioEngine[]::CreateAudioStream() failed to allocate IOBufferMemoryDescriptor
    2019-02-03 00:33:29.252099+0100 0x38d0     Default     0x0                  0      0    kernel: (VRS8AudioDriver) AEsiAudioEngineIn[]::initHardware(), failed to create all streams.
    2019-02-03 00:33:29.252100+0100 0x38d0     Default     0x0                  0      0    kernel: (VRS8AudioDriver) AEsiAudioEngineIn: failed to create analogInputStream!
    2019-02-03 00:33:29.252103+0100 0x38d0     Default     0x0                  0      0    kernel: (IOAudioFamily) - IOAudioEngine[<private>]::start(<private>, <private>)
    2019-02-03 00:33:29.252104+0100 0x38d0     Default     0x0                  0      0    kernel: (IOAudioFamily) - IOAudioEngine[<private>]::start(<private>) returns 0
    2019-02-03 00:33:29.252108+0100 0x38d0     Default     0x0                  0      0    kernel: (IOAudioFamily) - IOAudioDevice[<private>]::activateAudioEngine(<private>, 1) returns 0x<private>
    2019-02-03 00:33:29.252109+0100 0x38d0     Default     0x0                  0      0    kernel: (IOAudioFamily) + IOAudioEngine[<private>]::free()
    2019-02-03 00:33:29.252124+0100 0x38d0     Default     0x0                  0      0    kernel: (IOAudioFamily) - IOAudioEngine[<private>]::free()
    2019-02-03 00:33:29.252124+0100 0x38d0     Default     0x0                  0      0    kernel: (VRS8AudioDriver) AEsiAudioDevice[<private>]::initHardware: failed!
    2019-02-03 00:33:29.256646+0100 0x38d0     Default     0x0                  0      0    kernel: (IOAudioFamily) - IOAudioDevice[<private>]::start(<private>)
     
    Maybe you have an idea what I could try...
  22. Like
    PMheart got a reaction from DSM2 in LiluFriend - Fixing Lilu does not function correctly under system locations   
    Hi,
     
    Does it have to be installed in /L/E or /S/L/E instead of Clover/kexts/ ? If not, then I'd highly recommend you installing it to Clover and use kext injection for higher priority.
     
    Anyway, if you do need it, here you go:
    <key>OSBundleLibraries</key> <dict> <key>com.apple.kpi.bsd</key> <string>12.0.0</string> <key>com.apple.kpi.iokit</key> <string>12.0.0</string> <key>com.apple.kpi.libkern</key> <string>12.0.0</string> <key>com.apple.kpi.mach</key> <string>12.0.0</string> <key>com.apple.kpi.unsupported</key> <string>12.0.0</string> <key>net.egosys.driver.VRS8Audio</key> <string>1.03</string> </dict>  
  23. Like
    PMheart reacted to Sherlocks in [pre-release] macOS Mojave 10.14.4   
    thank you and vit9696
  24. Like
    PMheart got a reaction from Sherlocks in [pre-release] macOS Mojave 10.14.4   
    Yes, correct. Thanks to him once more!
  25. Like
    PMheart got a reaction from ctich in [pre-release] macOS Mojave 10.14.4   
    Oh, good, thanks for the verification.
     
    As for 10.13.3-, I think the pattern has already been short enough, no need to cleanup then. Well, now that there is already 10.13.6, no one would care for the old version I guess.
×