Как переписать чит под андетект?

strodfane
Начинающий
Статус
Оффлайн
Регистрация
6 Май 2019
Сообщения
130
Реакции[?]
19
Поинты[?]
0
Эксперт
Статус
Оффлайн
Регистрация
16 Ноя 2017
Сообщения
1,571
Реакции[?]
1,266
Поинты[?]
4K
strodfane
Начинающий
Статус
Оффлайн
Регистрация
6 Май 2019
Сообщения
130
Реакции[?]
19
Поинты[?]
0
В вф вмт хуки можно обойти через GameFramework Listner.
От части это можно назвать "крючком", но "крючком", который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
3 Ноя 2020
Сообщения
27
Реакции[?]
15
Поинты[?]
0
ты не прав здесь, в вф вмт хуки можно обойти через GameFramework Listner.
От части это можно назвать "крючком", но "крючком", который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
Ты сам-то понял, что написал?
 
Последнее редактирование:
strodfane
Начинающий
Статус
Оффлайн
Регистрация
6 Май 2019
Сообщения
130
Реакции[?]
19
Поинты[?]
0
Последнее редактирование:
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,365
Реакции[?]
2,274
Поинты[?]
178K
Если детект по сигнатурам - достаточно их изменить => любой полиморфный криптор.


Может я ошибаюсь, ну нормально...
 
Начинающий
Статус
Оффлайн
Регистрация
3 Ноя 2020
Сообщения
27
Реакции[?]
15
Поинты[?]
0
В вф вмт хуки можно обойти через ...
... который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
окей, тебе то точно лучше знать:roflanEbalo:
Изучи сначала, что такое вмт хук и как это работает. А то пишешь что попало.
 
Последнее редактирование:
Продам прострел стен Warface 10к руб!
Забаненный
Статус
Оффлайн
Регистрация
7 Авг 2018
Сообщения
308
Реакции[?]
106
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В вф вмт хуки можно обойти через GameFramework Listner.
От части это можно назвать "крючком", но "крючком", который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
C++:
struct SActionEvent
{
    SActionEvent(EActionEvent e, int val = 0, const char* des = 0) :
        m_event(e),
        m_value(val),
        m_description(des)
    {}
    EActionEvent m_event;
    int          m_value;
    const char* m_description;
};
struct SGameFrameworkListener
{
    virtual ~SGameFrameworkListener() {};
    virtual void OnPostUpdate(float fDeltaTime);
    virtual void OnSaveGame(struct ISaveGame* pSaveGame) {};
    virtual void OnLoadGame(struct ILoadGame* pLoadGame) {};
    virtual void OnLevelEnd(const char* nextLevel) {};
    virtual void OnActionEvent(const SActionEvent& event) {};
    virtual void OnPreRender();

    virtual void OnSavegameFileLoadedInMemory(const char* pLevelName) {};
    virtual void OnForceLoadingWithFlash() {};
};
struct CGameFunction : SGameFrameworkListener, IGPUProfiler
{
public:
    void EndFrame();
    void OnActionEvent(const SActionEvent& event) {};
    void OnPostUpdate(float fDeltaTime);
    void OnPreRender() {};
};
class CGameFramework
{
public:
    void RegisterListener(SGameFrameworkListener* pGameFrameworkListener, const char* name, EFRAMEWORKLISTENERPRIORITY eFrameworkListenerPriority)
    {
        CallFunction<void(__thiscall*)(PVOID, SGameFrameworkListener*, const char*, EFRAMEWORKLISTENERPRIORITY)>(this, 0x360)(this, pGameFrameworkListener, name, eFrameworkListenerPriority);
    }
    void UnregisterListener(SGameFrameworkListener* pGameFrameworkListener)
    {
        CallFunction<void(__thiscall*)(PVOID, SGameFrameworkListener*)>(this, 0x368)(this, pGameFrameworkListener);
    }
}
 
strodfane
Начинающий
Статус
Оффлайн
Регистрация
6 Май 2019
Сообщения
130
Реакции[?]
19
Поинты[?]
0
C++:
struct SActionEvent
{
    SActionEvent(EActionEvent e, int val = 0, const char* des = 0) :
        m_event(e),
        m_value(val),
        m_description(des)
    {}
    EActionEvent m_event;
    int          m_value;
    const char* m_description;
};
struct SGameFrameworkListener
{
    virtual ~SGameFrameworkListener() {};
    virtual void OnPostUpdate(float fDeltaTime);
    virtual void OnSaveGame(struct ISaveGame* pSaveGame) {};
    virtual void OnLoadGame(struct ILoadGame* pLoadGame) {};
    virtual void OnLevelEnd(const char* nextLevel) {};
    virtual void OnActionEvent(const SActionEvent& event) {};
    virtual void OnPreRender();

