Перейти к содержанию

keng

Ветераны
  • Постов

    1 635
  • Зарегистрирован

  • Посещение

  • Победитель дней

    55

Весь контент keng

  1. Потому что в случае с direct3d происходит примерно такая ситуация: BeginScene(); // Захотели порисовать ... // Рисуем EndScene(); // Закончили рисовать Present(); // Отобразили на экране Если перехватить BeginScene, то ты нарисуешь что-то до всего игрового, если EndScene или Present - то после (поверх). Тебе же, как я понимаю, нужно отдельные вещи просто не рисовать, так что перехватывать нужно функции рисования (напр. DrawIndexedPrimitive), которые вызываются между BeginScene и EndScene.
  2. Могу посоветовать попробовать сначала сделать все самостоятельно.
  3. Тет-а-тет - отказать, т.к. у меня очень мало свободного времени. Тут вполне можешь задавать любые вопросы - постараюсь ответить. Язык значения не имеет.
  4. Мои уроки или уроки @Coder, все есть тут в соответствующем разделе. И практиковаться, само собой.
  5. @ШАРИК, как я уже писал ранее, hToken нужно закрывать. Я нашел [пример] использования от MS, у них код в общем-то схожий, так что можно просто забить. В любом случае в потоках нет ничего страшного, да и не ты сам их открываешь. Раз винде надо - значит надо.
  6. keng

    Cheat Engine 6.6

    Можно игру и версию ОС, чтобы попробовать воспроизвести? Я проверил на туториале (win10x64), все в порядке. Плюс, судя по описанию релиза, в сканере указателей было только одно (незначительное) изменение.
  7. @helldrg а ты сравни сам, чего тут советовать-то? У меня, например, отрисовка тупо по таймеру (в отдельном потоке) на 24 fps. Рисую через GDI.
  8. Попробуй фигануть "CloseHandle(hToken)" перед выходом из функции. Опять же, я не знаю, что там дальше происходит - может и не нужно сразу закрывать хэндл.
  9. Примерно так, что WinAPI сама по себе довольно редко создает новые потоки, тем более - в контексте вызывающего приложения. Может быть так, что ты вызываешь эту функцию вместе с какой-то другой. Может быть, что вызываешь ее в цикле. Все, что угодно может быть, пока никто не видел код. Т.е. у меня, например, одна вот эта функция не начинает создавать потоки, она отрабатывает и программа завершается.
  10. Привет! Копать в сторону хуков (перехвата функций), в частности - функций вывода картинки на экран. Условно, рисование происходит примерно таким образом: есть два буфера, один - сейчас на экране, на второй мы рисуем: 0. Нарисовать все на буфер1 1. Поменять местами буфер0 и буфер1 За это ответственны определенные функции. Например, Direct3D9->Present. В процессе рисования на буфер1 используются (обычно) функции рисования так называемых примитивов - точек, линий, треугольников и т.п. Типа вот так: 0. Нарисовать задний план 1. Нарисовать модели (игроков, врагов, здания и т.д.) 2. Нарисовать UI (здоровье игрока, патроны, оружие и т.д.) 3. Поменять местами буфер0 и буфер1 За это тоже есть ответственные функции, например, Direct3D9->DrawIndexedPrimitive. Если ты перехватишь эти функции, то тебе будет предоставлена возможность управлять тем, что выводится на экран.
  11. Если @Dino скажет, что у него с его кодом та же проблема - тогда так и будем думать и искать проблему в его коде. Если нет - то проблема в твоем коде, @ШАРИК.
  12. Тогда, видимо, я все еще не понимаю в чем проблема. Потоки создаются неконтролируемо?
  13. Тогда возникает вопрос - зачем их получать?
  14. Не вижу проблемы, если потоки создает ОС, а не ты сам. HANDLE токена ты закрываешь, память не течет, так что все в порядке. Не могу навскидку вспомнить, как точно работает механизм токенов и создаются ли там в процессе потоки, но точно уверен, что создаются - как минмиум, чтобы вытащить текущую сессию пользователя. PS: В конце функции нужно закрыть hToken, как я понимаю. Или ты закрываешь его дальше?
  15. О да, особенно хорошо подчеркивает твою анонимность адрес электропочты.
  16. Я частенько ржу с того, что ты берешь минимальное приложение на шарпе, втыкаешь в него WinAPI для работы с памятью, а потом приходится за собой таскать весь .NET, чтобы окошко с картинками показывать. Кошмар!
  17. Родной город - Ленинград, но [вот] отличная короткометражка, снятая в Питере (местами - рядом с моим домом! :D).
  18. У меня пара замечаний по оформлению (не графическому). С трейнером должна поставляться описания-инструкция. Обычно, это просто txt-файл, в котором указано, что это такое, кто сделал и когда, для какой версии игры и описание опций, кнопок. Плюс, имя бинарника (или хотя бы архива с ним) должно быть информативным. [Вот] пример от меня, пусть не идеальный и довольно старый уже. Да, не надо в разработке своих трейнеров слепо полагаться на чужие мнения. То, что мне не нравится большой размер бинарника - моя проблемка. Можно иметь это ввиду, а можно забить, если не умеешь, и не мучаться. Делай так, как считаешь нужным, наше дело - помочь или посоветовать. PS: Файловое хранилище сайта от 5мб не умрет в любом случае, а на ргхосте твое творение потеряется.
  19. Сделай лоадер, в котором запускай процесс стима в приостановленном состоянии, затем - вешай хук на LoadLibrary и пускай проект дальше.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.