max 内核命令

本文介绍了如何使用Xcode的Generic Kernel Extension模板创建一个名为HelloWorld的内核扩展。主要内容包括导入libkern库,编写内核模块的start和stop函数,并展示如何将.kext文件拷贝到系统扩展目录以及通过命令加载、卸载和检查内核扩展。

内核扩展Hello:


1:xcode里选择System Plug-in, 然后选择Generic Kernel Extension模板创建HelloWorld


2:导入输出需要的库#include <libkern/libkern.h>


3:加入输入输出整体代码如下:


#include <mach/mach_types.h>

#include <libkern/libkern.h>


kern_return_t HelloworldDemo_start(kmod_info_t * ki, void *d);

kern_return_t HelloworldDemo_stop(kmod_info_t *ki, void *d);


kern_return_t HelloworldDemo_start(kmod_info_t * ki, void *d)

{

    printf("Hello World\n");

    return KERN_SUCCESS;

}


kern_return_t HelloworldDemo_stop(kmod_info_t *ki, void *d)

{

    printf("Hello World\n");

    return KERN_SUCCESS;

}


4:在plist中的OSBundleLibraries 中加入键值对com.apple.kpi.libkern 值为mac的内核版本, 可以在终端中用uname -r 查看。


5:build可以打包出Helloworld.kext将这个文件拷到/System/Library/Extensions/下

注意:需要超级用户 可以使用sudo passwd root命令创建超级用户, 可以用这个命令:cp -r Helloworld.kext /System/Library/Extensions/


6:kextload Helloworld.kext 加载到内核

kextunload 停止加载

kextutil 加载到内核并提供诊断信息

kextstat 显示所有加载到内核的kext列表

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值