Перейти к содержимому

Фотография

Detours x86 C++

* * * * * 1 Голосов C++

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1
  P45H3

P45H3
    Эксперт
  • Сообщения:
    205
  • Номер пользователя:
    17
  • Регистрация:
    22-Nov 17
  • Репутация:
    597
В этом гайде я расскажу про использование библиотеки detour для сетапа хуков.
Поехали.
 
Создаём Win32 Dll.
Скачиваем 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

(клик) с файлами.
После создания проекта добавляем файлы из архива в папку с проектом и в сам проект.
После в файле DllMain подключаем всё файлы

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 
Далее создаём объекты для работы

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 
После описываем апиентри дллки

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 
После этого мы начинаем искать что мы будем хукать.
Допустим у нас есть такое приложение

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 
Теперь для иды нужно поставить 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

плагин.
Кидаем в папку Plugins
 
заходим в IDA 6.8
и ищем нашу функцию.
Вот она:
Скрытый текст
 
Далее пкм по ней и Text View
Скрытый текст
 
Видим что-то типо этого
Скрытый текст
 
Это и есть наша функция.
Выделяем её от типа до retn.
Скрытый текст
 
Далее жмём Edit -> Plugins -> SigMaker
и выбираем второе
Скрытый текст
и жмём ОК.
 
В низу появится паттерн + маска
Скрытый текст
 
Выделаем и идём в студию.
Видим Это

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

В первый параметр передаём имя процесса, во второе паттерн, и в 3 маску.
 
В результате у вас получится примерно это

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 
Всё теперь осталось описать Хук-функцию. Идём вверх(над апиентри) и создаём тайпдеф нашей функции с параметрами(или без) - это мы увидим в IDA.
 
Хукаемая функция выглядит так:
int __cdecl FuncToHooked(int a, int B)
 
И наш тайпдеф будет таким

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 
Далее опишем саму функцию
 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

Наша хукаемая функция возвращает сумму a , b;
Теперь при хуке будет не 5 + 5, а 105 + 55.
 
Ну в принципе всё. Для хука void функций делайте так:
 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 
Пробуйте)

  • MS_CHESTER, SID, baresark и еще 1 это нравится

#2
  DarkD

DarkD
    Пользователь
  • Сообщения:
    40
  • Номер пользователя:
    463
  • Регистрация:
    08-Jun 18
  • Репутация:
    30

zer0memory в точь точь слизано!)))!



#3
  Panika2886

Panika2886
    Новичок
  • Сообщения:
    1
  • Номер пользователя:
    1708
  • Регистрация:
    22-Oct 18
  • Репутация:
    0

Очень познавательно, спасибо






Темы с аналогичными тегами: C++

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Тему поситили 151 пользователей


    itinenkoaz, Williamblefe, IrinanokycocairorE, Georgegluts, RogerAdafe, 98thrxse, Holowife, Flazy, MauricePleby, WarrenCed, WillieMopay, Tester, 4b1dd3n, Utine, ewix, Randygring, Черт, MarkiLSD, leekmayofficial, Kennethges, abobaboba, jajaz1, Scub, alextrtrtr, perozinka, hlebursa, poppyboy, Nikser, Gasper, ReVaas, Inxsb, anshoushka, leniawar, dfsdfjndsbasvae, eafyfrbfafhwfabfwef, Reformetr, Nikpapa1, CrackedByte, Dumitory, AnderBro, wertgfyh, hetov412, galstertemp, kolia, AntiQube, Gloxinia, rodor03, demontronpc, DagerOnFire, perfeto, gods, Jav1x, Vertex, Kizna, Shadow, Xazzi, ScrapDolll, sfdafas4d6f, Minimalist2k, YARDAR, Ha1sis, jab0ckha4, OIIOCCYM, OBTest, apelCun, sharkkiua, booba4am, Domos, es3n1n, dummo, sadfgsfer, ss0snaa, Flow228, Mibogi, universrayden, Kami, Rncko, николай22, Freeman_699, Joker, Саша31, lucaswf97, Circlee, winerx, BadBoy, MS_CHESTER, Desving22, DexFect, fsdafasfjkfehe, Bylcha52045, helia01, xxi, stas1220, MaxDeadOriginal, FortBlocTM, RED-SKY, sejo, ianfym, h2141724@nwytg.net, Stadnyk2.0, Panika2886, ag4, Alisa1332, zdfxv, Linkersin, finanos, k4pitananime12, vasya, Alex2033, Yourany, ParinovYT, serg, Breadpack, dimasamn, P45H3, foxartemka, MedArxWf, Ikfakof, duke04, tease, vlad00550, Mrhukadan, AlexeyKarpov, SID, DarkD, GayPig, Dima, yollee, lemagicien98, Root, justzloy, bubuxd, cocaroca, Bit, STRIPEDTIGER, Wahabeat1337, андрей аллес, Wqwqwq, Mafahes, Zipidy, pro939, Laevsky, mognuvekni, NuDopustim, Pastershim, Aquarium, Крайслер, bs1337, baresark, Donbrute, Типичный Программист