![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 29 Всего: 191 |
Готов, чтобы в меня летели помидоры.
![]() Моя идея такова: получать информацию о потоках приложения. Есть приложение, Process Explorer, которое показывает все потоки процесса. Там есть графа StartAddress, в котором находится имя модуля. Большинство стандартных библиотек, создавая свои потоки через вызовы API (пример - компонент Animate), отображаются со своим именем модуля (comctl32.dll, winmm.dll и т.д.) - тут все ок. Вызов CreateRemoteThread для процесса при простом внедрении показывает, что имя модуля устанавливается в kernel32.dll. На это, имхо, можно повлиять, но я не встречал таких внедрителей. Сложные потому что ![]() Беда в том, что в чистом нормальном приложении иногда уже есть поток от kernel32.dll. Это проделки API и DLL Но, хорошо зная свое приложение, можно точно определить его потенциальные потоки, если их много. И тогда можно отследить появление нового, "левого" потока. Конечно, замутный способ. Но работает при правильном применении ![]() Сплайсинг тут не пройдет, конечно... Это сообщение отредактировал(а) Rrader - 1.6.2008, 13:45 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
Process Explorer раскручивает стек в поиске адресов возврата. В случае с удалённо созданным потоком там либо будет kernel32.dll, либо вообще ничего не будет. Ну о недостатках ты знаешь ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Rrader |
|
||||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 29 Всего: 191 |
Пожалуй, самая большая беда ![]() ![]() Добавлено через 5 минут и 19 секунд Думаю, что способ через перехват LdrLoadLibrary наиболее здесь подошел бы ![]()
Это сообщение отредактировал(а) Rrader - 1.6.2008, 14:25 |
||||
|
|||||
wvlg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.6.2008 Репутация: нет Всего: нет |
А как насчет такого:
Вражеская длл ws2_32 лежит в папке с приложением! Что тогда? Тогда загрузчик, по идее должен будет загрузить именно его.... (Если конечно изначально заложить что-либо об этой системной длл, но, это, думаю тоже не выход) Это сообщение отредактировал(а) wvlg - 2.6.2008, 14:40 |
|||
|
||||
takep |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.8.2007 Репутация: нет Всего: нет |
Есть пример глобального хука средствами advApiHook
Это сообщение отредактировал(а) takep - 3.6.2008, 13:14 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |