Có sysinternals forum threads về bảo vệ chống lại các nỗ lực kết thúc bằng cách gắn NT Internals, nhưng những gì bạn thực sự muốn là một cơ quan giám sát hoặc ngang hàng (cách tiếp cận hợp lý) hoặc một số phương pháp ngăn chặn các sự kiện thảm khốc (khá dicey).
Chỉnh sửa: Có những lý do khiến chúng gây khó khăn, nhưng có thể chặn hoặc chặn các nỗ lực để giết quá trình của bạn.Tôi biết bạn chỉ đang cố gắng dọn dẹp trước khi xuất cảnh, nhưng ngay sau khi ai đó giải phóng một quá trình mà không thể bị giết ngay lập tức, ai đó sẽ yêu cầu một phương pháp để giết nó ngay lập tức, và cứ thế. Nhưng dù sao, để đi xuống con đường này, hãy xem chuỗi liên kết ở trên và tìm kiếm một số từ khóa bạn tìm thấy ở đó để biết thêm. móc HOẶC bộ lọc NtTerminateProcess vv Chúng tôi đang nói về mã hạt nhân, trình điều khiển thiết bị, chống vi-rút, bảo mật, phần mềm độc hại, công cụ rootkit tại đây. Một số sách để trợ giúp trong lĩnh vực này là Windows NT/2000 Native API, Undocumented Windows 2000 Secrets: A Programmer's Cookbook, Rootkits: Subverting the Windows Kernel và, tất nhiên, Windows® Internals: Fifth Edition. Công cụ này không quá khó để viết mã, nhưng khá nhạy cảm để có được đúng, và bạn có thể giới thiệu các tác dụng phụ không mong muốn.
Có lẽ Application Recovery and Restart Functions có thể được sử dụng? Được hỗ trợ bởi Vista và Server 2008 trở lên.
ApplicationRecoveryCallback Callback Function ứng dụng xác định hàm callback dùng để lưu dữ liệu và thông tin trạng thái ứng dụng trong trường hợp việc áp dụng gặp phải một ngoại lệ unhandled hoặc trở nên không phản hồi.
Về việc sử dụng SetUnhandledExceptionFilter, MSDN Social discussion khuyên rằng để làm cho công việc này đáng tin cậy, vá phương pháp mà trong bộ nhớ là cách duy nhất để chắc chắn rằng bộ lọc của bạn được gọi. Thay vào đó nên thay thế bằng __try/__ ngoại trừ. Bất kể, có một số mã mẫu và thảo luận về lọc các cuộc gọi tới SetUnhandledExceptionFilter trong bài viết "SetUnhandledExceptionFilter" and VC8.
Ngoài ra, hãy xem Windows SEH Revisited tại The Factor tuyệt vời cho một số mã mẫu của AddVectoredExceptionHandler.
Nguồn
2009-09-09 01:48:30
Sử dụng bộ xử lý tín hiệu SIGSEGV. ;-) –