    virtual void OnSavegameFileLoadedInMemory(const char* pLevelName) {};
    virtual void OnForceLoadingWithFlash() {};
};
struct CGameFunction : SGameFrameworkListener, IGPUProfiler
{
public:
    void EndFrame();
    void OnActionEvent(const SActionEvent& event) {};
    void OnPostUpdate(float fDeltaTime);
    void OnPreRender() {};
};
class CGameFramework
{
public:
    void RegisterListener(SGameFrameworkListener* pGameFrameworkListener, const char* name, EFRAMEWORKLISTENERPRIORITY eFrameworkListenerPriority)
    {
        CallFunction<void(__thiscall*)(PVOID, SGameFrameworkListener*, const char*, EFRAMEWORKLISTENERPRIORITY)>(this, 0x360)(this, pGameFrameworkListener, name, eFrameworkListenerPriority);
    }
    void UnregisterListener(SGameFrameworkListener* pGameFrameworkListener)
    {
        CallFunction<void(__thiscall*)(PVOID, SGameFrameworkListener*)>(this, 0x368)(this, pGameFrameworkListener);
    }
}
у меня есть такое, мб кому-то пригодится
 
Начинающий
Статус
Оффлайн
Регистрация
3 Ноя 2020
Сообщения
27
Реакции[?]
15
Поинты[?]
0
у меня есть такое, мб кому-то пригодится
Конечно, оно у тебя есть. Ведь способ с перехватом функции pFramework->RegisterListener() и ее аргументов уже как год слит в паблик.
Пожалуйста, авторизуйтесь для просмотра ссылки.


Только вот проблема в том, что ты понятия не имеешь, как работает эта виртуальная функция, что делают виртуальные функции внутри класса IGameFrameworkListener, и как в памяти игры искать их индексы в случае изменения. И только не надо писать, что это не так.

Ты бы лучше занялся саморазвитием, а не продавал каждый попавшийся в руки паблик код.
 
Последнее редактирование:
strodfane
Начинающий
Статус
Оффлайн
Регистрация
6 Май 2019
Сообщения
130
Реакции[?]
19
Поинты[?]
0
Конечно, оно у тебя есть. Ведь способ с перехватом функции pFramework->RegisterListener() и ее аргументов уже как год слит в паблик.
Пожалуйста, авторизуйтесь для просмотра ссылки.


Только вот проблема в том, что ты понятия не имеешь, как работает эта виртуальная функция, что делают виртуальные функции внутри класса IGameFrameworkListener, и как в памяти игры искать их индексы в случае изменения. И только не надо писать, что это не так.

Ты бы лучше занялся саморазвитием, а не продавал каждый попавшийся в руки паблик код.
Очень интересно, откуда у тебя такие выводы другалёк? Ты в моих проектах код видел, не пойму. Ответив новичку, я привёл в пример, то что помогает мне всегда, ещё одну вещь не сказал, как скомпилировать dll с другой точкой входа, тем самым поменять md5 чита и уменьшить размер длл примерно на 60-70%. Не стоит забывать про такую вещь как upx сжатие, тоже меняет md5. Также можно скрыть из модулей процесса, сам длл чита, не знаю насколько это помогает, но имеет место быть. Эти действия в совокупности дают ud чит.
а вот и слив с "UC"
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
3 Ноя 2020
Сообщения
27
Реакции[?]
15
Поинты[?]
0
а вот и слив с "UC"
Пожалуйста, авторизуйтесь для просмотра ссылки.
Все верно, эти функции располагаются в исходном коде CryEngine3 в библиотеке IGameFramework.h. Затем код выложили на UC, после кто-то выложил с ним исходник своего чита, и все начали копировать этот код в свои проекты. Вот так он и дошел до тебя.

если я бы это услышал от айкода, димедрола и.т.д., у ребят, которые многое знают, я бы принял как следствие, а так, тут пишет не понятно кто
Как вы надоели с такой логикой, вот честно. А что, обязательно нужно быть Айкодедом или Димедролом, чтобы: научиться работать в mvs, выучить C++, изучить методичку по разработке игр на CE3, научиться работать с исходником этого движка, научиться работать с IDA дизассемблером, научиться анализировать псевдокод, научиться работать с ReclassNet'ом, научиться работать с отладчиком в реальном времени? Они обычные программисты, знающие стуктуру третьего крайэнджа. Именно программисты, а не ctrl+c/ctrl+v дурачки.

ничего в топик полезного привёл, никак не помог народу, но да ладно.
Хочу - помогаю, не хочу - не помогаю. Это мое дело и я вправе писать то, что хочу сам.

Очень интересно, откуда у тебя такие выводы другалёк? Ты в моих проектах код видел, не пойму?
С чего я сделал вывод о том, что ты в свои проекты пастишь паблик код, толком не изучая его? Что уже априори ставит под вопрос твою компитентность как разработчика и продавца модификаций. Так, ты сам прочитай, что ты написал. Ничего не смущает?
В вф вмт хуки можно обойти через GameFramework Listner.
От части это можно назвать "крючком", но "крючком", который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
1. Что значит обойти вмт хук? Чего? Ты либо используешь его, либо не используешь.
2. По-твоему, вмт хук не использует функции клиента (виртуальные)? Ты вообще понимаешь принцип его работы?

