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

Лидеры


Популярный контент

Показан контент с высокой репутацией за 03/19/19 во всех областях

  1. 4 балла
    Случилось мне столкнуться с ситуацией, что есть "лёгкий" способ сделать очень интересные изменения в процессе, просто подменив URL адрес запроса, или ответ, получив при этом совсем другой результат, так появилась эта программа 🖖. Не работает на Windows 8 и 10 А вот и описание.. Программа URL drafter Основные функции: Отслеживание URL запросов программы: Позволяет отслеживать и логировать все передаваемые программой URL запросы. Это позволяет получить прямые ссылки на скачивание или просмотр файлов / информации которая запрашивается процессом. Например - htmp файл с параметрами, или 3ds модель, что угодно. Создание фильтров подмены: Позволяет создать фильтр, указав в нём полный запрос от программы, управлять его состоянием, сохранять файлы со списком фильтров, загружать эти файлы. Таким образом можно сделать много файлов для разных функций и загружать их когда нужно. Фильтр позволяет заменить URL запрос на свой, таким образом можно подменить файл, или что либо ещё необходимое процессу. Файл можно положить на свой локальный сервер (localhost), или туда куда удобно. Нужно учитывать что не все файлообменники отдадут файл по прямому запросу от не авторизованного пользователя (процесса). Побочные функции: Просмотр всех процессов в системе - их id и имени. Просмотр загруженных в процесс модулей. Команды программы можно посмотреть введя "help". Все команды могут принимать аргументы сразу, или по порядку. Например ввести "connect 3442" или сначала "connect" а потом "3442" это одно и тоже. Программа создаёт файлы в директории которой лежит, если не будет указан полный путь, потому лучше поместить файл в папку. Версия 32 бит: URLdrafter x32.exe Создание фильтра: *Удобнее создавать фильтры через файл Для создания фильтра нужно прописать "fcreate (название фильтра) (номер активности 1/0) (что найти) (на что заменить)" Название - может быть абсолютно любым. Номер активности - включён ли фильтр, позже можно изменить командой "fenable" Что найти - полная URL ссылка, без http, в таком виде как выводит программа. На что заменить - полная URL ссылка без http которой будет заменена найденная ссылка Пример: В файле фильтр выглядит вот так: ,1,WeaponModel,localhost/map.eax,abz/online.html, фильтры разделяются пробелом или переходом на новую строку, запятые обязательны в начале и в конце. *Фильтры работают только если включен перехват URl . Краткое руководство, если что то не понятно: Примеры использования фильтров на разных приложениях (НЕ будет пополняться): Небольшое видео работы: *Это консольное приложение написанное на C++. *Пока доступна только 32 битная версия, соответственно открывать 64 битные процессы ей не получится. 64 битная НЕ выйдет в ближайшее время. *Распространение разрешено с указанием данного форума как источника и авторства (хотя в программе всё указано).
  2. 3 балла
    Эта программа полезна тем кто: Хотят поиграть в новые игры, но возможности приобрести самые современные устройства для этого нету Хотят увеличить разрешение в какой либо игре, выше системного - аналог сглаживания Хотят развернуть на весь экран приложение, которое это не поддерживает Описание: Программа позволяет изменять разрешение на заданное пользователем и растягивать окно на весь экран, пока работает определённый процесс. Например, таким образом можно оптимизировать игру, (уменьшив разрешение), растянуть на весь экран и тому подобное. История: В некоторых играх, например в Watch Dogs 2, есть такая настройка - качество разрешения. Изменяя её, можно уменьшить качество выводимого на экран изображения, и очень сильно увеличить fps. К сожалению далеко не все разработчики делают такую настройку, и мне захотелось создать такую программу, которая будет делать тоже самое, но с любой игрой. Инструкция: При первом запуске программа создаст в своей папке (там где лежит exe) файл games.ini, в нём будет 2 строчки заполненные для примера. Все команды программы и инструкцию можно узнать в ней, написав help. Файл нужно заполнять вот так: Название_процесса.exe Xразрешение Yразрешение Пример: witcher3.exe 800 600 terraria.exe 640 480 Каждая игра должна начинаться с новой строки, расстояние между элементами должно быть один пробел. Если игра имеет права админинстратора, то программа тоже должна быть запущена с такими правами. После запуска программа сразу начинает работать, если файл заполнен правильно, остаётся только запустить игру. После запуска игры разрешение изменится, окно игры разместится под размер экрана, после закрытия игры разрешение будет восстановлено, игру лучше всего запускать в оконном режиме без рамки. потому что некоторые игры в полноэкранном режиме принудительно пытаются поставить своё разрешение, если программа не сможет переспорить игру в таком случае, она об этом сообщит Если возникают проблемы с узнаванием названия процесса игры, можно посмотреть все активные процессы и процессы использующие DirectX с помощью команды show Если написало что игра запущена и разрешение, но оно не изменилось, значит это разрешение не подходит к вашему монитору, монитор не поддерживает любые разрешения, потому например 274 x 367 может и не сработать. Используйте правильные разрешения, например если хотите получить разрешение 2/3 от своего, разделите X и Y своего разрешения на 3, умножьте на 2 - такое вероятней всего будет записано. Эксперементируйте, или посмотрите таблицу поддерживаемых разрешений для вашего монитора с помощью команды list. Если в названии процесса используются пробелы, пишите его в кавычках, например: "For See.exe" 800 600 Файл: 64 бит: ResFitter x64.exe 32 бит: ResFitter x32.exe
  3. 3 балла
    Сегодня рассмотрим старую, но все еще актуальную ммо под названием Perfect World Берем конечно же не актуальную версию официального клиента, а пиратский сервер с его старенькой версией 1.5.3 (Summer PW) Официальная версия 1.6+ На данном пвп сервере изменены некоторые полеты для персонажа, введены некоторые, так называемые "рисованные" вещи которые довольно плохо влияют на баланс сервера Да к тому же сервер заточен еще и под донат, т.к статы вещей могут быть рандомными (Классно...) Как раз 4 стата и считаются рандомными, выпадают с некоторым шансом из общего пула. Ну и начнем собственно, посмотрим что можно сделать в этой игре интересного Начнем копать от локального игрока Ищем его указатель. Это довольно просто, не возникает никаких трудностей Указатель имеет всего одно смещение по типу *(LocalPlayer*) + 0x4 И собственно так мы вышли на структуру персонажа Далее нашли оффсеты до координат и прочего. Самое интересное оказалось то, что можно изменить скорость персонажа прямо с клиента, а сервер будет воспринимать это как действительную скорость персонажа Обычная скорость игроков на сервере порядка 5-6 м/с в зависимости от класса персонажа, довольно обычная расстановка в ммо играх Изменив скорость персонажа с клиента у сервера не возникло вопросов, а легально ли это и просто съело это. Путем проб и ошибок я подобрал значение скорости [м/с] которое допустимо записью в адрес. Это 15 м/с Скорость 15 м/с считается максимальной скоростью передвижения персонажа на сервере (Когда мы передвигаемся пешочком) Но скорости в 15 м/с ведь мало , без каких либо бафов на ускорение и пр. Поэтому пробуем увеличить до 20 м/с простой записью и персонажа начинает откидывать назад при перемещении Тут у меня есть предположение исходя из пошаговой отладки, что переходе через порог допустимого значения, сервер начинает сбрасывать скорость персонажа до 5-6 м/с опять же в зависимости от класса Но на сервере есть всякие плюшки на ускорение персонажа, этим мы и воспользуемся Установлено что максимальная скорость без бафов 5-6 м/с. С бафами 15-20 м/с Опять же путем проб и ошибок было выяснено что можно преодолеть эти 15 м/с А преодолеть их можно путем наложения бафа ускорения на персонажа, которое работает примерно по такому принципу curSpeed = (15.0*2) Значит мы можем это легко использовать и нас не будет откидывать. Звучит неплохо Делаем бинд на запись значения в адрес скорости. Пусть это будет 30 м/с, включаем баф на ускорение и радуемся скорости в 30 м/с без каких-либо откидываний назад Правда такое будет работать только пока на нас весит баф на ускорение, т.е ровно 15 сек А после окончания действия бафа нам придется довольствоваться скоростью в 15 м/с, но все равно это скорость останется постоянной и уже превышает скорость обычных игроков примерно в 2-3 раза Вопрос остается в том, как же обойти или сделать так, чтобы значение подстраивалось в нужное когда на нас висит нужный баф Делается довольно просто, путем чтения ID бафа на ускорение и его проверки на существование Необходимо найти какой-то список бафов и после читать его каждые допустим 20 мс А при нужном ID бафа просто менять значение скорости персонажа. Все довольно примитивно Выйти на массив бафов нам поможет счетчик кол-ва бафов персонажа, который должен быть где-то в памяти игры *Стандартные процедуры в СЕ. 1-2-3-4 бафа, сканируем, потом находим указатель на этот счетчик* И в итоге оказывается что этот счетчик лежит прямо в структуре персонажа, хотя мб и логично В некоторых играх может быть и иначе Выше над счетчиком и лежит наш список бафов, смещение между бафами ровно в 0x12 Узнаем наш ID ускорения и запоминаем Остается теперь написать программу которая поможет нам делать все манипуляции с памятью Запускаем, проверяем
  4. 3 балла
    Глава 0. Пролог В общем в прошлой статье слетели картинки, да и статья не особо понравилась, вот её переписанная и обновленная версия. Место действия – терминал, в главных ролях – radare2, отлаживаемая программа. Глава 1. Настройка окружения ESIL e asm.emu=true - Run ESIL emulation analysis on disasm e io.cache=true Глава 2. Настройка эмулятора Тут достаточно простой список команд: aei – инициализирует состояние виртуальной машины aeim – инициализирует стек aeip – устанавливает EIP по текущему положению в коде после всех этих команд в регистрах выставились адреса ebp, esp, eip. Остальные регистры устанавливаем с помощью команды aer, значения обычно берутся из отладчика, но можно выставить любые. aer eax = 00000004;aer ebx = 0x17426e8;aer edx = 00000004;aer edi = 0x05e4830;aer tf = 1;aer if = 1; Для пошагового выполнения кода используем aes, я обычно использую такую связку, чтобы получать необходимый минимум информации: pd -1 @ eip; aer=; aes но если кому так не удобно, есть возможность использовать визуальную отладку используя команду V! Глава 3. Тест Попробуем отладить код из дампа и посмотреть, что там вообще происходит. Глава 4. Эпилог Как видите, все достаточно просто, плюс поддерживается для эмуляции туева хуча архитектур. Так же это быстрее, чем поднять qemu или использовать реальное железо, плюс поддержка скриптов радара делает из эмуляции достаточно мощный инструмент для статической отладки и анализа кода.
  5. 3 балла

    Версия Steam

    25 раз скачали

    Использование: Запускаем сначала игру, а в главном меню игры (либо в уже начатой игре) запускаем трейнер. Переключение интерфейса трейнера, а (то есть языка) на правую клавишу мыши по панели трейнера.
  6. 3 балла

    Версия Steam: 1.3.140380

    15 раз скачали

    Использование: Запускаем сначала игру, а в главном меню игры (либо в уже начатой игре) запускаем трейнер. Функции: 1. > Бессмертие. 2. > Супер прыжок. 3. > Бесконечный полет во время прыжка (на пробел). 4. > Умножение очков на 10. 5. > Заморозить время.
  7. 3 балла

    Версия 1.0.0

    6 раз скачали

    После активации позволяет рассчитать силу выстрела которая нужна для попадания по точке указанной пользователем. Для активации просто запустить exe файл, навести мышку на свой танк, нажать F12, навести на танк врага, нажать левую кнопку мышки, в появившееся окно вписать угол поворота башни у танка, в следующее появившееся окно вписать ветер. Если ветра нету то вписать 0, если ветер дует против выстрела, то писать значение ветра с минусом, если по выстрелу, то с плюсом или просто значение. Работает оно везде, можно даже на рабочем столе рассчитать силу выстрела от одного ярлыка к другому. Для расчёта используются координаты курсора Выключить можно найдя иконку в меню активных значков, нажав по ней правой кнопкой мышки и выбрав "Exit" Файл это запакованный в exe скрипт ahk (AutoHotkey). Видео демонстрации работы:
  8. 3 балла
    Решил тут сделать кастомные пресеты для подсветки, но в софте производителя такой возможности не было, были стандартные, ограниченные. Как же я не люблю ограничения, ну что ж...приступим к исследованию. Для начала необходимо понять как софт общается с клавиатурой, для этого запускаем Wireshark. При изменении яркости, происходит отправка пакета по USB. Отлично, это уже что-то. Выполним еще пару действий, чтобы сделать шаблон для данных. //Стандартные настройки : 11 ff 0c 3a 00 01 ff 00 00 02 00 00 00 00 00 00 00 00 00 00 //Изменение яркости : 11 ff 0c 3a 00 01 f5 00 00 02 00 00 00 00 00 00 00 00 00 00 //Включение пресета : 11 ff 0c 3a 00 02 ff 00 00 10 40 00 64 00 00 00 00 00 00 00 //Изменение скорости пресета: 11 ff 0c 3a 00 02 ff 00 00 05 c7 00 64 00 00 00 00 00 00 00 Открываем 010 Editor и делаем шаблон. Шаблон: Шаблон можно будет использовать для программирования клавиатуры. Для программирования будем обращаться по имени HID устройства, чтобы с помощью CreateFile получить хендл и общаться с клавиатурой. Не самый лучший способ, но быстрый, хотя я бы выбрал хуки. Все есть файл. (ну почти) Посмотрим под отладчиком, что говорит софт логитека клавиатуре. Ставим бряк на WriteFile и бдыщ. Дальше остается использовать CreateFile, Read/WriteFile, чтобы сделать основу для собственных пресетов. Один из плюсов всего этого, это уменьшение размера программы с 200 мб до 10кб. Как раз вот-вот уже выходные, в планах привязать изменение подсветки клавиатуры в зависимости от готовности кофе в кофеварке. А до следующей статьи, можно будет разобрать как расширить функционал встроенных скриптов в клавиатуре и можно ли, туда прописать что-то действительно полезное, и что может пойти не так. И разобрать, за что отвечают последние 4 байта.
  9. 3 балла

    Версия 1.012

    12 раз скачали

    Запускаем сначала игру.. потом трейнер. Клавиши в трейнере парные.. Зажимаем insert и жмем клавиши указанные на панели трейнера. Если игра лицензия, то заменяет dll в папке античита.. Описание функций на панели трейнера... Переключения языка.. правой клавишей мыши по панели трейнера.
  10. 2 балла

    Версия 1.0 Beta

    2 раза скачали

    Cheat Engine 6.8.3 Cheat Engine Extensions "User actions logger 1.0 Beta" Repository: https://bitbucket.org/MasterGH/ce-lua-user-actions-logger/src/master/ Author: MasterGH Donations: paypal, mastergh.developer@gmail.com Site: https://gamehacklab.ru/ Youtube channel: https://www.youtube.com/gamehacklabru VK: https://vk.com/gamehacklab How to install: Put files in main directory to chate engine Version: Beta 1.0 (22.018.2019) + Add output base information about user actions + Add GHL panel Files: autorun->User actions logger.lua autorun->GHLLogo.lua autorun->forms->GHLLogo.frm На русском: "User actions logger 1.0 Beta" Репозиторий: https://bitbucket.org/MasterGH/ce-lua-user-actions-logger/src/master/ Автор: MasterGH Donations: paypal, mastergh.developer@gmail.com Сайт: https://gamehacklab.ru/ Youtube канал: https://www.youtube.com/gamehacklabru VK: https://vk.com/gamehacklab Как установить: Распаковать файлы в директория Cheat Engine Версия: Beta 1.0 (22.018.2019) + Добавлены базовые действия в логи + Добавлены ссылки на ресурс game hack lab Файлы: autorun->User actions logger.lua autorun->GHLLogo.lua autorun->forms->GHLLogo.frm
  11. 2 балла
    На днях решил с самого чистого нуля написать хук для Directx 9. Чтобы было хоть какое-нибудь отображение для пользователя внутри игры Собственно идея зародилась, осталось только воплотить Хук поддерживает Режим в окне / Полноэкранный Использование EndScene и библиотеки для рисования самого меню. Использованная версия игры: Metal Gear Rising - Revengeance v2, таблетка от Skidrow Пара скриншотов самого меню, все получилось довольно ярко На момент тестирования багов и вылетов не обнаружил. Для написания ф-ий и самого хука были использованы MS Detours. Вполне возможно что функционал я буду еще доделывать, постепенно Но это в том случае, если не переключусь на игру поинтересней Ну и конечно же видео
  12. 2 балла
    Обход функции, снятия скринов античитами. 03.07.2019 Undetected Поддержка: x32 / x64 Win7+ Запускать можно как до, так и после запуска игры Запустить файл Играть В зависимости от античита, скрины не будут сниматься или будут чистые ENJOY
  13. 2 балла
    В зависимости от энтропии, мы можем с ходу определить какие утилиты нам понадобятся, для примера возьмем игровую дллку. Возьмем файл из каталога и проверим энтропию: Обычно энтропия выше 2-3 указывает на то, что файл накрыт чем-то и не подходит для статического анализа, из-за того, что будет попадаться мусор, куски нерабочего кода и отсутствие перекрестных ссылок, проделаем тоже самое, но уже с дампом этой же дллки. Как видите, энтропия стала меньше, а линия стала более ровной, это означает, что файл готов к использованию и во время реверса не возникнет никаких проблем.
  14. 2 балла

    Версия 1.0.0.1613

    5 раз скачали

    NFSW_AFdll v0.53 [source include] Supported AutoFinish: Sprint: multiplayer/singleplayer Circuit: multiplayer/singleplayer Drag: multiplayer Pursuit: singleplayer 2-5 min Team Escape: multiplayer Private event only when server return players to lobby Hotkeys: F1 multiplayer - replay F2 singleplayer - replay F3 powerups - rand F4 durability - auto fix when 0% Additional features: CodePatchDetected fix TickersDiverged fix FindInject 1/2 fix LogOff CrashDumpOff Tank mode IgnoreSpikeStrip LevelPursuit NoReportShortcutUsage HTTP send/receive PEB HideDLL 2window (use alternative launcher) Additional info: "nfsw af.cpl" is "self inject" dll - run game, wait "Enter World", 2 click on cpl = injected also u can use any dll injector, or cmd rundll32.exe "nfsw af.cpl",entrypoint select event, drive one time, enable F1 or F2 for replay (EN keyboard required) написан на FASM
  15. 2 балла

    Версия 1.7

    16 раз скачали

    Использование: Запускаем сначала игру, а в главном меню игры (либо в уже начатой игре) запускаем трейнер. Функции: 1. > Бессмертие. 2. > Максимальная точность оружия. 3. > Без отдачи оружия. 4. > Сбалансированная скорострельность оружия. 5. > Без перезарядки оружия. 6. > Бесконечные патроны. 7. > Нет тряски камеры при уроне по персонажу. 8. > Убрано качание оптического прицела. 9. > Мгновенное прицеливание через оптику. 10. > Увеличенная кратность оптики. 11. > Быстрая перезарядка оружия. (Подобии умения "Ловкости рук" в mp) 12. > Быстрое переключения с оружие на оружие.
  16. 2 балла

    Версия 1.0 steam

    4 раза скачали

    Использование: Запускаем сначала игру, а в главном меню игры (либо в уже начатой игре) запускаем трейнер. Функции: 1. > Бесконечная жизнь персонажа. 2. > Легкие убийства. 3. > Бесконечная энергия. 4. > Неуязвимость персонажа. 5. > Заморозить количество жизней. 6. > Предметы не ломаются. 7. > Бесконечные деньги. 8. > На максимуме все умения.
  17. 2 балла

    Версия 1.4 Final

    4 раза скачали

    Запускаем сначала игру, а потом трейнер... Либо в меню игры, либо в уже начатой игре.. Что бы клавиши F1-F12 не мешали игровому процессу (сохранение-загрузка) и так далее.. Активируем функции за пределами окна игры на окне трейнера. Переключения языка - правая клавиша мыши по панели трейнера. Описание функций на картинке. Ps: Это уж так... попросили сделать простенький (на эту игру), может кому ещо пригодится.
  18. 2 балла
    о твоей мотивации программирования Тут все достаточно просто, раньше я играл в Counter-Strike: Source и меня достали читеры, вот решил сделать свой чит и тут понеслось. о твоем стаже программирования Стаж С++ на данный момент уже 7-й год, большая часть проектов это специфичные читы(в которых пробую что-то новое и полезное, без различных свистоперделок), пара проектов работы с сетями (прокси серверы), дампер, инжектор, RTTI парсер, нейронка для аимбота, и вот новый проект универсальный фаззер для восстановления SDK для любых игр. Python 2 года, но на нем я ничего сложного не делаю, так простой язык для автоматизации мелких действий, например работы с дизассемблерами и отладчиками, поднятии прокси серверов с возможностью парсинга и интерпретацией данных пакетов в структуры. Ну и по мелочи Java, Pascal, VB, Javascript, Php, Ruby, Go, HTML/CSS, Lua, Rust, Perl, C#, SQL. какие книги по программированию ты изучал По С++: WINAPI Рихтера, Бьерн Страуструп. Язык программирования С++ и еще можно почитать Полный справочник по C++ 4-е издание. Герберт Шилдт По Python: Gray Hat Python Justin Seitz и Gray Hat Hacking 3nd какие книги показались сложными, какие бесполезными От таких сразу избавляюсь, поэтому сходу вспомнить не могу. какие книги ты бы посоветовал изучать, и в каком порядке У меня есть своя библиотека, я даже где-то на форуме её скидывал, там собраны все необходимые книги, для того чтобы получить полное понимание устройства работы программ, которые можно изучать в любом порядке. какой язык программирования тебе нравится больше и почему Вообще не люблю программировать. Но если по языкам, то без сомнений это C++, приятный синтаксис и универсальный язык для любых задач. какой язык программирования для тебя самый сложный Эзотерические ЯП — реально сложно. отзыв об учреждении в котором обучался, об объеме и пользе знаний, которые там приобрел Пустая трата времени, объем и польза по нулям. Поэтому и в университет не пошел, во-первых университетов со специальностью связанной с информационной безопасностью можно на пальцах одной руки пересчитать, во-вторых не уверен в том, что мне могу дать какие-то новые знания, а сидеть 4-5 лет, чтобы мне рассасывали, те знания которые у меня есть это 1. Бесполезно. 2. Дорого. 3. Слишком много времени уйдет в пустую, даже относительно заочного обучения. Да и с появлением интернета, весь материал изучаемый в университетах есть в сети, а единственное, что мешает самообразованию это лень.
  19. 2 балла
    В общем начал разрабатывать игровой фазер, предназначенный для восстановления классов и смещений для не виртуальных функций. На данный момент я представляю это как отдельный проект, возможно написанный с нуля, но думаю использовать готовые дизассемблерные библиотеки, чтобы сэкономить время, который будет представлять из себя универсальный дампер SDK для любых игр. Хотя использовать x64dbg для подобного будет очень даже уместно т.к. функциональное ядро будет готово. На первом этапе вешаем бряк на инструкцию. Получаем стек вызовов и восстанавливаем путь от 1-й функции вызванной клиентом до последней в которой находимся мы. На втором этапе будет создаваться каркас из классов, функций и ответвлений, я думаю воспользоваться перекрестными ссылками. На третьем этапе начнется интерпретация и парсинг инструкций основного древа без ответвлений кода, чтобы восстановить используемые в коде смещения и типы данных, отслеживая поведение инструкций. На четвертом этапе будет проводиться тоже самое, но только для ответвлений имея на руках уже найденные адреса и значения, я думаю это эффективней работы с ответвлениями начиная с нуля. На пятом этапе представлять в графическом виде все древо. На шестом генерировать таблицу рекласса. Красным веделен четвертый этап, черным третий. Основная проблема в том, что мы не знаем точный размер структур. И пока я не представляю, как можно получить размер динамически выделяемой памяти. Как вариант, пятым этапом вешать бряки на функции освобождающие память, фильтруя по всем найденным начальным адресам структур и после убивать процесс, чтобы перехватить размер. А после обрезать структуры по размеру, но концепция "ищи, чтобы удалить" мне не очень нравится. Плюсы данного проекта в том, что ничего не надо делать самому(пфф, что-то там руками искать в 2019), а так же можно прилепить на один из этапов "рекурсивное" восстановление, т.е начинаешь с инструкции патрон и чем больше смещений восстановится, тем к большему числу классов получаешь доступ для восстановления и так будет продолжаться, пока файл не восстановится полностью. (нет это не нейронная сеть, хотя кто знает)
  20. 2 балла
    Выглядит достаточно ида-подобно, кроссплатформенный инструмент использующий Qt5 и конечно же опенсорсный. Можно оставить в закладках и следить за развитием. 2019 можно назвать годом интерактивных дизассемблеров и декомпиляторов, много новых игроков появляется, даже немного удивительно. https://redasm.io
  21. 2 балла
    Вариантов решений несколько 1. Могут быть адреса, которые явно читать не стоит. такие как cmp eax, 0 cmp eax, 0xffffffff Тогда просто сравнить их и все 2. Использовать API Windows для определения прав доступа к адресу на чтение и запись перед обращением 3. Использовать обработку исключений типа этого 4. Использовать CE Lua для определения доступа к адресу function CheckAddress(address) return readInteger(address) ~= nil end Это функцию можно использовать двумя способами. Либо через вызов Lua функции из CE AA (в прочем там же можно и сразу писать значение) Либо кешировать адреса в метки и по Lua таймеру записывать значение по адресам. 5. Вариант искать другое место кода для инъекции 6. Вариант искать условия, когда адрес всегда валидный (например, когда в той же структуре адреса имеют определенные значения) В большинстве случаев подходит вариант5. Нужно найти другое место кода, откуда например читается значения во время игры только для игрока. Например, когда код читает значение и передает его на экран.
  22. 2 балла
    Хех... А теперь посмотрим на цены. 1879 USD только за дизассемблер + x64,x86 декомпилятор (2629 *2 USD) = 7137 USD ( ~470.000 | 468529,78 рублей по курсу на 30.03.2019) И это лишь минимальный набор для реверса. Пожалуй я для себя выбрал инструмент для реверса.
  23. 2 балла
    The Hobbit Просмотр файла Использование: Запускаем сначала игру, а в главное меню игры (либо в уже начатой игре) запускаем трейнер. Функции: 1. > Бессмертие. 2. > Бесконечная энергия. 3. > Бесконечные деньги. 4. > Бесконечные камни. 5. > Бесконечное время способностей камней. 6. > Бесконечное время кольца. 7. > Быстрый взлом сундуков. 8. > Нет смерти от падения с большой высоты. 9. > Супер скорость. 10. > Супер прыжок. 11. > Мега прыжок. Если супер прыжка мало - работает в паре с супер прыжком. 12. > Бесконечная жизнь медведя. 13. > Заморозить врагов. 14. > Убийство с одного удара (включать не играя с союзниками). Ps: Функция убийство с одного удара, работает и на союзников... Так что в последней главе, функцию лучше не включать. Ну или в противном случаи, они помрут так же от одного удара врага. Добавил LIRW Добавлено 03/19/19 Категория Трейнеры для PC игр  
  24. 1 балл
    Когда-то давно я хотел сломать длину крюка, ну так вот, как и предполагал это оказалось статичное значение получаемое из файла конфигураций по значению: 0x72104687(возможно, это ID параметра в таблице со значениями), найти это с помощью поиска я не смог т.к. нет значений от которых можно было бы оттолкнуться. И нам на помощь приходит реверс. Вот так выглядит код. Тут все достаточно просто, функция по ID параметра загружает значение из файла и записывает в структуру крюка-кошки, вместе со всеми остальными параметрами. Параметров очень много, начиная от начальной скорости и ускорения, заканчивая силой захвата людей. И как это обычно бывает, во время тестов возникла проблема. Крюк-кошка в игре считается за патрон, а пули для оптимизации очищаются, когда достигают пика своего существования. Поэтому даже если найдем длину крюка-кошки и изменим её, то ничего не получится, просто потому, что время жизни крюка всего ничего. Значит, придется найти инвентарь, в инвентаре указатель на оружие, а в структуре оружия найти характеристики, и только тогда крюк кошка заработает.
  25. 1 балл
    Итак, для дампа будем использовать точку останова с условием, с выводом определенных типов для нужных нам регистров. Условие остановки: представляет из себя условие при котором будет срабатывать бряк, так как мы не знаем количество, функций которые имеет игра, то установим чуть меньше максимального количества функций в IDA. Текст журнала: Это то, что будет выводится в журнале во время остановки. Формат вывода такой {тип: регистр}. Весь список типов и пример использования: Условие добавление в журнал: Говорит само за себя. Текст команды: Это то, что будет выполняться после остановки бряка, на скрине указана команда go - тоже самое что нажать F9. Так же команд может быть несколько, каждая последующая добавляется со знаком точка с запятой. (go; StepOut) Условие для команды: Условие для выполнения команды. Счетчик остановок: Просто счетчик, к значению которого можно обратиться через $breakpointcounter Демо: Ссылка на док: https://x64dbg.readthedocs.io/en/latest/introduction/ConditionalBreakpoint.html
×

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

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