![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
lifer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Нужно в реальном времени изменять некоторые исходящие пакеты, передающиеся приложением.
Это выполнимо на Delphi ? |
|||
|
||||
<Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Да, выполнимо - тебе нужно делать перехват winsock32 функций в нужном приложении и менять пакеты в сулчае необходимости. Темы такие были, так что используй поиск.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
lifer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Я так понял что мне надо перехватывать ф-цию send. Я прав?
Это сообщение отредактировал(а) lifer - 31.5.2005, 12:28 |
|||
|
||||
RA |
|
||||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Сразу дам пример перехвата входящих и исходящих пакетов.
необходим юнит madCodeHook из библы madCollection. http://madshi.net/madCollection.exe Внедрение hook.dll в нужный тебе процесс
А вот так выглядит Hook.dll .
ЗЫ: надеюсь принцип ясен. |
||||
|
|||||
Guest |
|
||||
Unregistered |
Разобрался с madCollection...
Несколько вопросов: 1.
У меня ведь будет уже запущенное приложение из которого надо будет перехватывать пакеты. 2.
Я так понял что при вызове ф-ции send будет выполняться сначала ф-ция sendHookProc. А в переменных s; var ; len, flags будет нужный мне пакет? |
||||
|
|||||
RA |
|
||||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Ну запуская процесс мы получаем TProcessInformation каторый потом используем для того что бы внедрить в чужой процесс свою dll. (просто так проще). Ну если процесс уже запущен то внедряйся в запущенный процесс... {Пример дать ?}
Именно так. Это сообщение отредактировал(а) RAdmin - 2.6.2005, 17:48 |
||||
|
|||||
haword |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 21.10.2004 Репутация: нет Всего: 3 |
RAdmin
если не трудно тай примерчик внедрения ![]() ![]() |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Не трудно, только ты создай про это отдельную тему в разделе winapi или общие вопросы. правила тут такие: один вопрос один топик. ![]() |
|||
|
||||
lifer |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Это понятно, только вот приложение при запуске через CreateProcess не хочет работать так, как нужно... так что лучше запускать его вручную...
Можете привести небольшой примерчик по внедрению в конкретный процесс? а то в хелпе по MadCodeHook рассматривается внедрение во все работающие проуессы. Это сообщение отредактировал(а) lifer - 5.6.2005, 12:30 |
||||
|
|||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Вроде так должно работать, но не проверял. Это сообщение отредактировал(а) RAdmin - 5.6.2005, 14:04 |
|||
|
||||
lifer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
[Error] Unit1.pas(34): Incompatible types: 'Cardinal' and 'Boolean' тут что-то не так... Это сообщение отредактировал(а) lifer - 5.6.2005, 13:57 |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Подредактировал, но всёравно не проверял.
|
|||
|
||||
Guest |
|
|||
Unregistered |
Я уже сделал вот так:
Теперь буду разбираться с dll ![]() |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Окинув это своим взглядом я пришел к выводу, что такая модификация в XP приведёт к получению ID рандомного процесса имеющего сходное имя файла но другую директорию запуска. |
|||
|
||||
lifer |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Захотел протестировать dll, по идее Result := -1; должен блокировать передачу данных. Я правильно понял? Вот код инжекта в исполняемом файле:
Такая конструкция у меня не работает ![]()
У меня windows 2000 ![]() Это сообщение отредактировал(а) lifer - 6.6.2005, 17:56 |
||||||
|
|||||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
lifer
Завтра приду домой всё проверю. |
|||
|
||||
lifer |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
спасибо. P.S. Извините что так много вопросов задаю, просто с темой перехвата API первый раз столкнулся. Да, и еще, чем такая конструкция:
отличается от такой:
Это сообщение отредактировал(а) lifer - 7.6.2005, 09:35 |
||||||
|
|||||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
HookAPI('wsock32.dll', 'send', @sendHookProc, @sendNextHook);
наложыт хук на функцию send в модуле wsock32.dll, тоесть получать мы будем весь трафик, а нам как я понял нужно только от конкретного процесса.
Ну по идее так можно сделать, только чужое приложение будет ожидать таймаута если это поставить на sendHookProc. Собсно вот прилагаю проверенный код внедрения с дллкой. Присоединённый файл ( Кол-во скачиваний: 256 ) ![]() |
|||
|
||||
lifer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Спасибо большое за помощь, разобрался в вашем коде, теперь с помощью MadCodeHook SendIpcMessage сделал передачу данных между hook.dll и приложением.
Вроде проблема решена. Если еще появятся вопросы я обращусь к вам. |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Обращайся.
![]() |
|||
|
||||
lifer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Помогите найти ошибку.
Я перевожу данные, передаваемые приложением в hex-вид, для редактирования. Все работает, только при передаче вот таких данных: 89 00 00 00 1F A1 7B 0E 00 89 00 00 00 1F 20 95 0F 00 89 00 00 00 1F 07 C4 0F 00 89 00 00 00 1F FE F2 0F 00 89 00 00 00 1F FE F2 0F 00 89 00 00 00 1F E6 21 10 00 (смотрю с помощью commview) получается вот это: 89 00 00 00 34 1D D2 14 34 89 00 00 00 34 1D D2 14 34 89 00 00 00 34 1D D2 14 34 89 00 00 00 34 1D D2 14 34 89 00 00 00 34 1D D2 14 34 89 00 00 00 34 1D D2 14 34 данные, не содержащие 00 00 00 обрабатываются корректно. Я наверное неправильно обрабатываю данные в строке Data := Copy (PChar(@Buf),1,len); ? Вот код перевода в hex:
Это сообщение отредактировал(а) lifer - 9.6.2005, 16:35 |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Это сообщение отредактировал(а) RAdmin - 10.6.2005, 22:11 |
|||
|
||||
lifer |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Спасибо, только вот зачем вот этот кусок кода:
У меня все работает вот так:
|
||||
|
|||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Ну это модификаци, если конечно тебе это нужно. ![]() |
|||
|
||||
Guest |
|
||||
Unregistered |
А... ну тогда наверное должно быть так:
Мне нужно будет модифицировать пакеты вручную, для этого я и делаю перевод в Hex. |
||||
|
|||||
lifer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.1.2004 Где: Kiev, Ukraine Репутация: нет Всего: нет |
Ой, ошибся, вы были правы. я не туда глядел ![]() |
|||
|
||||
Tosik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 31.3.2010 Репутация: нет Всего: нет |
Тема хоть и старая, но вопрос актуальный. Есть желающие помочь разобраться с тем о чём говориться в теме?
|
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 8 Всего: 76 |
А в чем вопрос-то? Проблемма в чем?
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
Tosik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 31.3.2010 Репутация: нет Всего: нет |
Разбираю вот этот код
Присоединённый файл ( Кол-во скачиваний: 150 ) InjectandhookDll.rar 2,36 Kb (Выложенный выше). Нужно изменить все вот это
На то чтобы, по нажатию проверялось CRC файла, если совпадает exe'шка запускается и внедряется dll . Также желательно примерчик, как шифровать трафик в dll, ну и вообще интересует как можно зашифровать трафик, чтобы потом его расшифровать сервером. Это сообщение отредактировал(а) Tosik - 6.4.2010, 08:49 |
|||
|
||||
KotJ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 14.4.2010 Репутация: нет Всего: нет |
Код библиотеки :
библиотека внедряется в оперу, файл внедряемой библиотеки не удаляется, я так полагаю что это признак что нормально внедрилась. Но при лазании по Инету, никаких файлов не создается, хотя по идее должно? Что я делаю не так? не могу никак понять.. пробовал и HookCode и HookAPI.. |
|||
|
||||
KotJ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 14.4.2010 Репутация: нет Всего: нет |
Исправил на это файл создался. Но.. некоторые ресурсы не загружаются. Некоторые загружаются. Почему? |
|||
|
||||
UFO007 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 13.7.2013 Репутация: нет Всего: нет |
Доброго всем времени суток!
Попалась как-то (на хакер.ру что-ли) статейка как продвинуть собственный сайт, т. е.: при гуглении "футбол" первым из "примерно 30 500 результов" браузеру подсовывается "... наши футболисты ...." ну и соответсвенно ссылочка на www.ufo_007.com(например). С обработкой текста проблем нет, а вот с перехватом трафика... В статье воспевается advAPIHook но тут я чо-то слегонца недопонял - вернее не стал разбираться т. к. подвернулось следующее:
Присоединённый файл ( Кол-во скачиваний: 10 ) ![]() |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "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. |