|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
|
Хук на C# (Hook on C#)13.07.2014, 16:46. Показов 9951. Ответов 14
Метки нет (Все метки)
добрый день. знаю на форуме много тем про всякие хуки клавиатуры или мыши, но вирусные программы меня не интересуют, я хотел бы узнать как в на C# сделать хук на заданный адрес нужной программы(процесса). Возможно ли это сделать на данном зыке ? Спасибо
0
|
|
| 13.07.2014, 16:46 | |
|
Ответы с готовыми решениями:
14
Hook Hook |
|
Заблокирован
|
|
| 13.07.2014, 20:08 | |
|
На данном языке можно сделать все что душе угодно!
2
|
|
|
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
|
|
| 14.07.2014, 10:34 | |
|
2
|
|
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|||||||
| 14.07.2014, 10:43 | |||||||
|
Вот например 2 способа:
1) HW Breakpoint (Подключение отладчика и установка точек останова.) Кликните здесь для просмотра всего текста
Кожд на С++, но легко портируется на C#
2) Code cave injections Тут все просто, но надо знать ассемблер. По нужному адресу записываем байткод перехода, в том месте куда адресует переход обрабатываем ситуацию. потом выполняем перезаписанный код, и переходим на место первоначального перехода. На пальцах рассказать не сильно получается, на деле все проще. Если хотите более подробно, погуглите. ЗЫ. но еще раз повторяюсь, все эти методы требуют понимания, что такое регистры и флаги, а во втором случае надо знать что такое стек, да и вообще знание ассемблера желательно. Удачи вам в начинаниях. Добавлено через 46 секунд
1
|
|||||||
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
|
|||
| 15.07.2014, 00:46 | |||
|
программированием уже проблемы. Есть библиотечка http://easyhook.codeplex.com/ , которая облегчает жизнь в этом плане - т.е реализует хардкорную часть функционала на C++ , маршалит хукнутые функции в NET c# , а так же позволяет выполнять комманды через IPC канал.
2
|
|||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
||||||||
| 15.07.2014, 11:27 | ||||||||
вот пример вызова функции с параметрами из процесса:
0
|
||||||||
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
|
||
| 15.07.2014, 23:44 | ||
|
Вы бы не копипастом занимались , а сами проверили ).
Естественно что можно записать байты в адресное пространтсво другого процесса , но вопрос то про хуки - т.е требуется что бы чужой процесс мог вызвать функцию в вашем управляемом коде., и никакой вин.апи + pinvoke только лишь средствами NET тут не поможет.
1
|
||
|
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
|
||
| 15.07.2014, 23:56 | ||
|
Вот скриншот При желании на шарпе можно провернуть все что угодно, в пределах юзермода
1
|
||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|||
| 16.07.2014, 00:35 | |||
Вот вы много пытаетесь "чего-то доказать" но на самом деле все гараздо проче, чем вы описываете, и очень легко подключать саму managed сборку к процессу, и подписатся на событие. ЗЫ. И не надо говорить что это невозможно:?
0
|
|||
|
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
|
||
| 16.07.2014, 03:13 | ||
|
Не по теме: окей, сделай мне асм вставки, для получения значений регистров, а я посмотрю, как это у тебя выйдет :D
0
|
||
| 16.07.2014, 07:13 | ||||||
|
Не по теме: Winhttp22, вызов принят
0
|
||||||
|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
|
| 17.07.2014, 11:37 [ТС] | |
|
извиняюсь, что отсутствовал 3 дня. Почитав посты, предлагали делать Бряки на адрес, но ведь он нужен для получения инфы со стека или регистров, а в плане хука подразумевалось, что при выполнении своей операции заданной программой, выполнялась не она, а то что задал я, ну и желательно без модификаций, то есть джампа в свободную область-выполнение-джамп обратно.
Натыкался на DLL`ку EasyHook , но не смог наковырять в ней такого действия
0
|
|
|
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
|
||
| 17.07.2014, 15:04 | ||
|
В общем на шарпе сделать возможно, но проще сделать на нативном языке (С, D, Delphi), заодно и другой язык выучите
0
|
||
|
20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 169
|
|
| 17.07.2014, 15:54 [ТС] | |
|
Yukikaze, ну я с делфи год-полтора занимался точно, но сейчас больше сам процесс написания подобного на шарпе интересует, чем результат. Вот добрел до этого и решил попробовать, пробовал делать обычные асемблерные вставки и выполнять их, тестил на самой банальной игре "Пасьянс Паук" , попытка повторить функцию добавления очков прошла на 50%, то есть заданное кол-во очков добавляет и через секунду краш, как исправить так и не сообразил. Вот так выглядит сама функция
PUSH -1 ;Кол-во добавляемых очков MOV ECX,ESI MOV DWORD PTR DS:[ESI+5C],EDI CALL 01003596 ; Вызов самой функции добавления Если делать просто через программу изменение памяти и перенос этого же действия, то все отлично, а если нужно удаленно вызвать, то уже никак, то есть через CreateRemoteThread, в конце концов краш приложения
0
|
|
| 17.07.2014, 15:54 | |
|
Помогаю со студенческими работами здесь
15
hook
Hook Hook клавиатуры InternetReadFile hook Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|