Jump to content
Sign in to follow this  
Followers 0
0000-1248

I want to learn how to patch kernels and stuff

9 posts in this topic

Recommended Posts

Hi everyone, I've been involved in the OSx86 project for 3 years now (I'm not a New User but I'm posting here because I don't know where else to put it) and I know all the tools and how to use them, but I want to make my own tools. So what I'm asking is, is the a Beginner's Guide to patching kernels and kexts and learning DSDT code. Please help! As I said, I know all the tools but I want to make my own!!

 

 

Thanks in advance,

 

 

-Matt

Share this post


Link to post
Share on other sites
Advertisement

What tools are you mentioning?

 

If you mean Clover, Chameleon, kexts, they are open-source. You should learn C and start reading the source.

I would like to learn patching kernels, kexts, DSDTs and Chameleon. If you could reference me a guide that would be great. I have started learning to code in C# if that will be of any use.

 

Thanks in advance,

 

 

-Matt

Share this post


Link to post
Share on other sites

Learn the intel acpi spec, is only 1000 pages.

Enjoy. :)

But if true OSx86 died with mavericks (as your sig says) whats the point? :lol:

Share this post


Link to post
Share on other sites

There are no guides to patch kernels and kexts because if you are capable of doing so, you don't need a guide. You need at least x86 Assembly Language and C skills, but depending on if you want to do greater patches to kernel or kexts also Objective-C. If you know ASM, I don't think that you still need wide descriptions about what to do. ;)

 

Read up on Reverse Engineering and ASM if you really care.

 

EDIT: C# is barely of use. You learn some vey basic basics, but most of the stuff you will actually need it hidden from you by the language, including pointer work, POD structs, non-OOP patterns and memory management.

Share this post


Link to post
Share on other sites

But if true OSx86 died with mavericks (as your sig says) whats the point? :lol:

I want to use this to code with Mavericks.

There are no guides to patch kernels and kexts because if you are capable of doing so, you don't need a guide. You need at least x86 Assembly Language and C skills, but depending on if you want to do greater patches to kernel or kexts also Objective-C. If you know ASM, I don't think that you still need wide descriptions about what to do. ;)

 

Read up on Reverse Engineering and ASM if you really care.

 

EDIT: C# is barely of use. You learn some vey basic basics, but most of the stuff you will actually need it hidden from you by the language, including pointer work, POD structs, non-OOP patterns and memory management.

Thanks. I will try to complete these by the end of the year  ^_^ Also I am assuming ASM is the x86 Assembly?

Share this post


Link to post
Share on other sites

I don't know of any real guide / tutorial that'll help you out.. but there are some pretty good resources.

 

Anyway, I really just want to respond to post a link (cause, awesome link)....

 

For source patches, I suggest you read this. For non-kext based patches, I'd also suggest developing kernel patches using the kext based method in the kernel patcher module... although I'm a little biased (and I don't think anyone had done so yet, although it's *really* easy - no need for assembly)

 

For binary patches, good luck and have fun. There are some techniques that I use, although I haven't written anything up about them. Maybe I will sometime. Until then, It's really your standard debugging techniques that always apply (figure out what works / what doesn't. Figure out where it's broken and how to fix it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

×