Jump to content

bs0d

bs0d

Member Since 14 Apr 2007
Offline Last Active Feb 21 2017 12:16 PM
**---

Posts I've Made

In Topic: Trying to enable Night Shift on unsupported macs

08 February 2017 - 12:31 PM

Nope. It could be impossible to implement patching framework by Clover. Just one reason - we don't know when the target framework has been loaded.

Patching kernelcache is very different. Because the RAM for kernelcache must be released by boot.efi and at that time Clover will patch the RAM for kernelcache.

Actually Clover will do nothing (have no ability to do) when boot.efi loads, or we can say after that.

Anyway. Clover can't patch framework, at least right now.

Maybe you should rethink your continued onslaught to 'appear' knowledgable, rather than continue to spew utter tosh like "that RAM needs to be released by boot.efi before a boot loader can patch it...... "

 

Too many people thinking and not doing has become the 'norm'

In Topic: Clover General discussion

31 January 2017 - 02:14 PM

Hi. I came up with a new idea to find the patch code for KernelPm dynamically instead of now-using static data.

But... Cannot test and too lazy to write code.  :P

Here it is: (Patch kernel_patcher.c)

 

1. Introduce "UINT32" variable 'i'

2. Call SearchAndCount() to find '00 00 00 00 00 00 00 00 0F 04 00 00 00 00 00 00' and check how many sets we can found.

3. Introduce "int" variable 'k'

4. for (k=0; k < SearchAndCount('00 00 00 00 00 00 00 00 0F 04 00 00 00 00 00 00'); k++) {

      // introduce "int" variable 'j'

      for (j=8; j>0; j--)

        bytes[i-j] == 0x00 // the actual patch for KernelPm 10.10+

}

 

Could someone write the code based on the idea above? Thanks in advance.  :)

Or just port the symbol based patcher that meklort did umm 4 years ago for chameleon.

In Topic: Clover General discussion

27 January 2017 - 07:57 PM

Take into account that we don't know where the kernel is loaded. It is Chameleon who knows.

 

At ExitBootServices once you found the boot args struct.

 

KernelData = (VOID *)(UINTN)(BA2->kernelSlide + 0x00200000);

 

now you know too :P

In Topic: Clover Bug/Issue Report and Patch

27 January 2017 - 04:39 PM

This can be only used when bin-patching. We may also need to print something like the system version in Clover GUI.

Sorry. I have reached my quota of positive votes today...

that makes absolutely no sense.

In Topic: Clover Bug/Issue Report and Patch

27 January 2017 - 04:31 PM

why not just do the checks during BootExitServices ie once the kernel/prelink is loaded into ram by boot.efi.

 

simple and always accurate if you use the kernel versions instead.

© 2016 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy