Начинающий
-
Автор темы
- #1
UP
меняешь вызов, меняешь dllmain, избавляешься от заведомо детект функций, по типу точности и сайлент аима. убираешь хуки
no hook = no hack broменяешь вызов, меняешь dllmain, избавляешься от заведомо детект функций, по типу точности и сайлент аима. убираешь хуки
зато детекта нетno hook = no hack bro
В вф вмт хуки можно обойти через GameFramework Listner.no hook = no hack bro
Ты сам-то понял, что написал?ты не прав здесь, в вф вмт хуки можно обойти через GameFramework Listner.
От части это можно назвать "крючком", но "крючком", который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
написано, по факту "как есть" на самом делеТы сам-то понял, что написал?
Я про то, что ты в матчасти толком не шаришь, а уже советы раздаешь.написано, по факту "как есть" на самом деле
окей, тебе то точно лучше знатьЯ про то, что ты в матчасти толком не шаришь, а уже советы раздаешь.
В вф вмт хуки можно обойти через ...
... который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
Изучи сначала, что такое вмт хук и как это работает. А то пишешь что попало.окей, тебе то точно лучше знать
В вф вмт хуки можно обойти через GameFramework Listner.
От части это можно назвать "крючком", но "крючком", который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
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);
}
}
у меня есть такое, мб кому-то пригодится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); } }
Конечно, оно у тебя есть. Ведь способ с перехватом функции pFramework->RegisterListener() и ее аргументов уже как год слит в паблик.у меня есть такое, мб кому-то пригодится
Очень интересно, откуда у тебя такие выводы другалёк? Ты в моих проектах код видел, не пойму. Ответив новичку, я привёл в пример, то что помогает мне всегда, ещё одну вещь не сказал, как скомпилировать dll с другой точкой входа, тем самым поменять md5 чита и уменьшить размер длл примерно на 60-70%. Не стоит забывать про такую вещь как upx сжатие, тоже меняет md5. Также можно скрыть из модулей процесса, сам длл чита, не знаю насколько это помогает, но имеет место быть. Эти действия в совокупности дают ud чит.Конечно, оно у тебя есть. Ведь способ с перехватом функции pFramework->RegisterListener() и ее аргументов уже как год слит в паблик.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Только вот проблема в том, что ты понятия не имеешь, как работает эта виртуальная функция, что делают виртуальные функции внутри класса IGameFrameworkListener, и как в памяти игры искать их индексы в случае изменения. И только не надо писать, что это не так.
Ты бы лучше занялся саморазвитием, а не продавал каждый попавшийся в руки паблик код.
Все верно, эти функции располагаются в исходном коде CryEngine3 в библиотеке IGameFramework.h. Затем код выложили на UC, после кто-то выложил с ним исходник своего чита, и все начали копировать этот код в свои проекты. Вот так он и дошел до тебя.а вот и слив с "UC"Пожалуйста, авторизуйтесь для просмотра ссылки.
Как вы надоели с такой логикой, вот честно. А что, обязательно нужно быть Айкодедом или Димедролом, чтобы: научиться работать в mvs, выучить C++, изучить методичку по разработке игр на CE3, научиться работать с исходником этого движка, научиться работать с IDA дизассемблером, научиться анализировать псевдокод, научиться работать с ReclassNet'ом, научиться работать с отладчиком в реальном времени? Они обычные программисты, знающие стуктуру третьего крайэнджа. Именно программисты, а не ctrl+c/ctrl+v дурачки.если я бы это услышал от айкода, димедрола и.т.д., у ребят, которые многое знают, я бы принял как следствие, а так, тут пишет не понятно кто
Хочу - помогаю, не хочу - не помогаю. Это мое дело и я вправе писать то, что хочу сам.ничего в топик полезного привёл, никак не помог народу, но да ладно.
С чего я сделал вывод о том, что ты в свои проекты пастишь паблик код, толком не изучая его? Что уже априори ставит под вопрос твою компитентность как разработчика и продавца модификаций. Так, ты сам прочитай, что ты написал. Ничего не смущает?Очень интересно, откуда у тебя такие выводы другалёк? Ты в моих проектах код видел, не пойму?
1. Что значит обойти вмт хук? Чего? Ты либо используешь его, либо не используешь.В вф вмт хуки можно обойти через GameFramework Listner.
От части это можно назвать "крючком", но "крючком", который использует функции из клиента и движка игры, а не какой-то vmt hook 4, 17 индекса
Надо же сидеть несколько часов думать. В сообщении про vmt шла, речь о "обходе его использования", но нет же нужно доебаться к каждому слову. Я прекрасно знаю, что есть таблица в sdk d3x9 виртуальными функциями. Vmt хук использует winapi функции, которые свойствены не только вф, а другим играм, речь идёт про функции j_xxxxx, которые можно найти в иде. Насчёт пастинга, раскрою тебе тайну, если взять готовый код с интернета(полностью), то чит уйдёт в детект на следующий день. Пастер не тот, кто берёт чужой код, а тот кто crtl+c, crtl+v запомни это, чужой код можно использовать с умом.Все верно, эти функции располагаются в исходном коде 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м в глазах знающих людей.
Любое winapi можно убрать.Надо же сидеть несколько часов думать, что кому-то не похуй на твоё мнение в интернете, в сообщении про vmt шла, речь о "обходе его использования", но нет же нужно доебаться к каждому слову. Я прекрасно знаю, что есть таблица в sdk d3x9 виртуальными функциями. Vmt хук использует winapi функции, которые свойствены не только вф, а другим играм, речь идёт про функции j_xxxxx, которые можно найти в иде. Насчёт пастинга, раскрою тебе тайну, если взять готовый код с интернета(полностью), то чит уйдёт в детект на следующий день. Пастер не тот, кто берёт чужой код, а тот кто crtl+c, crtl+v запомни это, чужой код можно использовать с умом.
можно чит без хуков захуячитьno hook = no hack bro
Тебе что не чит, так кое что другое подавай (говорить пожалуй не буду, сам догадаешься) :Dможно чит без хуков захуячить
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz