|
|
#1 |
|
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. |
|
|
|
0
|
|
|
#2 |
|
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.
|
|
|
|
0
|
|
|
#3 | |
|
Quote:
Does somebody has an idea? |
||
|
|
0
|
|
|
#4 |
|
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. |
|
|
|
0
|
![]() |
|
| Tags |
| kernel, kext, xnu |
«
Previous Thread
|
Next Thread
»
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
All times are GMT -5. The time now is 07:23 PM.









Linear Mode
