Описание тега kernel-extension

Вопросы, связанные с разработкой расширений ядра macOS/Darwin, включая общие (C) и I/O Kit (C++) типы.
0 ответов

Простое создание приложения - загрузка текста и загрузка команды терминала sudo в одном файле

:) Прежде всего, я хотел бы сказать вам, что я не программист (я музыкант), и я не очень знаком с кодированием, но мне удалось создать простое приложение Applescript, где я выполняю 2 терминала команды для запуска моей звуковой карты FireWire. Пробл…
1 ответ

Узнать имя процесса по pid в расширении ядра osx

Я работаю над расширением ядра и хочу узнать, как найти имя процесса по pid в расширении ядра. Этот код прекрасно работает в пространстве пользователя static char procdata[4096]; int mib[3] = { CTL_KERN, KERN_PROCARGS, pid }; procdata[0] = '\0'; // …
11 апр '14 в 12:45
0 ответов

Работа с файловой системой из общего расширения ядра (macOS)

Например, я хочу создать файл с именем "example.txt" и написать "Hello world!" внутрь. Теоретически я могу написать что-то вроде этого: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/systm.h> #includ…
22 окт '16 в 16:21
1 ответ

Связь с ядром

Я хочу отправить массив данных в пространство ядра (я использовал функцию обратного вызова в моем kext). Проблема в том, что когда я использую функцию send, я вижу что-то странное, что я объясняю в сценарии 2: 1) ... char f[]={'1','2','3','4','5','6…
15 авг '12 в 13:15
1 ответ

Не удается загрузить файл kext после обновления до Mac OS X 10.11.2

У меня есть файл kext, который удалось загрузить в Mac OS X 10.11.1, но после обновления до Mac OS X 10.11.2 он не загружается. Mac OS X 10.11.1 При выполнении sudo kextload abc.kext команда успешна и при выполнении sudo kextutil -tn abc.kext выход …
2 ответа

Использование libpcap.dylib в kext

Я пишу драйвер kext для OS X и хотел бы использовать функции из библиотеки libpcap.dylib, Libpcap.dylib находится в /usr/lib на OS X. Можно ли использовать его из пространства ядра? Как я могу использовать libpcap.dylib из kext, используя Xcode? Мне…
28 фев '13 в 11:22
1 ответ

IOService протекает без причины

Хорошо, я полностью озадачен и расстроен. Я работал над реализацией RAM-диска I/O Kit и обнаружил, что он не выгружался, когда мой друг загрузил его kextload а затем попытался разгрузить его с kextunload, Причиной этого было то, что ни один из OSObj…
14 окт '13 в 03:36
0 ответов

Запрос статистики системы на OS X

Так что я проверил в прошлом, и я не мог найти какую-либо информацию, поэтому я позволил ей отдохнуть. Мне интересно, как API-интерфейсы OS X вызываются в приложениях, таких как iStat Menu или других приложениях с системной информацией? Я не мог най…
26 май '15 в 17:20
1 ответ

Как сделать удаленное ядро ​​на Maverics 10.9 OSX, используя lldb?

Я пытаюсь сделать удаленную отладку ядра. Я использую две ВМ. У меня Leopard OSX 10.9 на обеих виртуальных машинах, и я также установил KDK(набор для отладки ядра согласно версии системы). На отлаживаемых виртуальных машинах я использовал следующую …
1 ответ

Как получить значение дескриптора фильтра сокета (sflt_filter.sf_handle) с сайта Apple для регистрации фильтрации пакетов

Я пытаюсь получить ключ дескриптора для сокета-фильтра для регистрации фильтрации пакетов. Я уже зарегистрировал его для пакетов TCP, теперь я хочу зарегистрировать его для пакетов UDP. Этот ключ дескриптора должен быть уникальным среди других прило…
28 янв '15 в 10:05
0 ответов

Как читать символьный поток и записывать в файл, когда мы запускаем приложение в модуле ядра в OS X?

Мое приложение будет собрано и упаковано для запуска в режиме ядра на OS X. Оно показывает символы, не найденные при запуске инструментированного приложения в режиме ядра. Это очевидно, поскольку стандартные библиотеки недоступны. Пожалуйста, кто-ни…
08 фев '17 в 15:52
2 ответа

Загрузить расширение ядра через C API?

Можно ли загрузить расширение ядра (kext) через C API вместо использования system() вызов?
12 апр '15 в 15:33
0 ответов

Что означает следующая ошибка "com.apple.kextd[38]: невозможно разрешить необработанный путь /System/Library/Extensions/ni488lock.kext." имею в виду?

Я запускаю следующие команды: from pyvisa.vpp43 import visa_library visa_library.load_library("/Library/Frameworks/Visa.framework/VISA") import visa print visa.get_instruments_list() Ссылка: http://www.rau-deaver.org/Mac-PyVISA.html системные журнал…
28 фев '13 в 02:03
1 ответ

Какие функции выделения памяти можно вызывать из среды прерываний в AIX?

xmalloc может использоваться в среде процесса только тогда, когда я пишу расширение ядра AIX. Какие функции выделения памяти можно вызывать из среды прерываний в AIX? Благодарю.
27 дек '13 в 07:33
0 ответов

macOS: разрыв связи между драйвером и процессом после spindump

Я работаю над Daemon/Kext, который общается, используя общую очередь между пользователем и пространством ядра, которое называется IOSharedDataQueue, После того, как я несколько раз вручную запускал диагностику spindump, он не мог больше получать соо…
1 ответ

Как просмотреть выходные данные из загруженного вручную расширения ядра (kext)?

Я ознакомился с руководством по адресу https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptKEXT/kext_tutorial.html создать расширение ядра (kext). В основном соответствующий код это kern_return_t MyKext…
26 фев '17 в 22:16
4 ответа

Реализация расширений ЦП в модуле ядра

Я ищу информацию, касающуюся реализации определенных расширений процессора в модуле ядра. Я нашел кое-что связанное: http://www.mirrors.docunext.com/lxr/http/source/arch/mips/kernel/unaligned.c на самом деле, это единственный исходный код, который я…
0 ответов

Как отладить / проверить код без кода для USB CDC устройства?

Я создал код без кода для устройства USB CDC, чтобы он не отображался в настройках сети. Согласно kextutil, kext действителен (кроме предупреждения, что он самоподписан). Когда я загружаю его с помощью kextutil, в файле журнала появляется предупрежд…
02 сен '14 в 13:03
1 ответ

Обнюхивать HTTP-пакеты, используя NKE

Я пытаюсь прочитать http запросы и ответы, делая KEXT с помощью NKE. Я зарегистрировал фильтр сокетов, всякий раз, когда я получаю данные, я печатаю mbuf, используя такой код: unsigned char *dataString = mbuf_data(*data); for (size_t i = 0; i < m…
0 ответов

Закрыть сокет ядра сети

Я разрабатываю расширение ядра сети и пытался перехватить пакеты, по возвращении обратного вызова DataOut EJUSTRETURN проглотить нужные пакеты. Теперь я готов передать одни и те же данные, но на другом сокете. Для достижения этого я использовал errn…
19 июл '16 в 10:15