Теория и технологии программирования

тайный запуск

Перенесено из старого форума!
zetrix
Кто какие методы знает тайного запуска программ? (ну конечно чтоб в процессах не отображалось )
Перенесено из старого форума!
Gambler
На самом деле спрятаться от отображения в процессах довольно сложно (во всяком случае ни в какой литературе я этого не нашел), а вот от списка запущенных приложений очень просто: VISIBLE:=FALSE и все.
Alar
Например Флёнов утверждал, что в виндах, которые мы используем, сделать это невозможно.
rpy3uH
скрыть МОЖНО и ВОЗМОЖНО!!!!!!!!!
срыть можто с помощью перехвата API функций
перехватывать можно и в ядре системы и в самих процессах
но можно и просто скрыть информацию о процессе в ядре системы после этого даже сама система не будет знать в есть такой процесс, но он будет существовать и выполняться,
но для таких манипуляций с системой надо создавать драйвер.
zetrix
Я вот подумал, найти это окно (диспетчер задач) и значит найти на вкладке процессы свой и удалить, зарисовать, или как-то скрыть подобным методом.
Как думаете возможно такое?
lordrain
Вот что смог достать... Скрытие или отображение процесса из списка процессов
{ **** UBPFD *********** by delphibase.endimus.com ****
>> СКРЫТИЕ или отображение процесса из списка ctrl+alt+del
СКРЫТИЕ или отображение процесса в списке ctrl+alt+del
ПРАВИЛА ИСПОЛЬЗОВАНИЯ:
ДЛЯ скрытия собственного приложения из списка процессов, отображаемых
при нажатии CTRL+ALT+DEL, вызывайте функцию ShowHideInCad со следующими
параметрами:
ShowHideInCad (TakeMyApplicationProcessID, False) - и название Вашего
приложения будет скрыто из списка CTRL+ALT+DEL
ДЛЯ скрытия процесса чужого приложения, вызывайте функцию с такими
параметрами:
ShowHideInCAD (TakeProcessID(Заголовок окна скрываемого приложения), FALSE)
Зависимости: windows
Автор: VID, vidsnap@mail.ru, ICQ:132234868, Махачкала
Copyright: VID
Дата: 23 мая 2002 г.
************************************************** *** }
unit cad;
interface
uses windows;
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external KERNEL32.DLL;
function ShowHideInCad(ProcessID: Integer; Show: Boolean): boolean;
function TakeProcessID(WindowTitle: string): Integer;
function TakeMyApplicationProcessID: Integer;
implementation
//Получение дескриптора процесса любого окна, по заголовку этого окна
function TakeProcessID(WindowTitle: string): Integer;
var
WH: THandle;
begin
result := 0;
WH := FindWindow(nil, pchar(WindowTitle));
if WH <> 0 then
GetWindowThreadProcessID(WH, @Result);
end;
//Получение дескриптора процесса собственного приложения
function TakeMyApplicationProcessID: Integer;
begin
Result := GetCurrentProcessID;
end;
//Отображение/Скрытие процесса в CTRL+ALT+DEL
function ShowHideInCAD(ProcessID: Integer; Show: Boolean): Boolean;
begin
result := true;
try
//если show = true , то отображаем процесс в CAD, иначе - прячем
if Show = True then
RegisterServiceProcess(ProcessID, 0)
else
RegisterServiceProcess(ProcessID, 1);
except result := false;
end;
end;
end.
Перенесено из старого форума!
zetrix
Спасибо большое, обязательно попробую!
Gambler
Было интересно покрутить эти функции, только они не работают! Точнее функции работают, но не работает dll файл. Под какую винду этот код? Я надо сказать сомневаюсь что под ХР. Если у кого что получилось поделитесь ценными знаниями!!!
zetrix
Хм... Чё-то не получается... Пишет типа: Точка входа в процедуру RegisterServiceProcess не найдена в библиотеке DLL KERNEL32.DLL.
Вот так, не работает чё-то...( Такой функции в windows семейства NT (2000/Xp/w2k) - нету! Надо как-то подругому...
lordrain
Сам не пробовал,но и статья 2002 года так что может под win98...
Вот еще есть
http://delphiworld.narod.ru/base/app_xp_hide.html
rpy3uH
это пример перехвата API функций с помощью которых получают список процессов
вместо оригинальных функций подсовываются свои
API функции перехватываются во всех процессах любой процесс захотевший получить список процессов получит список в котором нет одного процесса так и получается скрытие.
Gambler
Точка входа в процедуру RegisterServiceProcess не найдена в библиотеке DLL KERNEL32.DLL.
Во-во у меня то же самое. Всетаки не под XP этот код. А в Win98 прятать еще проще. Если кому надо загляните в книгу "Делфи глазами хакера".
Alar
Во-во у меня то же самое. Всетаки не под XP этот код. А в Win98 прятать еще проще. Если кому надо загляните в книгу "Делфи глазами хакера".
Вот в этой книге флёнов и уверждал о невозможности. правда есть несколько способов .
Например подсунуть свой диспетчер задач. сделать клон. стандартный похезать. а своим управляй как хочешь!!!
zetrix
Можно конечно клон сделать, но если у меня маааленькая программка, то этот диспетчер ее в 2 метровую дуру превратит!
zetrix
lordrain: там на верху ссылку давал... Только есть маленький прикол когда пытаюсь компилировать Dll получаю предупреждение антивируса моего! Я конечно могу его отключить, но на других компах таже фигня будет, и в итоге мою прогу спалят...
Да... В области AVP тоже не дураки сидят... У меня NOD32, не знаю как себя касперский поведёт, надо проверить, или может кто из вас проверит на своих компах?
Alar
Можно конечно клон сделать, но если у меня маааленькая программка, то этот диспетчер ее в 2 метровую дуру преврантит!
не превратит в 2 метровую. вообще, если с умом делать это самый лучший вариант.
lordrain
чем мог - помог.
а программу сделать чтобы анти-вир не видел - это уже совсем другая тема...
zetrix
Ясно... Либо программу видно, либо антивирусы ругаются, а этого не хочется.
ВСЕМ спасибо, кстати насчёт клона диспетчера я подумал, ну и пусть программа весит даже 2 метра ее всё равно не видно будет, это кажется я и буду использовать.
Ныкаем программу от Ctrl Alt Del в WinXP
Эта библиотека должна помочь весит 16 кб
Работает с обной функцией:
+++++++Пример программы:+++++++++++++
program HideProj;
uses
windows, messages;
function HideProcess(pid: DWORD; HideOnlyFromTaskManager: BOOL): BOOL; stdcall;
external hide.dll;
function ProcessMessage(var Msg: TMsg): Boolean;
var
Handled: Boolean;
begin
Result := False;
begin
Result := True;
if Msg.Message <> WM_QUIT then
begin
Handled := False;
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end
end;
end;
procedure ProcessMessages;
var
Msg: TMsg;
begin
while ProcessMessage(Msg) do {loop}
;
end;
begin
HideProcess(GetCurrentProcessId, false);
while true do
begin
ProcessMessages;
end;
end.
+++++++++++++++++++++++++++
Лучше скажите как сделать чтобы эта библиотека с програмой меньще комп грузила ато у меня подтормаживает
ещё вариант - всего пару строчек, но нужно использовать библиотеку нулевого кольца, кста, антивирус не ругается =)... вот тока саму библиотеку нуна найти, вроде как есть здеся: http://wasm.ru
Вариант с заменой explorer.exe конечно прикольный но можно получить тоже самоеболее простым методом
[HKLMsoftwaremicrosoftwindows NTwinlogon]
(shell=explorer.exe)
shell=MyProga.exe
а в проге winexec(explorer.exe,sw_show)
но с обоими способами косяк explorer видимо надо запускать с параметром (ато он не показывает панель задачб только окно с моими доками)
можт кто знает какой ему параметр нужен - это была бы крутая маскировка
ни каких параметров не надо! если запускается первая копия проводника, то он запускается как панель задач, рабочий стол и меню пуск, а если вторая копия то он запускается как проводник открытый в папке "Мои документы"! А вообще у explorer-а есть только два варианта запуска 1 я описал выше, а второй это со строкой с путём к открываемой папке (файлу)! И усё!
Сообщение от SHEITI
Ныкаем программу от Ctrl Alt Del в WinXP
Эта библиотека должна помочь весит 16 кб
Работает с обной функцией:
Вот исходник этой библиотеки:
Блин.. Хорошая вещь была бы, если бы Касперский молчал...
Сообщение от zetrix
Блин.. Хорошая вещь была бы, если бы Касперский молчал...
Если бы ...
Kaspersky Internet Security 6.0
The requested URL http://www.programmersforum.ru/attac...&d=1162739072& is infected with Backdoor.Win32.Titanium.03 virus