169 похожих чатов

Анрей С какой целью зашёл?

43 ответов

35 просмотров

Господин транзистор, вы что-нибудь слышали о перехвате winApi функций?

КТ315- Автор вопроса
КТ315
Я бог перехватов.

А где можно научиться такому же уровню?

КТ315- Автор вопроса
Alexey
А где можно научиться такому же уровню?

Это очень сложная философия, такому нигде не учат.

КТ315
Я бог перехватов.

До первой многопоточной программы, где нужно ставить и удалять хуки динамически?

КТ315
Это очень сложная философия, такому нигде не учат.

Я просто посмотрел видос , мне понравилось. Хочу сделать какой-нибудь перехват

Alexey
Я просто посмотрел видос , мне понравилось. Хочу с...

Берёшь любую либу, можешь начать с детурс. И твой код работает везде. В отличие от.

КТ315- Автор вопроса
s54820
До первой многопоточной программы, где нужно стави...

Отправляй мне такую программу, и говори что делать.

КТ315- Автор вопроса
Alexey
Эта кто

(Microsoft) Detours

КТ315- Автор вопроса
Alexey
Эта кто

Шаблонная страшная библиотечка для новичков, блевать тянет.

КТ315
Отправляй мне такую программу, и говори что делать...

Ты снова скажешь, что если программа падает в одном проценте случаев, то это ничего, так и должно быть.

s54820
Берёшь любую либу, можешь начать с детурс. И твой ...

А как либу менять, контрольная сумма ругаться не будет?

КТ315- Автор вопроса
s54820
Ты снова скажешь, что если программа падает в одно...

1% случаев? Так-то твой Detours сам падает с наибольшим процентом 😃

Alexey
А как либу менять, контрольная сумма ругаться не б...

Контрольная сумма если и сверяется, то при загрузке. В рантайме вычисляют только протекторы, но протекторы — это отдельная тема, они и хуки детектить умеют.

КТ315- Автор вопроса
КТ315
1% случаев? Так-то твой Detours сам падает с наибо...

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

КТ315- Автор вопроса
Aleksandr
использовал его в паре проектов, в том числе в ком...

Правильно. "У меня не ломается, а если у кого-то ломается, то это их проблемы", я такого же мнения 👍

Alexey
Рептилойд

А ты то хоть мне подскажешь как сделать первый хук?

Mixail Frolov
таблицу импорта правишь

Ахахаха, а что, так можно было что-ли🤣

КТ315- Автор вопроса
The Bird of Hermes
Ахахаха, а что, так можно было что-ли🤣

Не, это скучно. Там ассемблер почти не нужен.

КТ315- Автор вопроса
Alexey
А ты то хоть мне подскажешь как сделать первый хук...

Смотри, находишь функцию-жертву, снимаешь защиту на запись (VirtualProtect), читаешь и сохраняешь первые 2-3 инструкции, а на место них ставишь "mov eax, addr \ call eax", где addr - твоя функция, внутри своей функции вставляешь эти прочитанные 2-3 инструкции оригинальные. Всё, ты перехватил функцию.

КТ315
Смотри, находишь функцию-жертву, снимаешь защиту н...

Первые две инструкции: dec jnz. Всё упало. А, и ты забыл ему сказать, что ему придётся дизасм длин с собой таскать.

КТ315- Автор вопроса
s54820
Первые две инструкции: dec jnz. Всё упало. А, и ты...

😂 Я даже не знаю, что на это ответить... Ты ожидаешь, что я буду советовать ему писать шаблончики, но это не так) и нет, никакой дизассемблер не нужен, просто нужно открыть функцию-жертву в отладчике, и посмотреть глазами сколько байтиков идёт на замену)

КТ315
😂 Я даже не знаю, что на это ответить... Ты ожидае...

Ну то есть ты привязался к бинарнику, бинарник обновился, всё снова упало.

КТ315- Автор вопроса
s54820
Ну то есть ты привязался к бинарнику, бинарник обн...

Ок, писал ты хук на Detours, программа обновилась, в неё добавили протектор, всё упало, тратишь 2 года на изучение ассемблера чтобы написать узконаправленный хук.

Есть, но addr куда-то нужно положить. Есть call addr, но для него нужно считать офсет, а транзистору видимо лень было.

s54820
Есть, но addr куда-то нужно положить. Есть call ad...

Стоп, куда то положить адресс это что значит?

s54820
Есть, но addr куда-то нужно положить. Есть call ad...

есть call 16:32 с непосредственными значениями, если я не путаю

Alexey
Стоп, куда то положить адресс это что значит?

Ну ты спросил про indirect переход. Оно сначала читает дворд по addr и потом по этому дворду переходит. Так, например, импорты работают: ты call [ExitProcess], а там ExitProcess dd адрес_ExitProcess_внутри_kernel32_dll, оно читает и потом переходит. То же самое происходит с call eax, но адрес читается из регистра. И, наконец, у нас есть относительный джамп, там адрес кодируется как часть самой инструкции, и его нужно высчитывать, потому что это смещение от следующей инструкции, а не абсолютный адрес.

Aleksandr
есть call 16:32 с непосредственными значениями, ес...

Есть, но это это нужно прочитать cs, чтобы его потом закодировать.

s54820
Ну ты спросил про indirect переход. Оно сначала чи...

Да это я понимаю, я совсем не понимаю зачем это делать, если я вызываю функцию, значит, я записал ее в библиотеку , значит, я могу вызвать ее call dword [OurProcedure]

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта