Не обходимо написать софтину которая по определённым условиям выбросит машину в синий экран, покопавшись в мсдн нашёл следующее KeBugCheck The KeBugCheck routine brings down the system in a controlled manner when the caller discovers an unrecoverable inconsistency that would corrupt the system if the caller continued to run. VOID KeBugCheck( IN ULONG BugCheckCode ); Parameters BugCheckCode Specifies a value that indicates the reason for the bug check. Return Value None Headers Declared in ntddk.h. Include ntddk.h Насколько я понял её надо вызвать из уровня ядра внимание вопросы: 1. Как это сделать проще(без написания драйверов) из си,делфи,asm etc 2. Где взять ddk бесплатно(не бейте ногами но сразу не нашёл) Заранее благодарен за коментарии,посылания,бан. ЗЫ Если кто поможет написать програмульнку несложного сожержания а именно Стартует читает из файла последнюю дату загрузки и количество дней до синего экрана, прописывает назад данные если дата изменилась то уменьшает количество дней на 1 и дату меняет на текущую( в том случае если дата выше предыдущей) если ниже то обнуляет значения дней до нуля если дней осталось ждать не ноль то завершает свою работу если 0 то ждёт 30 минут и вываливает систему в синий экран (если мона с исходами) Заранее благодарен Или как проще самому такое написать
господа а без флейма можно помочь? или напрвить как из сяйника асма нешарящаму праграмеруму перейти из левела 3 на 0 и выполнить KeBugCheck по возможности без написания дровов или как легально вызвать синий экран програмно заранее благодарен
1. хорошо минимальный пример драйвера который сработает в моём случае?(что нибудь типа хелло ворд)(желательно чтобы пускалось от 2к до 2к3) 2. где же всё таки взять библиотеки ддк? 3. существует ли возможность из драйвера работать с файловой системой? Заранее благодарен (я понимаю что лезу с минимальными знаниями но очень надо
В синий экран можно вывалить и из r3 с помощью NtRaiseHardError(). Его использует csrss когда показывает STATUS_SYSTEM_PROCESS_TERMINATED. Смотри csrsrv.dll!CsrUnhandledExceptionFilter.
dnmax Во, тестируй Ж) Код (Text): ;======================================== format PE native 4.0 include "%fasminc%/win32a.inc" ;======================================== proc start,object,regpath invoke KeBugCheck,0DEADDEADh mov eax,0C0000182h return endp ;======================================== data import library kernel,'ntoskrnl.exe' import kernel,KeBugCheck,'KeBugCheck' end data data fixups end data ;========================================
KmdKit на сайте, в нем есть и .lib и .inc Только эта ерунда для слабонервных KeBugCheck показывает адрес ошибки, где произошел сбой => пропатчить это можно без проблем. К тому же после вызова диск останавливается и пользовательские данные не сброшеные из кэша на диск теряются Для триальной версии программы это "крах" Лучше подумай, что тебе важнее в программе "насолить" или "сделать как надо"
вопрос а как по твоему надо? да мне в принципе фиолетово что он там не сохранил сама микрософт идёт этим путём(как пример офицальный 2003 сервер с ограничением срока использования через 180 дней предупреждает что перезагрузится через n минут а перезагружается +-5 минут они то не сильно заботятся мне тогда зачем надо) но это всё флейм а есть ли в природе ntdll.h за ранее благодарен
да теперь вопрос уже по дровам и примеру который дал bogrus могу ли я из него читать писать в файлы, если да то пошлите меня на три весёлых справочника как это сделать в винде в 0 кольце поработать с файликом заранее благодарен
А нафиг вообще нулевое кольцо??? Шатдаунить winlogon или один из тех() и все... Никаких мучений с KeBugCheck и драйвером.
Если я не ошибаюсь, то программа, проверяющая условие: (нужно ли вызывать BSOD) является пользовательской и сама может записать отчет в файл до BSOD'а. KeBugCheck - это, несомненно, наиболее непосредственный способ, о котором я не знал до прочтения Соломона-Руссиновича, но проще будет способ xor eax,eax mov [eax],eax о котором я унал по прочтении Four-F
dnmax Я тебе даже 4 дам: 1) Google 2) MSDN 3) WASM.RU 4) сюда На сайте есть уникальный и очень хороший цикл статей по разработке драйверов. Прочти, не ленись. Иначе из пункта 4 не выйти тебе…