Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Feb 19, 2013, 03:42 AM   #1
Codeaholic
macrumors newbie
 
Join Date: Aug 2011
Kext: Replace kernel functions

Hi,

I've 'fixed' a bug in a XNU function. Now I'm looking for a way to apply this fix with a kernel module/kext. I can't be bothered to compile after every Apple update a new kernel with my fix. So I want to write a kext which replaces the old function with my function. I've done this for many times on Solaris and Linux but I'm a newbie in the XNU world.

I guess all what I need is a way (example code that works would be helpful!) to access the kernel symbol address table. With the address of the old function I should be able to patch a Jump into the function that points to my new function. Very evil, I know.

Does somebody did something like this? Please let me know, if you have any idea.
Codeaholic is offline   0 Reply With Quote
Old Feb 19, 2013, 11:59 AM   #2
Madd the Sane
macrumors 6502
 
Join Date: Nov 2010
Location: Utah
If you've found a bug in the kernel, file a bug report at bugreport.apple.com, as well as post the patch on Apple's kernel mailing list.
Madd the Sane is offline   0 Reply With Quote
Old Feb 20, 2013, 12:57 AM   #3
Codeaholic
Thread Starter
macrumors newbie
 
Join Date: Aug 2011
Quote:
Originally Posted by Madd the Sane View Post
If you've found a bug in the kernel, file a bug report at bugreport.apple.com, as well as post the patch on Apple's kernel mailing list.
Yes, but first I want to check my fix with a kext. I guess it would be a nice exercise as well.

Does somebody has an idea?
Codeaholic is offline   0 Reply With Quote
Old Feb 21, 2013, 01:03 AM   #4
Codeaholic
Thread Starter
macrumors newbie
 
Join Date: Aug 2011
After lots of googling, I've found one paper which has some interesting approaches: http://defcon.org/images/defcon-17/d...ing_on_osx.pdf

It's mainly written for patching syscalls but that's ok. It should also work for functions.

Anyway, any other information regarding this topic would be nice.
Codeaholic is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Tags
kernel, kext, xnu

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
Will Apple replace the OS X kernel with Linux? aaronvan OS X 30 Nov 26, 2013 09:11 AM
Passing a string(in user mode) to kernel kext(kext have a dynamic buffer) mehdies Mac Programming 0 Apr 28, 2013 01:22 AM
Please compile this kext. rabidz7 Mac Programming 7 Apr 18, 2013 07:13 PM
get focused window in desktop by kernel modules(kext) mehdies Mac Programming 1 Dec 18, 2012 11:29 PM
Recovery partition kernel panic - how to replace xraydoc OS X 10.8 Mountain Lion 1 Aug 27, 2012 09:41 PM

Forum Jump

All times are GMT -5. The time now is 06:01 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps