Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Inject Dll To Explorer 
:(
    Опции темы
Firster
Дата 25.8.2007, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 16.8.2007
Где: Ukraine

Репутация: нет
Всего: нет



Библиотеку инжекчу из ЕХЕ-файла. 
Код

 hProc:= OpenProcessEx(PIDExplorer);
 if InjectDll(hProc, 'HookLib.dll') then Memo1.Lines.Add('Ок')
                                                 else Memo1.Lines.Add('Нет');

PM MAIL   Вверх
ne0n
Дата 25.8.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



hProc значение проверял...не нулевое?!

Это сообщение отредактировал(а) ne0n - 25.8.2007, 22:54
PM MAIL ICQ   Вверх
Firster
Дата 25.8.2007, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 16.8.2007
Где: Ukraine

Репутация: нет
Всего: нет



Вот процедура, которая при загрузке приложения по OnCreate вызывается.
Код

procedure TForm1.LoadFirstTable;
var Hdl:Cardinal;
    pe32: TProcessEntry32;
    item:TListItem;
    hProc:THandle;
begin
   ListView1.Clear;
   Hdl:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS , 0);
   if Hdl=INVALID_HANDLE_VALUE then
                                    begin
                                      showmessage('Error in call CreateToolhelp32Snapshot!!!');
                                      exit;
                                    end;
   try
      pe32.dwSize := SizeOf(TProcessEntry32);
      if Process32First(Hdl,pe32) then
      repeat
       item:=ListView1.Items.Add;
       item.Caption:=inttostr(pe32.th32ProcessID);
       item.SubItems.Add(Format('%s',[pe32.szExeFile]));

       EnableDebugPrivilege();
       hProc:= OpenProcessEx(pe32.th32ProcessID);
       if InjectDll(hProc, 'HookLib.dll') then Memo1.Lines.Add('Injecting to hProc='+inttostr(hProc)+'  '+Format('%s',[pe32.szExeFile]))
                                          else Memo1.Lines.Add('Injecting falled '+inttostr(hProc)+'  '+Format('%s',[pe32.szExeFile]));

      until not Process32Next(Hdl,pe32);
    finally CloseHandle(Hdl);
    end;
end;



Добавлено через 2 минуты и 46 секунд
Пишет, что вроде бы ИНЖЕКТ установлен нормально, но реально НЕТ. Например, если ВинКомандер запущен, то ДЛЛ отлавливает запуск из него ЕХЕшников. А ЭКСПЛОРЕР молчит....
PM MAIL   Вверх
ne0n
Дата 25.8.2007, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



попробуй InjectDllAlt...а вообще лучше внедрять через ловушки!
PM MAIL ICQ   Вверх
Firster
Дата 25.8.2007, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 16.8.2007
Где: Ukraine

Репутация: нет
Всего: нет



зависает

Добавлено через 15 секунд
буду пробовать через ДЛЛ
PM MAIL   Вверх
ne0n
Дата 25.8.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



Firster, так библеотека внедрена или нет?!
(а вообще внедряться во все подряд нельзя...система может рухнуть)


Это сообщение отредактировал(а) ne0n - 25.8.2007, 23:13
PM MAIL ICQ   Вверх
Firster
Дата 25.8.2007, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 16.8.2007
Где: Ukraine

Репутация: нет
Всего: нет



Библиотека внедряется через InjectDll(hProc, 'HookLib.dll'). В ней заложены функции перехвата АПИ функций.

Добавлено через 1 минуту и 21 секунду
и при перехвате вызова АПИ-функции она отправляет сообщение проге. Вот так я узнаю, что в системе запущен очередной процесс (программа)
PM MAIL   Вверх
Firster
Дата 26.8.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 16.8.2007
Где: Ukraine

Репутация: нет
Всего: нет



neOn, ты не поверишь, но получилось!!! Все согласно старой мудрости: "Если ничего не получается начни сначала...вернись к истокам!". И вот вернулся вначало

а вот этот код у меня заработал:
Код

procedure InjectDllToExplorer;
var
  PID, hProcess: DWORD;
  DLL: PChar;
begin
  DLL := PChar(MainForm.AppPath+'Progs\InjectToExplorer.dll');
  GetWindowThreadProcessId(FindWindow('Shell_TrayWnd', nil), @Pid);
  hprocess := OpenProcess($1F0FFF, False, Pid);
  InjectDll(hProcess,DLL);
  CloseHandle(hprocess);
end;


хуки работаю как часики....
Спасибо Hacker за исток и neOn за поддержку!
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0853 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.