Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000? / 18 сообщений из 18, страница 1 из 1
21.11.2003, 09:28
    #32330971
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
1. Можно ли написать сервис для win2000prof ?
2. Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Если да , то как?
...
Рейтинг: 0 / 0
21.11.2003, 10:44
    #32331089
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
1 Сервис да конечно можно , и запускаться он будет автоматом :)

2 а енто в принципе насчет видимости вот нтого помойму нелзя ,
тоесть спрятать ее.
если найти (гдето пол года назат эта тема проскакивала) сдесь то прочитай

_____________
__
...
Рейтинг: 0 / 0
21.11.2003, 12:27
    #32331261
Rostyk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
...
Рейтинг: 0 / 0
24.11.2003, 03:26
    #32332510
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Rostyk
тебе же ясно сказали что нужно под Win2000...
ты бы хоть хелп почитал.... по тойже функции, которую ты предлагаешь... попробовал бы запустить пример под 2000....
...
Рейтинг: 0 / 0
24.11.2003, 10:16
    #32332615
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Опять вирусописательством занимаемся?
...
Рейтинг: 0 / 0
24.11.2003, 12:52
    #32332825
Rostyk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Прошу у всех прощения за невнимательность. StarWind, спасибо за замечание.
Возможно этот вариант будет получше ?
...
Рейтинг: 0 / 0
24.11.2003, 14:31
    #32333016
swed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Вообще можно заслать этот вопрос во все форумы и не забыть это сделать еще и на rsdn.ru
Может там побыстрей ответят.
...
Рейтинг: 0 / 0
25.11.2003, 03:30
    #32333659
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Rostyk
у меня Win2000 и прекрасно все видно и в Task Manager и в панели задач.
Насколько я помню в винде не возможно создать процесса, который бы не был виден.
...
Рейтинг: 0 / 0
25.11.2003, 07:10
    #32333678
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
где-то читал, что можно сделать, чтобы процесс не был виден именно в TASK MANAGERe только зачем этот геморрой нужен?
...
Рейтинг: 0 / 0
25.11.2003, 08:08
    #32333700
Askar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Посмотри здесь, может пригодится:
""Как сделать невидимой прогу для Ctrl+Alt+Del?""
http://www.soobcha.ru/faq/index.html?question=847
...
Рейтинг: 0 / 0
25.11.2003, 08:18
    #32333711
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Askaк
тебе лишь бы что-нить ответить? Это уже предлагалось, и там ясно написано что это только для 98 серии виндов, а у автора топика требуется для ядра NT...

srf2000
ее все рвавно можно будет увидеть, ведь винда о ней же знает :))
даже то что предлагается для 98 можно обойти, была прога, которая показывала все процессы
...
Рейтинг: 0 / 0
25.11.2003, 08:47
    #32333731
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Я не совсем понимаю что значит запускалась длля...
Но, посмотрите в сторону msgina.dll может пригодится
Еще как-то раз длля не выгружалась у меня.
Суть была следующая, была нек-ая программа, осуществлялось внедрение в этот процесс и загрузка от его имени длл-я, после чего процесс срубался.
Длля оставалась... до перезагрузки машины :)
...
Рейтинг: 0 / 0
25.11.2003, 10:44
    #32333864
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
SiDen
боюсь человек (автор топика) просто не верно написал
...
Рейтинг: 0 / 0
25.11.2003, 10:48
    #32333870
Chaynik_A
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
1. Сервис можно написать, он будет виден, в Win2000 всё видно, любой процесс, но оно и правильно...
2. Загруженная dll и так не видна...
...
Рейтинг: 0 / 0
25.11.2003, 11:41
    #32333963
Rostyk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Учитывая свою предыдущую оплошность с советом, прежде чем давать новый, я проверил его у себя (D6, Win2000SP3). Приложение исчезает из списка приложений, но остается в списке процессов.
...
Рейтинг: 0 / 0
26.11.2003, 03:13
    #32334783
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Rostyk
сорри, не верно написал. кнопка действительно пропадает, но по Alt-tab приложение есть и в процессах тоже есть (D5 Win2000SP4). Мне кажется дохлый номер спрятать процесс так, чтобы его нигде не было видно (на ядре NT разумеется)
...
Рейтинг: 0 / 0
26.11.2003, 09:43
    #32334902
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
Ну можно например сделать так...
Находим пид нужного нам процесса... какого-нибудь :) по имени...
затем заставляем его загрузить нужную нам длл-ю... в ней делаем то для чего все это нам нужно...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ShellAPI;

const
  TH32CS_SnapProcess =  2 ;

type
  TProcessEntry32 = record
      dwSize              : DWORD;
      cntUsage            : DWORD;
      th32ProcessID       : DWORD;
      th32DefaultHeapID   : DWORD;
      th32ModuleID        : DWORD;
      cntThreads          : DWORD;
      th32ParentProcessID : DWORD;
      pcPriClassBase      : integer;
      dwFlags             : DWORD;
      szExeFile           : array [ 0 ..MAX_PATH- 1 ] of char;
                     end;

 function CreateToolhelp32Snapshot (dwFlags,th32ProcessID: cardinal) : cardinal;
 function Process32First(hSnapshot: cardinal; var lppe: TProcessEntry32) : bool;
 function Process32Next(hSnapshot: cardinal; var lppe: TProcessEntry32) : bool;
 function FindProcess( Name : string) : dword;
 procedure GetDebugPrivs;
 function InjectDllToTarget(dllName : string; TargetProcessID : DWORD ): boolean;

implementation

Const SE_DEBUG_NAME = 'SeDebugPrivilege' ;

procedure GetDebugPrivs;
var
  hToken: THandle;
  tkp: TTokenPrivileges;
  retval: dword;
