私は、kextプログラミングが初めてなので、私の問題は次のとおりです。
私は、macOS 10.11.6 を実行しています。SIP をオフにしましたが、kextloadと -v フラグを使用して kext をロードしようとすると、kext が正常にロードされたことがわかります。
*Requesting load of /private/tmp/kern.kext.
/private/tmp/kern.kext loaded successfully (or already loaded).*
kext がロードされたことを確認するために、kextstatを使用しました。
152 0 0xffffff7f82db3000 0x2000 0x2000 com.SPX.kext.kern (1) 299868F4-9962-362D-AE3D-09579B6780DB <4>
しかし
、次のコマンドを使用して/var/log/system.logからカーネルログを追跡すると:tail -f /var/log/system.log
そのエラーが表示されます:
MacBook-Pro com.apple.kextd[47]: kext signature failure override
allowing invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext
"/private/tmp/kern.kext"
私の kext は単純な Hello World kext で、私のコードがあります
#include <mach/mach_types.h>
#include <libkern/libkern.h>
kern_return_t kern_start(kmod_info_t * ki, void *d);
kern_return_t kern_stop(kmod_info_t *ki, void *d);
kern_return_t kern_start(kmod_info_t * ki, void *d)
{
printf("hello world");
return KERN_SUCCESS;
}
kern_return_t kern_stop(kmod_info_t *ki, void *d)
{
printf("bye kext");
return KERN_SUCCESS;
}
助けてくれてありがとう
編集:
多くのテストの後、kextが正常にロードされたように見えますが、コード署名の問題に関しては、Xcodeビルド設定を調べたところ、コード署名が見つかりました。コード署名にはコード署名IDがあるため、 Don'tに設定しましたコードに署名し、Xcodeビルドツールを使用してビルドしまし xcodebuild -configuration Debug -target kern
たが、まだ進歩していないので、誰かが少なくともリンクなどを提供してくれることを願っています.