Если бы ты писал все самостоятельно, а не брал готовый код с UC'а, то ты бы знал, что вмт хук - это перехват виртуальной функции(метода) с виртуальной таблицы какого-либо класса/структуры/интерфейсного класса, с целью ее замены на свою. Например, перехват функции pSystem->Update(), используемой для обновления системы движка без создания визуализированного кадра, находящейся на 4-ой позиции (индекс 4) в таблице структуры ISystem, или, например, перехват функции pRenderer->GetClient3DDevice9()->pDevice->Present(), используемой для вывода заднего буфера на передний буфер (на экран), находящейся на 17-ой позиции (индекс 17) в таблице интерфейсного класса IDirect3DDevice9.

Поэтому я тебе и дал совет: "Саморазвивайся". В плане изучения плюсов и движка игры. Чтобы не выглядить дypaкoм в глазах знающих людей.
 
Последнее редактирование:
strodfane
Начинающий
Статус
Оффлайн
Регистрация
6 Май 2019
Сообщения
130
Реакции[?]
19
Поинты[?]
0
Все верно, эти функции располагаются в исходном коде CE3 в библиотеке IGameFramework.h. Затем код выложили на UC, после кто-то выложил с ним исходник своего чита, и все начали копировать этот код в свои проекты. Вот так он и дошел до тебя.


Как вы надоели с такой логикой, вот честно. А что, обязательно нужно быть Айкодедом или Димедролом, чтобы: научиться работать в mvs, выучить C++, изучить методичку по разработке игр на CE3, научиться работать с исходником этого движка, научиться работать с IDA дизассемблером, научиться анализировать псевдокод, научиться работать с ReclassNet'ом, научиться работать с отладчиком в реальном времени? Они обычные программисты, знающие стуктуру третьего крайэнджа. Именно программисты, а не ctrl+c/ctrl+v дурачки.


Хочу - помогаю, не хочу - не помогаю. Это мое дело и я вправе писать то, что хочу сам.


С чего я сделал вывод о том, что ты в свои проекты пастишь паблик код, толком не изучая его? Что уже априори ставит под вопрос твою компитентность как разработчика и продавца модификаций. Так, ты сам прочитай, что ты написал. Ничего не смущает?

1. Что значит обойти вмт хук? Чего? Ты либо используешь его, либо не используешь.
2. По-твоему, вмт хук не использует функции клиента? Ты вообще понимаешь принцип его работы?

Если бы ты писал все самостоятельно, а не брал готовый код с UC'а, то ты бы знал, что вмт хук - это способ перехвата виртуальной функции(метода) с виртуальной таблицы какого-либо класса/структуры/интерфейсного класса, с целью ее замены на свою. Например, перехват функции pSystem->Update(), используемой для обновления системы движка без создания визуализированного кадра, находящейся на 4-ой позиции (индекс 4) в таблице структуры ISystem, или, например, перехват функции pRenderer->GetClient3DDevice9()->pDevice->Present(), используемой для вывода заднего буфера на передний буфер (на экран), находящейся на 17-ой позиции (индекс 17) в таблице интерфейсного класса IDirect3DDevice9.

Поэтому я тебе и дал совет: "Саморазвивайся". В плане изучения плюсов и движка игры. Чтобы не выглядить дypaкoм в глазах знающих людей.
Надо же сидеть несколько часов думать. В сообщении про vmt шла, речь о "обходе его использования", но нет же нужно доебаться к каждому слову. Я прекрасно знаю, что есть таблица в sdk d3x9 виртуальными функциями. Vmt хук использует winapi функции, которые свойствены не только вф, а другим играм, речь идёт про функции j_xxxxx, которые можно найти в иде. Насчёт пастинга, раскрою тебе тайну, если взять готовый код с интернета(полностью), то чит уйдёт в детект на следующий день. Пастер не тот, кто берёт чужой код, а тот кто crtl+c, crtl+v запомни это, чужой код можно использовать с умом.
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Проще новый написать, чем искать и переписывать детект функции.
На которые может уйти не мало времени.
А те исходники, что выложины тут, очень сильно детекченные.
Надо же сидеть несколько часов думать, что кому-то не похуй на твоё мнение в интернете, в сообщении про vmt шла, речь о "обходе его использования", но нет же нужно доебаться к каждому слову. Я прекрасно знаю, что есть таблица в sdk d3x9 виртуальными функциями. Vmt хук использует winapi функции, которые свойствены не только вф, а другим играм, речь идёт про функции j_xxxxx, которые можно найти в иде. Насчёт пастинга, раскрою тебе тайну, если взять готовый код с интернета(полностью), то чит уйдёт в детект на следующий день. Пастер не тот, кто берёт чужой код, а тот кто crtl+c, crtl+v запомни это, чужой код можно использовать с умом.
Любое winapi можно убрать.
Любую функцию можно промутировать на уровне кода, во время компиляции.
Любое число заменить текстом и похорить его. Это только мелочевка, что можно сделать ручками.
 
НАЧНИ ПРОДАВАТЬ СОЛЬ ПРЯМО СЕЙЧАС
Забаненный
Статус
Оффлайн
Регистрация
15 Дек 2020
Сообщения
69
Реакции[?]
83
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу