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

Начинающий
Статус
Оффлайн
Регистрация
10 Апр 2022
Сообщения
182
Реакции[?]
16
Поинты[?]
5K
привет, Делаю чит на ксго, и появился вопрос как удалить импорты
 
Начинающий
Статус
Оффлайн
Регистрация
10 Апр 2022
Сообщения
182
Реакции[?]
16
Поинты[?]
5K
Последнее редактирование:
Всем Рептилойдам - Рен ТВ
Пользователь
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
541
Реакции[?]
92
Поинты[?]
0
удалить

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

C++:
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);
}
 
Начинающий
Статус
Оффлайн
Регистрация
10 Апр 2022
Сообщения
182
Реакции[?]
16
Поинты[?]
5K
через паттерн вызывай api

C++:
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);
}
спасибо
 
Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2023
Сообщения
9
Реакции[?]
5
Поинты[?]
0
Получи адрес PEB (x86 cистемы fs:30h, х64 - gs:60h), в списке модулей найди kernel32, распарси таблицу экспорта кернела и достань адрес лоадлибрари. А дальше обрабатывай остальные модули, находя нужные функции. Если нужная тебе длл в процесс не загружена, соответственно, грузишь через лоадлибрари. Так же стоит учесть api forwarding, для этого в первую очередь адрес loadlibrary и находится
 
Начинающий
Статус
Оффлайн
Регистрация
8 Июн 2019
Сообщения
147
Реакции[?]
21
Поинты[?]
0
через паттерн вызывай api

C++:
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++:
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++:
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 и делать проверку на перенаправление при поиске функций.
 
Последнее редактирование:
I Want to Die in New Orleans
Участник
Статус
Оффлайн
Регистрация
10 Окт 2020
Сообщения
516
Реакции[?]
496
Поинты[?]
85K
пфффф

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

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

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

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

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

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