Вот так она это делает (точнее так, но один хрен всё к транспорту сводится). Только в ядре с этим могут быть проблемы, т.е. я не уверен, что этот...
Во-первых, о каком именно способе речь? Если ты тупо берёшь текущий процесс, то подумай, что будет в случае, если сверху сидит фильтр...
Зачем?
Значит так, рассказываю. Если размер новых данных не превышает размер оригинального буфера, то ничего дополнительно делать не нужно, заменили...
Я даже и не пытался, мне ни к чему. Я вообще dkkbuild не пользуюсь, драйвера собираю build обычным из консоли, а пользовательские модули пишу в VS...
Ну так ты его посмотрел бы повнимательнее. В частности, DLL там собираются с помощью ddkbuild в VS.
kaspersky А почему, интересно, у моей жены 32-битная Windows 7 и мне не приходится там ничего чистить? Может быть, проблема всё таки в уровне...
А вот это зря. Я бы на твоём месте уделил изучению этого варианта чуть больше времени прямо сейчас. Может так статься, что переписывание под KMDF...
Ты лучше конкретные вопросы задавай. А документация у WinDbg нормальная, не надо ля-ля.
Библиотека ntdll.dll совершенно также доступна и в ядре. Если не ошибаюсь, она всегда идёт вторым модулем в списке.
У тебя при сборке модуля пользовательского режима используются такие вещи, как DbgPrint() $(DDK_INC_PATH) #include <ntifs.h>...
AlexCasual Поле TDI_connectRequest -> RequestConnectionInformation -> RemoteAddress следует использовать как указатель на структуру TA_IP_ADDRESS,...
Ну как бы по регистрации потока в CSR информации вполне достаточно на форумах, так что не думаю, что с этим будут какие-то проблемы у тебя.
Да, вполне. Без регистрации в CSR не сможешь использовать такие вещи как CreateProcess(), CreateThread(), CreateRemoteThread() и ещё что-то там,...
Если регистрация в CSR не нужна, то более чем хватит и этого (из ntdll.dll): NTSTATUS RtlCreateUserThread ( IN HANDLE Process, IN...
Есть подозрение, что ты неправильно работаешь с TDI-структурами адресов. Там, на самом деле, не всё так очевидно с первого взгляда. Показывай код...
Это как это? Уверен, что правильно вызываешь?
Распространённое заблуждение новичков, кстати. Так ты может и свой драйвер 32-битный пытаешься на 64-битной системе запустить?
Так там драйвера вроде 32-битные все, не?
Система 64-битная? Драйвер, случаем, не собран с ключом линкера /IntegrityCheck?
Имена участников (разделяйте запятой).