Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Как удалить import из чита ?

  • Автор темы Автор темы Fronis
  • Дата начала Дата начала
Последнее редактирование:
удалить

спасибо :)
через паттерн вызывай api

C++:
Expand Collapse Copy
bool SetConsoleTitleA(LPCTSTR lpConsoleTitle)
{
    static bool(__fastcall * _mFun) (LPCTSTR lpConsoleTitle) = nullptr;
    if (!_mFun)
        _mFun = reinterpret_cast <decltype (_mFun)>(GetProcAddress(GetModuleHandleA(KERNEL32), "SetConsoleTitleA"));

    return _mFun(lpConsoleTitle);
}
 
через паттерн вызывай api

C++:
Expand Collapse Copy
bool SetConsoleTitleA(LPCTSTR lpConsoleTitle)
{
    static bool(__fastcall * _mFun) (LPCTSTR lpConsoleTitle) = nullptr;
    if (!_mFun)
        _mFun = reinterpret_cast <decltype (_mFun)>(GetProcAddress(GetModuleHandleA(KERNEL32), "SetConsoleTitleA"));

    return _mFun(lpConsoleTitle);
}
спасибо
 
Получи адрес PEB (x86 cистемы fs:30h, х64 - gs:60h), в списке модулей найди kernel32, распарси таблицу экспорта кернела и достань адрес лоадлибрари. А дальше обрабатывай остальные модули, находя нужные функции. Если нужная тебе длл в процесс не загружена, соответственно, грузишь через лоадлибрари. Так же стоит учесть api forwarding, для этого в первую очередь адрес loadlibrary и находится
 
через паттерн вызывай api

C++:
Expand Collapse Copy
bool SetConsoleTitleA(LPCTSTR lpConsoleTitle)
{
    static bool(__fastcall * _mFun) (LPCTSTR lpConsoleTitle) = nullptr;
    if (!_mFun)
        _mFun = reinterpret_cast <decltype (_mFun)>(GetProcAddress(GetModuleHandleA(KERNEL32), "SetConsoleTitleA"));

    return _mFun(lpConsoleTitle);
}
пфффф
через паттерн вызывай api

C++:
Expand Collapse Copy
bool SetConsoleTitleA(LPCTSTR lpConsoleTitle)
{
    static bool(__fastcall * _mFun) (LPCTSTR lpConsoleTitle) = nullptr;
    if (!_mFun)
        _mFun = reinterpret_cast <decltype (_mFun)>(GetProcAddress(GetModuleHandleA(KERNEL32), "SetConsoleTitleA"));

    return _mFun(lpConsoleTitle);
}
ипользуй вот такое к прмиеру
C++:
Expand Collapse Copy
bool SetConsoleTitleA(const char* lpConsoleTitle)
{
    static const auto _mFun = []()
    {
        const auto module = GetModuleHandle(nullptr);
        return reinterpret_cast<bool(__stdcall*)(const char*)>(GetProcAddress(module, "SetConsoleTitleA"));
    }();

    return _mFun(lpConsoleTitle);
}
Получи адрес PEB (x86 cистемы fs:30h, х64 - gs:60h), в списке модулей найди kernel32, распарси таблицу экспорта кернела и достань адрес лоадлибрари. А дальше обрабатывай остальные модули, находя нужные функции. Если нужная тебе длл в процесс не загружена, соответственно, грузишь через лоадлибрари. Так же стоит учесть api forwarding, для этого в первую очередь адрес loadlibrary и находится
Ты забыл добавить

Процесс загрузки динамических библиотек и процесс и поиска нужных функций в них. Для этого необходимо получить адрес PEB, который хранится в регистре fs:30h для 32-битных систем и gs:60h для 64-битных систем.

Затем нужно найти модуль kernel32 в списке модулей и спарсить таблицу экспорта что бы получить адреса функции LoadLibrary. После этого начинем обрабатывать модули, искать нужные функции и загружать нужные динамические библиотеки через LoadLibrary.

Также важно учитывать API forwarding, ето функции из одной библиотеки они могут перенаправлять вызовы другим функциям из другой библиотеки но необходимо учитывать адрес LoadLibrary и делать проверку на перенаправление при поиске функций.
 
Последнее редактирование:
пфффф

Ты забыл добавить

Процесс загрузки динамических библиотек и процесс и поиска нужных функций в них. Для этого необходимо получить адрес PEB, который хранится в регистре fs:30h для 32-битных систем и gs:60h для 64-битных систем.

Затем нужно найти модуль kernel32 в списке модулей и спарсить таблицу экспорта что бы получить адреса функции LoadLibrary. После этого начинем обрабатывать модули, искать нужные функции и загружать нужные динамические библиотеки через LoadLibrary.

Также важно учитывать API forwarding, ето функции из одной библиотеки они могут перенаправлять вызовы другим функциям из другой библиотеки но необходимо учитывать адрес LoadLibrary и делать проверку на перенаправление при поиске функций.
пфффф, ты забыл добавить

Credits to:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad)

1680085048042.png
 
Назад
Сверху Снизу