![]() |
Програмирование в Builder С++ v.5
Может кто подскажет? Как сделать под WIN98 чтобы при нажатии ALT+CTRL+DEL в появимшемся окне процессов не было видно моего?
|
Как скрыт свою прогу в диспетчере задач (три веселых буквы)...
|
Всё зависит от ОС. Например в ХР - запустить её как службу. Поконкретнее, пожалуйста. А ещё лучше - пройдитесь поиском, этот вопрос первый по популярности, имхо.
|
Имхо в диспетчере задач видны и службы. Для сокрытия - либо внедрение своего кода в другой процесс, либо подмена функции, выдающей список запущенных процессов (вылетело название, то ли CreateToolhelp32Snapshot(), то ли что-то еще)...
|
Ч@рт возьми, ошибся. Не в ХР, конечно же, а в 9х
Код:
implementation А для ХР всё сложнее, посмотри здесь: http://www.codeproject.com/useritems...;select=663761 Там очень подробно и вроде даже с исходниками. |
unknown bug:
мы просто с помощью длл подменивали таблицу импортов... ну короче то же самое, что и ты сказал... |
Большой сенкс! Попробую
|
спасиба и от меня
|
Я делал прогу которая должна работать в xp и в win9x. если она в win9x то она должна себя скрывать через RegisterServiceProcess, но когда ее компилируеш в xp то он ругается что точка входа в процедуру не найдена. че делать?
|
Guest
Определять RegisterServiceProcess через GetProcAddress |
а как
|
vasketsov
а не подскажешь, как? :) |
Surround
Смотрите здесь |
hasherfrog
я не очень понимаю сишный код :( как-нибудь на делфи это сложно выглядеть будет? |
Что-то типа этого
|
hasherfrog
спасибо! но я не очень понял, что там должно быть в скобках в Цитата:
|
Surround
Пересмотрите данную тему с самого начала. Добавлено: И вообще, ну заюзайте поиск, в самом-то деле :( Вот, смотрите, что я сразу же нашёл. |
hasherfrog
прошу прощения. Спасибо :biglaugh: компилится ok, но теперь при выполнеии что-та типа: Цитата:
|
А если еще использовать определение операционной системы получится вообще стоящая програмка.
|
unreliable
определить ось - это хорошо, но под XP скрываться не хочет - ругается нулями...:( [s]Исправлено: Surround, 6:53 28-06-2004[/s] |
Surround
Данные функции не сработают под XP. Вам уже намекнули, что определение версии ос поможет обойти проблему с 00000. |
hasherfrog
да мне именно под XP и нужно было :( |
Surround
Ну вот, приплыли :) См. 4 пост |
Если влом разбираться в подменой таблиц импорта, и внедрением своего кода, то можешь просто обозвать свое приложение системным именем :-)
|
Програмирование в Builder С++ v.5
[STFW!]
Как скрыть свое приложение от диспетчера задач Внимание! Не работает в семействе NT (2000, XP) typedef DWORD (WINAPI *LPREGISTERSERVICEPROCESS) (DWORD, DWORD); HINSTANCE h_i; LPREGISTERSERVICEPROCESS lpRegProc; h_i = LoadLibrary("KERNEL32.DLL"); if (h_i) { lpRegProc = (LPREGISTERSERVICEPROCESS)GetProcAddress(h_i, "RegisterServiceProcess"); if (lpRegProc) { lpRegProc(NULL, 1); } FreeLibrary(h_i); } |
В NT есть (по крайней мере был) крутой обход инспектора.
Пишиш Application.Title='program manager' и прога исчезает . Но что же делоть если прога консолевая и нету не кокого Application.:( |
Вложений: 1
Если кому интересно, отрыл исходник dll на Object Pascal, которая скроет Ваше проложение от Task Manager'a и других программ, использующих для получения списка процессов функцию NtQuerySystemInformation из ntdll.dll (соответственно, пашет только на NT-системах). Проверил ток что на XP_sp2, работает отлично :) Вес dll, если компилить без оптимизаций через Delphi7 42 кило.
Мда, забыл сказать, как использовать :) Итак, нужно вызвать функцию HideProcess: Код:
function HideProcess(pid: DWORD; HideOnlyFromTaskManager: BOOL): BOOL, Пример: Код:
program SuperHide; |
Время: 07:05. |
Время: 07:05.
© OSzone.net 2001-