2009-07-31 33 views
17

Có cách nào để ẩn chương trình C# khỏi Trình quản lý tác vụ Windows không?Ẩn chương trình C# từ trình quản lý tác vụ?

EDIT: Cảm ơn phản hồi áp đảo! Tôi không có ý định làm gì đó ma quái. Chỉ muốn giành chiến thắng đặt cược với bạn tôi rằng tôi có thể làm điều đó mà không cần chú ý. Và tôi không phải là một geek bản thân mình để có thể viết một rootkit, như một người nào đó gợi ý mặc dù tôi rất muốn biết làm thế nào để làm điều đó.

+13

Tại sao bạn muốn làm điều gì đó như thế này? –

+4

Tôi không biết câu trả lời, nhưng nếu tôi đã làm, tôi sẽ có khuynh hướng hỏi về lý do của bạn để làm như vậy trước khi giải thích chỉ làm thế nào để đi về việc này. –

+5

vâng, có: không bắt đầu nó – RaYell

Trả lời

28

Không phải là tôi biết - và không nên có. Điểm của người quản lý tác vụ là cho phép người dùng kiểm tra quy trình, v.v.

Nếu người dùng có thể thực hiện điều đó, họ sẽ có thể tìm thấy chương trình của bạn. Nếu họ không nên poking xung quanh trong Task Manager, chính sách nhóm nên ngăn chặn điều đó - không phải chương trình của bạn.

+2

hoàn toàn đồng ý. Tôi không thấy lý do tại sao một chương trình nên đạt được. – Juri

+1

Có, các chương trình vượt mức đạt được chỉ gây phiền toái. –

+2

Họ chắc chắn là nếu những gì họ đang "đạt được" là gửi thư rác, xóa đĩa cứng của bạn, vv ... nó hoàn toàn hợp lý để đặt hạn chế về những gì chương trình có thể làm. –

13

Bạn có thể làm cho chương trình của mình trở thành dịch vụ và sau đó nó sẽ xuất hiện dưới dạng "svchost". Có nhiều hơn một chút so với điều đó, nhưng điều đó sẽ cho bạn một gợi ý để đi đúng hướng.

6

Tôi không biết cách nào để ẩn nó khỏi trình quản lý tác vụ, nhưng bạn có thể ngụy trang nó bằng cách làm cho nó hiển thị dưới dạng "svchost.exe". Nó sẽ được gộp lại với tất cả những người khác (thường có một số), và sẽ trở nên không thể phân biệt được.

+0

Không thực sự - bạn vẫn có thể thấy đường dẫn của tệp thực thi trong Trình quản lý tác vụ. – xyz

+1

@frou: Vâng, nhưng nếu bạn chỉ cần đặt tên nó là svchost.exe và thả nó ở đâu đó bên dưới c:/Windows, hầu hết mọi người sẽ chỉ nghĩ rằng đó là một ứng dụng cửa sổ thông thường. –

+1

Blah - chỉ cần gọi nó là svchost.exe là một phiên bản lộn xộn/ít hiệu quả hơn của những gì samoz đề xuất :) – xyz

18

Đừng có nghĩa là để zombie này, nhưng tôi nghĩ rằng tôi có thể đóng góp một số thông tin hữu ích

Nếu bạn muốn ẩn một ứng dụng có hai phương pháp (mà tôi có thể nghĩ đến atm).

Cả hai đều có những thăng trầm

họ

[1] SSDT Bảng hooking - về cơ bản bạn cần phải thiết lập các MDL của bảng để có khả năng ghi, ghi đè lên địa chỉ của NtQuerySystemInformation (iirc) với địa chỉ của bạn và gọi hàm ban đầu sau khi lọc kết quả.

Phương pháp này không phù hợp với nhu cầu của bạn rất tốt vì chức năng hooking luôn cần phải có trong bộ nhớ và sẽ liên quan đến việc viết trình điều khiển chế độ hạt nhân. Đó là một điều thú vị để làm nhưng gỡ lỗi là một nỗi đau vì một ngoại lệ có nghĩa là một BSOD.

[2] Direct Kernel Object Manipulation (DKOM) - danh sách chương trình là một danh sách gấp đôi liên kết, với một trình điều khiển kernel mode bạn có thể làm thay đổi con trỏ của các hồ sơ trên và dưới quy trình của bạn để trỏ xung quanh bạn. Điều này vẫn yêu cầu sử dụng trình điều khiển chế độ hạt nhân nhưng có các rootkit như FU có thể dễ dàng tải xuống có chứa một exe và dịch vụ. Các exe có thể được gọi từ bên trong ứng dụng của bạn như là một quá trình con (trong phiên bản phát hành của FU, ít nhất là một trong những tôi tìm thấy, có một lỗi mà tôi đã phải sửa chữa, nếu ứng dụng ẩn thoát khỏi máy tính sẽ BSOD, nó đã được một sửa chữa tầm thường).

này may mắn sẽ bị bắt bởi hầu như bất kỳ chống virus khá vì vậy nếu bạn đang cố gắng làm điều gì đó lén lút bạn sẽ phải học cách để có được xung quanh đó (gợi ý: họ sử dụng chữ ký nhị phân)

Tôi đã không được sử dụng phương pháp 1 bao giờ nhưng phương pháp 2 đã làm việc cho tôi từ một ứng dụng VB.Net.Một tùy chọn thứ ba là chỉ cần tạo ứng dụng dưới dạng dịch vụ cửa sổ, điều này sẽ hiển thị trong trình quản lý tác vụ theo mặc định nhưng tôi sẵn sàng đặt cược rằng có cách để bảo nó không hiển thị ở đó vì ở đó có rất nhiều dịch vụ khác không hiển thị trong trình quản lý tác vụ.

Hy vọng tôi đã giúp một chút, lời khuyên của tôi là nếu bạn quan tâm đến loại công cụ này để tìm hiểu C++.

Các vấn đề liên quan