begin

 if  (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or  TOKEN_QUERY, hToken)) then
   begin
     LookupPrivilegeValue(nil, SE_DEBUG_NAME  , tkp.Privileges[ 0 ].Luid);
     tkp.PrivilegeCount :=  1 ;
     tkp.Privileges[ 0 ].Attributes := SE_PRIVILEGE_ENABLED;
     AdjustTokenPrivileges(hToken, false, tkp,  0 , nil, retval);
   end;
end;


function FindProcess( Name : string) : dword;
var
   FSnapshotHandle : THandle;
   FProcessEntry32 : TProcessEntry32;
   ContinueLoop:BOOL;
   hp : Thandle;
begin

   FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0 );
   FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
   ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);
   while ContinueLoop do
   begin
     if Name = FProcessEntry32.szExeFile  then
        begin
           result := FProcessEntry32.th32ProcessID ;
           CloseHandle(FSnapshotHandle);
           exit;
        end;

       ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);
   end;
   CloseHandle(FSnapshotHandle);
end;



var
 pCreateToolhelp32Snapshot : function (dwFlags,th32ProcessID: cardinal) : cardinal; stdcall = nil;
 pProcess32First :  function (hSnapshot: cardinal; var lppe: TProcessEntry32) : bool; stdcall = nil;
 pProcess32Next  :  function (hSnapshot: cardinal; var lppe: TProcessEntry32) : bool; stdcall = nil;



function TestToolhelpFunctions : boolean;
var c1 : cardinal;
begin
  c1:=GetModuleHandle('kernel32');
  @pCreateToolhelp32Snapshot:=GetProcAddress(c1,'CreateToolhelp32Snapshot');
  @pProcess32First          :=GetProcAddress(c1,'Process32First'          );
  @pProcess32Next           :=GetProcAddress(c1,'Process32Next'           );
  result := (@pCreateToolhelp32Snapshot<>nil) and (@pProcess32First<>nil) and (@pProcess32Next<>nil);
end;


 function CreateToolhelp32Snapshot (dwFlags,th32ProcessID: cardinal) : cardinal;
 begin
   result :=  0 ;
   if @pCreateToolhelp32Snapshot = nil then if not TestToolhelpFunctions then exit;
   result := pCreateToolhelp32Snapshot( dwFlags , th32ProcessID );
 end;

 function Process32First(hSnapshot: cardinal; var lppe: TProcessEntry32) : bool;
 begin
   result := false;
   if @pProcess32First = nil then if not TestToolhelpFunctions then exit;
   result := pProcess32First(hSnapshot,lppe);
 end;

 function Process32Next(hSnapshot: cardinal; var lppe: TProcessEntry32) : bool;
 begin
    result := false;
    if @pProcess32Next = nil then if not TestToolhelpFunctions then exit;
    result := pProcess32Next(hSnapshot,lppe);
 end;

function InjectDllToTarget(dllName : string; TargetProcessID : DWORD ): boolean;
 var
  LibName  : pointer;
  hProcess , ThreadHandle : Thandle;
  BytesWritten , TheadID : DWORD;
begin
 result := false;

 hProcess := OpenProcess( PROCESS_ALL_ACCESS, FALSE, TargetProcessID );
 if (hProcess =  0 ) then exit;

 LibName := VirtualAllocEx(hProcess ,  0 , length(dllName) +  5   , MEM_COMMIT , PAGE_READWRITE) ;
 if ( LibName <> nil) then
 begin
    WriteProcessMemory(hProcess , LibName, pchar(dllName) , length(dllName) , BytesWritten );
 end ;

 ThreadHandle := CreateRemoteThread( hProcess , nil ,  0 ,   GetProcAddress(LoadLibrary('kernel32.dll'), 'LoadLibraryA') , LibName , 0  , TheadID );
 result := ThreadHandle <>  0 ;
 WaitForSingleObject( ThreadHandle , INFINITE);   
 VirtualFreeEx( hProcess , LibName ,   0  , MEM_RELEASE);
 CloseHandle(hProcess);
end;


Все необходимое есть... делаем внедрение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure MyCoolProc;
var
   PID       : Dword;
   dll_to_inject : string;
   h: hwnd;
begin
 GetDebugPrivs;
 dll_to_inject := 'MYCOOLDLL.DLL';  //тут название длл-и которую внедряем
  PID := FindProcess('ТУТ НАЗВАНИЕ ПРОЦЕССА К КОТОРОМУ ЦЕПЛЯЕМСЯ');
  InjectDllToTarget(dll_to_inject, PID);
end;


Ну вот собссно...
В длл-е например запускаем процесс и дампим кусок памяти принадлежащий процессу в который внедрились
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
library InjectDLL;

uses windows,classes,sysutils,dialogs;

type
  TMyThread=class(TThread)
              protected
                procedure Execute; override;
            end;
  proc=procedure;
var
  MyThread: TMyThread;

procedure TMyThread.Execute;
var
  processflag: boolean;
begin
// Делаем то, что нужно
end;

procedure process;
begin
  MyThread:=TMyThread.Create(True);
  MyThread.Priority:=tpIdle;
  MyThread.FreeOnTerminate:=True;
  MyThread.Resume;
end;

begin
  process;
end.


Все лишнее вроде вырезал :)

Суть была следующая...
Заставить стороннюю программу по нажатию Ctrl+S запрашивать название файла и сливать туда дамп памяти процесса в который внедрились
...
Рейтинг: 0 / 0
26.11.2003, 11:00
    #32335010
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000?
ну интересный выход... когда влазием в существующий процесс не пораждая новый и соответственно не регистрируем его в манагере задач
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Можно ли написать dll-ку чтобы она запускалась автоматически при старте Windows и при этом не была видна в диспечере задач Windows2000? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]