Возможно ли реализовать такое? Вобшем надо прогу клиент-сервер чтоб удаолённо мона было вызывать BSOD на WinXPsp2 (без обнов)
а почему нет. сервер + драйвер будут принимать запросы, драйвер будет вызываться и генерить бсод. клиент будет слать запрос на бсод. только вопрос - нафига?
Можеш исходник накидать? Да забыл сказать конект надо по Tcp/ip, типа вводиш ип жамкаеш кнопку и удалённая тачка в дауне. Нужно...
В принципе если винда без обновлений, то можно просто на тачке какой-нибудь эксплоит , вызывающий BSoD, запускать. Но это не универсальный метод. Драйвер убийца вместе с загрузчиком прилагаются к книжке Шнайбера Недокументированные возможности Windows 2000
Че там писать то Code: #define _X86_ #include <ntddk.h> UNICODE_STRING DeviceName; UNICODE_STRING SymbolicLinkName; PDEVICE_OBJECT deviceObject; #define IOCTL_CRASH_SYSTEM CTL_CODE( FILE_DEVICE_UNKNOWN, 0x01, METHOD_BUFFERED, FILE_ANY_ACCESS ) NTSTATUS DriverIoControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) { PIO_STACK_LOCATION pisl = IoGetCurrentIrpStackLocation(Irp); NTSTATUS status = STATUS_UNSUCCESSFUL; ULONG BuffSize = pisl->Parameters.DeviceIoControl.InputBufferLength; PUCHAR pBuff = (PUCHAR)Irp->AssociatedIrp.SystemBuffer; Irp->IoStatus.Information = 0; if( pisl->Parameters.DeviceIoControl.IoControlCode == IOCTL_CRASH_SYSTEM ) KeBugCheckEx( IRQL_NOT_LESS_OR_EQUAL, &KeBugCheckEx, HIGH_LEVEL, &KeBugCheck, &DbgPrint); Irp->IoStatus.Status = status; IoCompleteRequest(Irp, IO_NO_INCREMENT); return status; } NTSTATUS DriverCreateClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) { Irp->IoStatus.Information = 0; Irp->IoStatus.Status = STATUS_SUCCESS; IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_SUCCESS; } void DriverUnload(IN PDRIVER_OBJECT DriverObject) { IoDeleteSymbolicLink (&SymbolicLinkName); if(deviceObject) IoDeleteDevice (deviceObject); } NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) { NTSTATUS status; RtlInitUnicodeString(&DeviceName, L"\\Device\\crashd"); RtlInitUnicodeString(&SymbolicLinkName, L"\\DosDevices\\crashd"); status = IoCreateDevice(DriverObject, 0, &DeviceName, FILE_DEVICE_UNKNOWN, 0, TRUE, &deviceObject); if (!NT_SUCCESS(status)) { return STATUS_UNSUCCESSFUL; } deviceObject->Flags |= DO_BUFFERED_IO; status = IoCreateSymbolicLink(&SymbolicLinkName, &DeviceName); if (!NT_SUCCESS(status)) { IoDeleteDevice(deviceObject); return STATUS_UNSUCCESSFUL; } DriverObject->DriverUnload = DriverUnload; DriverObject->MajorFunction [IRP_MJ_CREATE] = DriverObject->MajorFunction [IRP_MJ_CLOSE ] = DriverCreateClose; DriverObject->MajorFunction [IRP_MJ_DEVICE_CONTROL ] = DriverIoControl; return STATUS_SUCCESS; } Использовать примерно так в ринг3: Code: HANDLE hFile = CreateFile( "\\\\.\\crashd", GENERIC_READ, .... ); DeviceIoContol( hFile, IOCTL_CRASH_SYSTEM, 0, 0, ....);