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

partoftheworlD

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

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

  • Посещение

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

    172

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

  1. С праздником, учащиеся. Ну как там линейка?
  2. Может у него и будет пару функций каждая на 1к строк кода, одна отправляет, другая принимает запросы,
  3. Это уже будет считаться вирусом, раз ты имеешь доступ к файлам/файлу пользователя. И в любой момент к тебе через окно влетит отряд ОМОНа. Ну, а вообще по теме ничего сложного нет правда не через сайт, это геморно, пишешь клиент-сервер приложение, через recv получаешь какую-нибудь команду, на клиенте(твоём) чите делаешь проверку этой команды перехватив буфер функции recv. А дальше делай что хочешь т.к читы обычно запускают с правами админа и у тебя будет полный доступ к ПК через чит. Это коственно можно посчитать за распространение вируса и получить административный штраф или срок зная наши "честные" суды
  4. Это указатель на структуру которая берётся из другого участка кода и подставляется тут, для того чтобы инструкция нормально работала будто бы так задумано игрой.
  5. Это и была ссылочка на то что нужно тебе знать, там нет прямого ответа на твой вопрос, но в совокупности вся информация дает ответ на него.
  6. pushad mov ecx, [ptr+120] popad ...какой-то исполняемый участок кода Если не понятно, добро пожаловать в раздел для новичков.
  7. Ну это не обязательно, если вопрос не имеет отношение к конкретной игре, это общий вопрос Используй участок кода который выполняется, перед этим сохрани все регистры и передай необходимый адрес в ecx, а после восстанови регистры.
  8. хм, неожиданно. спасибо.
  9. авто-прицеливание, когда наводишь на определенный хитбокс прицел, а дальше игра сама доводит прицел. Я в матане или что это такое не силен, поэтому и предложил использовать уже встроенный в игру вариант, передаешь свои аргументы в вызов функции и игра сама за тебя все рассчитывает, это же легче, а модификации типа увеличить размер fov, чтобы авто-доведение срабатывало не только когда прицел на хитбоксе, а вообще всегда и получится аимбот.
  10. Я бы по-другому сделал, использовал функцию автоаима с разными модификациями, чтобы расширить радиус действия, fov и прочее, это быстрее и думаю будет работать более стабильно и точно. Самое "сложное" бы было заставить думать игру, что играешь с джойстика.
  11. Может По координатам вычислять коллизию как я описал выше
  12. Расчет коллизии работает постоянно, лучший вариант искать эти расчеты от пишущей инструкции, они обычно выше по коду. Ещё можно ручным поиском, найти коллизию, но это достаточно долго и много чего надо проделать, мой тестовый метод. Получаешь координаты объекта(это можно сделать с помощью собственных координат упершись(ну и словечко) углы объекта), после при попытке войти в объект вычисляешь твои координаты - координаты объекта = значение коллизии, но часто оно очень маленькой типа 0.00123/0,0123, чтобы они были больше можно попробовать ограничить количество кадров в секунду, чем меньше кадров, тем дольше просчитывается коллизия, но опять же это не для всех игр.
  13. Cheat engine + dnSpy в котором можно искать по всему что душа пожелает через ctrl+f После запуска отладчика, можно искать по комментам они указывают и адрес и всякую инфу например // Token: 0x06005392 RID: 21394 RVA: 0x001278CB File Offset: 0x00125ACB
  14. отладчик конечно ужасен в Artmoney, думаю удобней её использовать, если все же кто-то будет её пользоваться, то только в связке с Windbg, чем со стандартным отладчиком.
  15. ты его и не сможешь собрать, потому что на выходе получается что-то типа декомпилированного псевдо-кода, все изменения в бинарнике делай с помощью hex редактора или ida и все будет хорошо.
  16. После декомпиляции должны появлиться исходники, не чистые конечно, но для разбора пойдет.
  17. Пока изменил в следующий раз читай правила https://gamehacklab.ru/guidelines/ Это я туплю уже. Тебе надо метку объявить value, а после писать в xmm3 [ENABLE] aobscanmodule(SPEED,rqmain.exe,F3 0F 11 9E F4 02 00 00) alloc(newmem,$1000) label(code) label(return) label(value) newmem: value: db (float)500 code: movss xmm3, [value] movss [esi+000002F4],xmm3 jmp return SPEED: jmp newmem nop nop nop return: registersymbol(SPEED) [DISABLE] SPEED: db F3 0F 11 9E F4 02 00 00
  18. Думаю так [ENABLE] aobscanmodule(SPEED,rqmain.exe,F3 0F 11 9E F4 02 00 00) alloc(newmem,$1000) label(code) label(return) value: db (float)500 code: movss xmm3, [value] movss [esi+000002F4],xmm3 jmp return SPEED: jmp newmem nop nop nop return: registersymbol(SPEED) [DISABLE] SPEED: db F3 0F 11 9E F4 02 00 00 И укажи игру, иначе тема будет закрыта.
  19. Автор статьи: Whitey Перевел: partoftheworlD специально для gamehacklab.ru Оригинальная cтатья Необходимые инструменты: Сканер памяти(Cheat Engine) Отладчик(x32dbg) Оглавление Введение Шаг 1 Поиск здоровья и получение нашей структуры Шаг 2 Поиск координат нашего игрока Шаг 3 Инъекция кода Шаг 4 Код в трейнере Введение: В этом уроке мы собираемся сохранять/восстанавливать значения в Bloodrayne 2 Demo. Такая опция предполагает, что пользователь, нажав на одну кнопку мог сохранить текущую позицию, а при нажатии на другую телепортировался в ранее сохраненную позицию. У вас должны быть хорошие навыки в поиске и отладке, если хотите выполнить этот урок. Я стараюсь вдаваться в подробности как могу, если вы будите следовать всем шагам, то у вас не возникнет никаких проблем. Шаг 1 Поиск здоровья и получение нашей структуры Ладно, я уверен вы знаете как искать значение здоровья. То, что мы хотим сделать это получить все указатели, потому что мы будем использовать один из них для нашей инъекции. Открываем x32dbg... Видим снизу консоль и вводим в неё bpm адрес, нажимаем Enter После срабатывания начинаем записывать адреса инструкций при срабатывании, нажимая F9 для продолжения выполнения программы, записываем адреса пока не начнут повторяться. Это те адреса, которые нам нужны, на самом деле их на много больше. 5BE285 : PUSH [EBX+39C4] 5BE2B5 : 5BE2D1 : 5BF30A : Теперь ставим бряки на этих адресах по одному и смотрим на структуру внутри указателя, для того чтобы убедиться, что структура никогда не изменяется, так мы узнаем, что указатель работает только со здоровьем игрока. Пишем в консоле: bpx 5BE285 Продолжаем нажимать F9 при срабатывании наблюдая за адресом структуры в EBX и, если она никогда не изменится значит она работает только для нашего героя. Это адрес, который мы будем использовать для нашего телепорта. 5BE285 : PUSH [EBX+39C4] Вы должны знать, как работает большинство игр. У вашего игрока, оружия, предметов есть свои структуры, таким образом в структуре вашего игрока будет все что использует ваш персонаж. Так, теперь получим координаты. Шаг 2 Поиск координат нашего игрока Есть много способов найти их, многие будут использовать долгий способ с поиском координат, но это не всегда работает. Быстрой и простой способ - использовать структуру игрока. Этот указатель PUSH [EBX+39C4], EBX является началом структуры игрока, всякий раз, когда игра должна какую-нибудь информацию от игрока, она добавляет к EBX какое-нибудь смещение. Например, ваше здоровье хранится в [EBX+39C4], сила в [EBX+34] и т.д. Надеюсь вы понимаете. Так, теперь получим координаты, нам нужно установить бряк на выполнение на указатель здоровья и дамп нашей структуры. Пишем в консоле: bpx 5BE285 d EBX Теперь в окне дампа первым адресом будет наша структура. Будем наблюдать за байтами, которые изменяются в окне дампа во время движения. В окне данные будут выглядеть так. 600001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 600002 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Координаты хранятся так: 600001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 600002 00 00 11 11 11 11 22 22 22 22 33 33 33 33 00 00 1 = X(первая координата) 2 = Y(вторая координата) 3 = Z(третья координата) И так, проделав эти шаги мы нашли 3 DWORD значения в 2 строка которые изменяются, когда наш герой двигается. Получили следующие смещения. 34,38,3C. [PlayerStructure+34] = первая координата[PlayerStructure+38] = вторая координата[PlayerStructure+3C] = третья координата Отлично, теперь у нас есть координаты и наша позиция. Шаг 3 Инъекция кода Что нам нужно для инъекции. Место под код 2 пустых адрес для установки 2-х флагов 3 пустых адрес для хранения сохраненных координат. Ладно, для начала найдем большое место под код т.к .у нас будет большая инъекция. 5BE285: JMP CODE CAVE | ---------- Оригинальная инструкция для прыжка в наш код NOP | ---------- балансировка байт PUSHAD | ---------- сохраняем регистры CAVE: PUSH [EBX+39C4] | ---------- Оригинальная инструкция сохраняющая регистр CMP [FLAG1],1 | ---------- проверка, если наша кнопка сохранения позиции нажата JNE SHORT | ---------- если кнопка не нажата, прыгает восстановленной оригинальной инструкции, если нажата пропускаем. MOV [FLAG1],0 | ---------- устанавливаем 0 нашему флагу, чтобы код не повторялся MOV ECX,3 | ---------- Установим значение счетчика 3 LEA EDI,[STATIC1] | ---------- Загрузим начальное значение в EDI LEA ESI,[EBX+34] | ---------- Загрузим первую координату в ESI REP MOVSD | ---------- Цикл пока ecx не будет равно 0 CMP [FLAG2],1 | ---------- Сравниваем, если кнопка восстановления нажата JNE TO END | ---------- если нет прыгаем в конец скрипта MOV [FLAG2],0 | ---------- устанавливаем 0 нашему флагу, чтобы код не повторялся MOV ECX,3 | ---------- Установим значение счетчика 3 LEA EDI,[EBX+34] | ---------- Загрузим начальное значение в EDI LEA ESI,[STATIC1] | ---------- Загрузим первую координату в ESI REP MOVSD | ---------- Цикл пока ecx не будет равно 0 END: | --------------------- POPAD | ---------- восстанавливаем регистры | ---------- И возвращаемся в игровой цикл Очень просто, хех? Шаг 4 Код в трейнере Ладно все что вам нужно сделать это, Для кнопки сохранения, инжектировать весь код и установить первому флагу 1. Для кнопки восстановления, инжектировать весь код и установить второму флагу 1. Теперь, нажимая на указанные "горячие клавиши" при сохранении будет устанавливаться флаг меняющий значение истинности и сохраняющий координаты в статические адреса, а при восстановлении установится второй флаг, который возьмет сохраненные координаты из статических адресов и установит их значение реальным координатам, что переместит нас в это место.
  20. Декомпилируй apk файл и посмотри что творится в исходниках, возможно найдёшь что нужно
  21. Просто это странно, в бф4 структуры всех игроков одинаково быстро обновляются на сервах с 64 игроками, а валв в прошлом веке как-будто застрял с ламповыми серверами.
×
×
  • Создать...

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

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