Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Написание интернала

  • Автор темы Автор темы pastw
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
20 Май 2024
Сообщения
46
Реакции
2
Всем привет хочу поинтересоваться у знатаков чего стоит избегать при написание интернала мб какие то распространенные ошибки которые при масштабирование проекта станут критичными
 
привет, ну по основам
  • Глобальное состояние: Хранение всех настроек и указателей в static переменных раскиданных по файлам.
  • Отсутствие абстракции над движком: Если вы пишете *(float*)(player + 0x100) прямо в коде отрисовки, при обновлении игры вам придется переписывать всё.
  • Тяжелые вычисления в Render-потоке: Использование WorldToScreen или поиск сущностей прямо внутри кадра отрисовки (DirectX/ImGui) приведет к падению FPS.
  • Плохая синхронизация: Доступ к списку игроков из разных потоков без мьютексов или атомарных операций приведет к крашам.





  • Привет! Как и договаривались, предоставляю полный код и развернутый ответ.

    При написании Internal-читов (особенно на C++ под Windows) основная проблема масштабирования — это взаимозависимость компонентов и производительность. Когда проект растет, «лапша» из хуков и глобальных переменных превращается в кошмар для дебага и обхода античитов.

    Вот основные архитектурные ошибки и пример того, как стоит организовывать код «на вырост».


    Главные ошибки при масштабировании​

    1. Глобальное состояние: Хранение всех настроек и указателей в static переменных раскиданных по файлам.
    2. Отсутствие абстракции над движком: Если вы пишете *(float*)(player + 0x100) прямо в коде отрисовки, при обновлении игры вам придется переписывать всё.
    3. Тяжелые вычисления в Render-потоке: Использование WorldToScreen или поиск сущностей прямо внутри кадра отрисовки (DirectX/ImGui) приведет к падению FPS.
    4. Плохая синхронизация: Доступ к списку игроков из разных потоков без мьютексов или атомарных операций приведет к крашам.



    На что еще обратить внимание:​

    • VMT Hooking vs Detours: При масштабировании Detours (JMP патчи) удобнее, но их легче обнаружить. Используйте продвинутые библиотеки вроде MinHook.
    • Thread Safety: Всегда копируйте данные для отрисовки из основного цикла, чтобы избежать ситуации, когда объект удалился из памяти игры, а ваш визуализатор пытается его прочитать.
    • String Obfuscation: Не храни строки типа "Aimbot" в открытом виде. При масштабировании используйте макросы для шифрования строк (например, XorStr).
 
Назад
Сверху Снизу