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

mrPTyshnik

Пользователи
  • Постов

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

  • Посещение

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

    1

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

  1. Создание хацка через overlay - это наложение прозначного Window(окна) на окно игры и дальнейшая разрисовка этого прозрачного окна, используя примитивы. Моя идея заключается в том, чтобы это прозрачное окно было всегда активным "поверх всех окон". Если не могёшь дотянуться до свойств созданного тобою же окна, юзай SetWindowPos (MSDN) SetWindowPos(Handle, HWND_NOTOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE), где HWND_TOPMOST - Places the window above all non-topmost windows. The window maintains its topmost position even when it is deactivated. Не берусь утверждать, что это решит твою проблему, но попробовать стоит.
  2. в характеристиках окна, которое ты создаёшь
  3. попробуй выставить AlwaysOnTop для Overlay И проверять, если окноCS активно(GetForegroundWindow), то рисовать
  4. External или Internal Overlay? GetForegroundWindow
  5. Ты был очень близок к разгадке. Уже тут всё стало понятно: Если посмотреть с другой стороны(без использования патча), то ответ на поверхности - как приложения учитывают кол-во копий? -Объекты ядра(Events, Mutex, Jobs). При запуске первого приложения, создаётся Mutex с именем "PoERunMutexA", где A - указывает, что это первая копия игры, а так же, проверяется создан ли мютекс PoERunMutexB. Если создан - значит показываем сообщение с огр. кол-ва запуска. При запуске второго, проверяется первый мютекс и создаётся второй После этого, если мы попытаемся запустить третью копию - вылезет ошибка. Лечение: Закрывать PoERunMutexB или PoERunMutexA , и тогда мы сможем запускать сколько угодно копий, без патча и прочих извров. Примерный код реализации в игре: function CreateMutexEx(name: PWideChar): LongBool; begin CreateMutex(nil, false, name); if GetLastError = ERROR_ALREADY_EXISTS then Result := False else Result := True; end; begin if (CreateMutexEx('PoERunMutexA') = false) //первая копия запущена then if (CreateMutexEx('PoERunMutexB') = false) //если вторая копия запущена then MessageBox(0, 'You may only run бла бла бла', 'Error', 1); end. Моего ПК хватило только на 5 копий:
  6. Ты доступ к памяти процесса не получишь. Пили свой друйвер
  7. MM сработает и скрытие либы в спике - тоже.(рохитаб) Левый пример: В PB используют Dll-связку(2 либы): одна загружает вторую, затем покидает адресное пространство. Вторая dll выполняет роль чита, загружаясь особым образом(MM)(кури форум античат, там как раз статья с исходом осталась), первая - только загрузчика. *На случай, если захочешь "прокачать свой драндулет".
  8. ))ты платить кому-то за это собираешься?
  9. EAC не делает скрины, не банит за софт, запущенный в юзер моде(речь о CE, но не об отладчиках) Без драйвера - маловероятно сделать что-то серьёзное, хотя, всё может быть. Отключение безопасного режима для загрузки драйверов без цифровой подписи - детект и вывод соот. сообщения Загрузка неподписанного драйвера через DSEfix TLD - аналогично Могу посоветовать ковырять способы загрузки неподписанных драйверов на Win Vista/ 7 - на этих осях несколько умельцев смогли загрузить неподписанные дрова и не получили детект.
  10. Как это делал я после нескольких неудач: Поставил против себя бота, в своё тиме я тоже один Подрубил "супер возможности": sv_cheats 1 noclip 1 Заблокировал ботов, чтобы не бегали далеко: bot_freeze 1 bot_flipout 1 И поехало... Так же, забудьте о том, что и Вы отображаетесь на радаре - только считаем кол-во противников. Мало кому пригодится, в уроке и так разжевано, но я всё-таки смог налажать.
  11. Шел 2017, а баг с указателями в 6.6 так и не исправлен. CE 6.5 выручает
×
×
  • Создать...

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

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