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

  • Автор темы Автор темы Fronis
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Апр 2022
Сообщения
183
Реакции
16
привет, Делаю чит на ксго, и появился вопрос как удалить импорты
 
  • Ахаха
Реакции: sove
мож наоборот добавить?
 
  • Ахаха
Реакции: mj12
LazyImporter/Рантайм-линковка
 
Последнее редактирование:
удалить

спасибо :)
через паттерн вызывай 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 и находится
 
  • Мне нравится
Реакции: mj12
через паттерн вызывай 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
 
Назад
Сверху Снизу