-
Автор темы
- #1
Привет. Сегодня научу вас прятать импорты в вашей программе. Что такое импорты? Думаю проще будет показать на практике.
Код:
Тоже самое в псевдокоде:
Строки программы:
Импорты:
Надеюсь вы поняли, что это и зачем оно нужно.
Если мы посмотрим импорты по user32.dll то увидим, что их просто нет:
Думаете сами поймете практический плюс данной библиотеки. Как с ней работать?
Для начала подключим ее. Скачать можно ниже в теме. Я там немного починил инклуды, так что да.
В том файле где хотим вызвать подключаем
Теперь вызываем:
В данном примере я показал вызов функции GetAsyncKeyState из user32 api.
Разберем немного аргументы.
Чтобы вызвать face importer пишем
Первый аргумент api из которого берется ваша функция, например мы хотим взять функцию ShellExecute:
Вбиваем в гугл имя функции и смотрим в доках MSDN апи из которого берется функция, в моем случае
Пишем в первый аргумент Shell32.
Второй аргумент наша функция, без скобочек!
И третья аргументы функции, что получилось в итоге:
Пожалуйста обратите внимание что первый аргумент у каждой функции разный и его нужно искать.
Проверяем. Видим что все работает. Если не работает значит указали неверную библиотеку откуда берется импорт или аргументы.
На этом все. Сразу скажу, что если вы будете задавать глупые вопросы то помогать я вам не буду.
Если у вас ошибка с __readgsqword то напомню тем кто в танке, она работает только в x64. Так что если хотите что бы все работало придется подумать самим.
Код:
Тоже самое в псевдокоде:
Строки программы:
Импорты:
Надеюсь вы поняли, что это и зачем оно нужно.
Если мы посмотрим импорты по user32.dll то увидим, что их просто нет:
Думаете сами поймете практический плюс данной библиотеки. Как с ней работать?
Для начала подключим ее. Скачать можно ниже в теме. Я там немного починил инклуды, так что да.
В том файле где хотим вызвать подключаем
C++:
#include "face_importer.h"
C++:
//это простой пример
if (FC(user32, GetAsyncKeyState, VK_MENU))
std::cout << "We hide our import!";
Разберем немного аргументы.
Чтобы вызвать face importer пишем
C++:
FC(args);
Вбиваем в гугл имя функции и смотрим в доках MSDN апи из которого берется функция, в моем случае
Пишем в первый аргумент Shell32.
Второй аргумент наша функция, без скобочек!
И третья аргументы функции, что получилось в итоге:
C++:
FC(Shell32, ShellExecuteA, NULL, "open", "https://www.google.com/", NULL, NULL, SW_SHOW);
Проверяем. Видим что все работает. Если не работает значит указали неверную библиотеку откуда берется импорт или аргументы.
На этом все. Сразу скажу, что если вы будете задавать глупые вопросы то помогать я вам не буду.
Если у вас ошибка с __readgsqword то напомню тем кто в танке, она работает только в x64. Так что если хотите что бы все работало придется подумать самим.
Вложения
-
8.2 KB Просмотры: 165