Jump to content

Chameleon 2.4svn Official PKG Installer


ErmaC
4,261 posts in this topic

Recommended Posts

Sorry maybe I can help nothing... Would @crazybirdy @Micky1979 mind sharing a vanilla kernel? Thanks a lot!

IMHO we have to look at a prelinkedkernel already decompressed (is compressed in lzvn), like will be in memory.

Link to comment
Share on other sites

is compressed as well in lzvn

ok, we need to confirm which patch code works right, will test it with the patched kernels if i have free time.

Will let you know the results if done.

 

[edit]

cannot download your attached file.

Sorry, you don't have permission for that!

Link to comment
Share on other sites

ok, we need to confirm which patch code works right, will test it with the patched kernels if i have free time.

Will let you know the results if done.

Well, I can test it by booting 10.10.1!

According to the assembly spec. The eb 08 seems to bypass a new call, and nop out it will call that func. And have no bin... Will find out why the old patch has been deprecated.

Yea, we need a call to readBooterExtensions(); and off course mantains readPrelinkedExtensions

void
KLDBootstrap::readStartupExtensions(void)
{
    kernel_section_t * prelinkInfoSect = NULL;  // do not free

    OSKextLog(/* kext */ NULL,
        kOSKextLogProgressLevel |
        kOSKextLogGeneralFlag | kOSKextLogDirectoryScanFlag |
        kOSKextLogKextBookkeepingFlag,
        "Reading startup extensions.");
    
   /* If the prelink info segment has a nonzero size, we are prelinked
    * and won't have any individual kexts or mkexts to read.
    * Otherwise, we need to read kexts or the mkext from what the booter
    * has handed us.
    */
    prelinkInfoSect = getsectbyname(kPrelinkInfoSegment, kPrelinkInfoSection);
    if (prelinkInfoSect->size) {
        readPrelinkedExtensions(prelinkInfoSect);
    } else {
        readBooterExtensions();
    }

    loadKernelComponentKexts();
    readBuiltinPersonalities();
    OSKext::sendAllKextPersonalitiesToCatalog();

    return;
}

Link to comment
Share on other sites

yes

 

should.

 

attachicon.giffound.png

 

 

EDIT

apparently there are both of it :| and Hex Fiend did not show me, while HexEdit from crazybirdy does. :unsure:

What about checking the hex via a perl script? See this FYI: https://github.com/PMheart/macOS-SIP-Opengated/blob/master/openGate.sh#L91

e.g. `perl -le "print scalar grep /\x00\x00\x00\x00/, <>;" $certainBin`

And the output will be how many the data we searched for in $certainBin.

  • Like 1
Link to comment
Share on other sites

BTW 0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF has been commented out/deprecated since clover 2695

https://sourceforge.net/p/cloverefiboot/code/2695

 

and e827* was introduced in 2693 https://sourceforge.net/p/cloverefiboot/code/2693/

 

=======================================

 

I have a somewhat stupid guessing...

If we use kernelcache in Yos and then we should run micky's patch, that is what slice commented out.

If we use -f or boot with kernel + kexts then we should patch the kernel just like nowadays clover did?

Edited by PMheart
  • Like 1
Link to comment
Share on other sites

I'm compiling Enoch with or without "0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF":

 

with:

 

 

should print 'Found Yosemite (<= 10.10.4) EXT pattern: patched!'

 

 

without:

 

Edited by Micky1979
test files removed
Link to comment
Share on other sites

I'm compiling Enoch with or without "0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF":

 

with:

attachicon.gifboot_MickyTest1.zip

 

should print 'Found Yosemite (<= 10.10.4) EXT pattern: patched!'

 

 

without:

attachicon.gifboot_MickyTest2.zip

 

Both boot files work fine with 10105, 10116, boot without -f, load EE fine.

Both did not work with 10123 without -f, not load EE, find only SIP pattern.

bdmesg.zip :rolleyes:

 

I don't have 10.10.0~10.10.4 now. :P

Link to comment
Share on other sites

Both boot files work fine with 10105, 10116, boot without -f, load EE fine.

Both did not work with 10123 without -f, not load EE, find only SIP pattern.

..

I'm compiling Enoch with or without "0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF":

 

with:

attachicon.gifboot_MickyTest1.zip

 

should print 'Found Yosemite (<= 10.10.4) EXT pattern: patched!'

 

 

without:

attachicon.gifboot_MickyTest2.zip

 

Hi, i follow the dev with interest!

For better understanding and to know more  before i try those two with/without boot_MickyTest...  i have an question.

Has the patch parts  shown in the past postings like

// Yosemite, Need for 10.11.x

UINT8 KBEYosSearchEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0xCE, 0x02, 0x00, 0x00 };
UINT8 KBEYosReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0xCE, 0x02, 0x00, 0x00 };
to do with problems loading kext from /E/E or have those patches the target to implement clovers  NVRAM/NvidiaWeb  feature in chameleon?
Thanks!

 

Link to comment
Share on other sites

Hi, I've implemented the patch to load NVDAStartupWeb before go out of home. I'm at my fried son's 'battesimo' (don't know the term in English). Later in the night we can test it.

See you later

  • Like 1
Link to comment
Share on other sites

 

Hi, i follow the dev with interest!

For better understanding and to know more  before i try those two with/without boot_MickyTest...  i have an question.

Has the patch parts  shown in the past postings like

// Yosemite, Need for 10.11.x

UINT8 KBEYosSearchEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0xCE, 0x02, 0x00, 0x00 };
UINT8 KBEYosReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0xCE, 0x02, 0x00, 0x00 };
to do with problems loading kext from /E/E or have those patches the target to implement clovers  NVRAM/NvidiaWeb  feature in chameleon?
Thanks!

 

 

No... The patch are for loading extra kexts besides kernelcache.

Link to comment
Share on other sites

×
×
  • Create New...