-
Постов
2 999 -
Зарегистрирован
-
Победитель дней
129
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные MasterGH
-
-
Может так
Предполагаю, что там где описание массива из векторов —там кажется что скобки лишние. Двойка в описании массива означает инициализацию двух элементов, которые можно заполнить в массиве после знака "=", что и происходит
-
Книга про взлом игр.
Только английский вариант и ознакомительная версия.
Содержание и обложка под спойлером
- 1
-
В 03.04.2018 в 22:04, vadik111 сказал:
Возможно ли узнать вообще все иды моделек в этой игре ?
1. Сравнить структуры
2. Найти адрес id модели, хотя это если повезет. Может вообще не быть. Если нет id, то сам адрес структуры
3. На адрес id или на адрес структуры ставится брейкпоинт. Находим инструкцию, которая работает со всеми id или адресами структур и выводим их куда надо и как надо. Либо через АА скрипты, либо через Lua скрипты. Через последние проще.
Нет гарантии, что все id-моделей сейчас на игровой сцене...
-
20 часов назад, JustHack сказал:
Вопрос вот в чем. Как можно вычислить координаты аномалии, чтобы обернуть её в визуалы?
По RTTI писать не буду, надо изучать и пробовать.
Если в теории, то такой способ даже в играх, в которых нет RTTI.
Найти координаты любого игрового объекта, например, главного персонажа.
На них поставить брейкпоинт на доступ в CE.
Включить опцию счетчика уникальных адресов. Там где их будет очень много, то та инструкция скорее всего работает со всеми координатами в мире.
Среди этого многообразия адресов долго будет вручную найти координаты аномалии.
Можно написать Lua скрипт, который найден ближайший игровой объект рядом с другим игровым объектом и вывести список таких координат.
Если координаты аномалии движутся, то можно вручную найти или опять скриптом через Lua.
-
3 часа назад, X86Jumps сказал:
а актуально делать ответ когда даже сам автор выложил его?)
5 часов назад, LIRW сказал:Будем ждать новую подобную версию. Без готового решения.
Окей. Решение выложили, тему закрываю
-
2 часа назад, GameHacker сказал:
Закройте тему
Решено!
Будем ждать статью, как было сделано. Закрыто
-
4 часа назад, GameHacker сказал:
Я просто эти регистры не понимаю потому что в ютубе нет про них обучение!
Надо тему подводить к итогу и завершать, потому что прошло много времени.
Нужно написать подробно, что делал, что не получилось. Скриншоты, видео, текст.
-
Можно написать скрипт в теге кода под спойлером и пару слов как было сделано. Таблицы некогда проверять
-
В 14.03.2018 в 19:05, MasterGH сказал:
Поставить брейкпоинт на любой адрес координат.
19 часов назад, GameHacker сказал:Не могу когда я нажимаю на F5 то адресс становится зеленым, а игра не запускается (зависает)
Это должен быть адрес одной из координат.
Если игра зависает при подключении отладчика, то может попробовать включить VEH дебаггер.
20 часов назад, GameHacker сказал:есть ли видео пример или скрин хотябы чтобы я понял.?
22 часа назад, GameHacker сказал:Расструктуризовать dessect data/structure
В отладчике из меню вызывается "dessect data/structure " и там в окне указывается адрес начала структуры. Если смотреть скриншот выше это был бы адрес из ebx
Когда ты кликнешь на инструкцию у тебя появится регистр плюс смещение.
mov [ebx+ смещение]
ebx будет началом структуры
-
4 минуты назад, GameHacker сказал:
есть ли видео про это?
и да как сделать АА скрипт
Нет смысла. Зачем тебе видео и АА скрипты, если сначала можно найти рабочий адрес скорости и проверить его заморозкой. Все остальное потом
- 1
-
В 12.03.2018 в 18:32, GameHacker сказал:
Нашел 2 координаты 1-ый координата указывает лево-право, 2-ой вперед-назад, а что с ними делать?
Поставить брейкпоинт на любой адрес координат.
Найти начало структуры. Начало лежит в регистре. Например [eax + 0xx]. Начало в eax
Расструктуризовать dessect data/structure
Взять случайные смещения рядом с eax + 0xx и поменять значения по ним раза в два больше. Зайти в игру и посмотреть, что поменялось.
Потратить время и по всей структуре поменять рандомно значения раза в два больше. Тип float к примеру. Если игра вылетает, то повторить с другими смещениями.
- 1
-
Отклонение от обсуждения.
Я думаю, вопрос решен. Тему закрываю
-
-
Что не очень понятно и что на практике сложно?
-
2 часа назад, GameHacker сказал:
Нашел 2 координаты 1-ый координата указывает лево-право, 2-ой вперед-назад, а что с ними делать?
Как в предыдущей теме. Скорость может быть в структуре рядом с координатами или рядом с velocity. Либо в другой структуре.
Ставим бряк на координаты и трейсим вверх и смотрим смещения, которые обращаются к структуре и пытаемся узнать в них скорость. Или же меняем в структуре все подряд и смотрим что это дает в игре.
-
2 часа назад, Ray сказал:
У это эмуля нет асамблера и всяких фитч как у читэнджин.
Для эмулятора достаточен обычно встроенный сканер памяти. Иногда надо редактировать код через свой отладчик/дизассемблер. Предполагаю можно поискать подходящий эмуль или же каким-то образом сделать на Cheat Engine, возможно будет сложнее
-
Не знал про эту инструкцию. Запрятали
Спойлерalloc(memTestMemory, 0x400) registerSymbol(memTestMemory) memTestMemory: reassemble("Tutorial-i386.exe"+24B25) reassemble("Tutorial-i386.exe"+24B29) reassemble("Tutorial-i386.exe"+24B2D) //// Read Memory // Tutorial-i386.exe+24B25 - 83 45 EC 01 - add dword ptr [ebp-14],01 // Tutorial-i386.exe+24B29 - 83 7D EC 64 - cmp dword ptr [ebp-14],64 // Tutorial-i386.exe+24B2D - 74 02 - je Tutorial-i386.exe+24B31 //// Assembled Memory // memTestMemory - 83 45 EC 01 - add dword ptr [ebp-14],01 // 003F0004 - 83 7D EC 64 - cmp dword ptr [ebp-14],64 // 003F0008 - 0F84 234B0300 - je Tutorial-i386.exe+24B31
- 1
-
Привлекло то, что игра на движке UE4.
Посмотрел я популярные читы к этой игре в разных видео. Хотя бы визуально понял о чем речь
Спойлерflymode и ghostmode с моим видео про высокий прыжок в Сталкере немножко не связано. Суперпрыжок это отдельный чит — прыгает высоко и далеко на мелкой карте, ударяется о стены. Этот чит я сделал, посмотрел как работает. Но это не flymode.
Сделал через поиск скорости как в Сталкере, но с одним нюансом. Инъекцию делал в инструкцию, которая один раз пишет в момент прыжка
Спойлер{ Game : HelloNeighbor-Win64-Shipping.exe Version: Date : 2018-03-10 Author : MasterGH This script does blah blah blah } [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(INJECT_SuperJump2,HelloNeighbor-Win64-Shipping.exe,FF 90 80 07 00 00 48 8B 07 41) // should be unique alloc(newmem,$1000,"HelloNeighbor-Win64-Shipping.exe"+10759DE) alloc(newmem2,$1000,"HelloNeighbor-Win64-Shipping.exe"+10759DE) label(code) label(return) label(scaleXY) label(scaleZ) registersymbol(scaleXY) registersymbol(scaleZ) newmem2: scaleXY: dd (float)4 scaleZ: dd (float)4 newmem: movss xmm0,[rdi+00000104] // LEFT or RIGHT mulss xmm0,[scaleXY] movss [rdi+00000104],xmm0 movss xmm0,[rdi+00000108] // FORWARD or BACKWARD mulss xmm0,[scaleXY] movss [rdi+00000108],xmm0 movss xmm0,[rdi+0000010C] // UP or DOWN mulss xmm0,[scaleZ] movss [rdi+0000010C],xmm0 code: call qword ptr [rax+00000780] jmp return INJECT_SuperJump2: jmp newmem nop return: registersymbol(INJECT_SuperJump2) [DISABLE] //code from here till the end of the code will be used to disable the cheat INJECT_SuperJump2: db FF 90 80 07 00 00 unregistersymbol(INJECT_SuperJump2) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "HelloNeighbor-Win64-Shipping.exe"+10759DE "HelloNeighbor-Win64-Shipping.exe"+107599E: F3 0F 58 00 - addss xmm0,[rax] "HelloNeighbor-Win64-Shipping.exe"+10759A2: F3 0F 11 87 04 01 00 00 - movss [rdi+00000104],xmm0 "HelloNeighbor-Win64-Shipping.exe"+10759AA: F3 0F 10 48 04 - movss xmm1,[rax+04] "HelloNeighbor-Win64-Shipping.exe"+10759AF: F3 0F 58 8F 08 01 00 00 - addss xmm1,[rdi+00000108] "HelloNeighbor-Win64-Shipping.exe"+10759B7: F3 0F 11 8F 08 01 00 00 - movss [rdi+00000108],xmm1 "HelloNeighbor-Win64-Shipping.exe"+10759BF: F3 0F 10 40 08 - movss xmm0,[rax+08] "HelloNeighbor-Win64-Shipping.exe"+10759C4: F3 0F 58 87 0C 01 00 00 - addss xmm0,[rdi+0000010C] "HelloNeighbor-Win64-Shipping.exe"+10759CC: F3 0F 11 87 0C 01 00 00 - movss [rdi+0000010C],xmm0 "HelloNeighbor-Win64-Shipping.exe"+10759D4: 48 8B 8F 88 01 00 00 - mov rcx,[rdi+00000188] "HelloNeighbor-Win64-Shipping.exe"+10759DB: 48 8B 01 - mov rax,[rcx] // ---------- INJECTING HERE ---------- "HelloNeighbor-Win64-Shipping.exe"+10759DE: FF 90 80 07 00 00 - call qword ptr [rax+00000780] // ---------- DONE INJECTING ---------- "HelloNeighbor-Win64-Shipping.exe"+10759E4: 48 8B 07 - mov rax,[rdi] "HelloNeighbor-Win64-Shipping.exe"+10759E7: 41 B1 01 - mov r9l,01 "HelloNeighbor-Win64-Shipping.exe"+10759EA: 4D 8B C6 - mov r8,r14 "HelloNeighbor-Win64-Shipping.exe"+10759ED: 4C 89 74 24 30 - mov [rsp+30],r14 "HelloNeighbor-Win64-Shipping.exe"+10759F2: 33 D2 - xor edx,edx "HelloNeighbor-Win64-Shipping.exe"+10759F4: 48 8B CF - mov rcx,rdi "HelloNeighbor-Win64-Shipping.exe"+10759F7: FF 90 88 06 00 00 - call qword ptr [rax+00000688] "HelloNeighbor-Win64-Shipping.exe"+10759FD: 44 38 B7 AC 01 00 00 - cmp [rdi+000001AC],r14l "HelloNeighbor-Win64-Shipping.exe"+1075A04: 75 36 - jne HelloNeighbor-Win64-Shipping.exe+1075A3C "HelloNeighbor-Win64-Shipping.exe"+1075A06: 48 8B 07 - mov rax,[rdi] }
Убрать урон от падения. Почти занопил первую и тем самым одну из инструкций чтения адреса скорости. Чисто экспериментально.
Спойлер{ Game : HelloNeighbor-Win64-Shipping.exe Version: Date : 2018-03-10 Author : MasterGH This script does blah blah blah } [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(INJECT_NODIE,HelloNeighbor-Win64-Shipping.exe,8B 40 08 89 43 08 48 8B C3 48 8B 5C 24 40 48 83 C4 30 5F C3 CC) // should be unique alloc(newmem,$1000,"HelloNeighbor-Win64-Shipping.exe"+13160CE) label(code) label(return) newmem: xor eax, eax code: //mov eax,[rax+08] mov [rbx+08],eax jmp return INJECT_NODIE: jmp newmem nop return: registersymbol(INJECT_NODIE) [DISABLE] //code from here till the end of the code will be used to disable the cheat INJECT_NODIE: db 8B 40 08 89 43 08 unregistersymbol(INJECT_NODIE) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "HelloNeighbor-Win64-Shipping.exe"+13160CE "HelloNeighbor-Win64-Shipping.exe"+13160A6: 48 8B 07 - mov rax,[rdi] "HelloNeighbor-Win64-Shipping.exe"+13160A9: 48 8B CF - mov rcx,rdi "HelloNeighbor-Win64-Shipping.exe"+13160AC: FF 90 D8 05 00 00 - call qword ptr [rax+000005D8] "HelloNeighbor-Win64-Shipping.exe"+13160B2: 48 85 C0 - test rax,rax "HelloNeighbor-Win64-Shipping.exe"+13160B5: 74 08 - je HelloNeighbor-Win64-Shipping.exe+13160BF "HelloNeighbor-Win64-Shipping.exe"+13160B7: 48 05 04 01 00 00 - add rax,00000104 "HelloNeighbor-Win64-Shipping.exe"+13160BD: EB 07 - jmp HelloNeighbor-Win64-Shipping.exe+13160C6 "HelloNeighbor-Win64-Shipping.exe"+13160BF: 48 8D 05 22 64 8B 01 - lea rax,[HelloNeighbor-Win64-Shipping.exe+2BCC4E8] "HelloNeighbor-Win64-Shipping.exe"+13160C6: F2 0F 10 00 - movsd xmm0,[rax] "HelloNeighbor-Win64-Shipping.exe"+13160CA: F2 0F 11 03 - movsd [rbx],xmm0 // ---------- INJECTING HERE ---------- "HelloNeighbor-Win64-Shipping.exe"+13160CE: 8B 40 08 - mov eax,[rax+08] "HelloNeighbor-Win64-Shipping.exe"+13160D1: 89 43 08 - mov [rbx+08],eax // ---------- DONE INJECTING ---------- "HelloNeighbor-Win64-Shipping.exe"+13160D4: 48 8B C3 - mov rax,rbx "HelloNeighbor-Win64-Shipping.exe"+13160D7: 48 8B 5C 24 40 - mov rbx,[rsp+40] "HelloNeighbor-Win64-Shipping.exe"+13160DC: 48 83 C4 30 - add rsp,30 "HelloNeighbor-Win64-Shipping.exe"+13160E0: 5F - pop rdi "HelloNeighbor-Win64-Shipping.exe"+13160E1: C3 - ret "HelloNeighbor-Win64-Shipping.exe"+13160E2: CC - int 3 "HelloNeighbor-Win64-Shipping.exe"+13160E3: CC - int 3 "HelloNeighbor-Win64-Shipping.exe"+13160E4: CC - int 3 "HelloNeighbor-Win64-Shipping.exe"+13160E5: CC - int 3 "HelloNeighbor-Win64-Shipping.exe"+13160E6: CC - int 3 }
По flymode в теории можно искать скорость по вертикальной оси и морозить её на нужной высоте горячими клавишами уменьшая или увеличивая её. "Морозить" или писать в адрес лучше АА кодом. Скрипт я не стал делать.
ghostmod - либо через перемещение по координатам через АА скрипт, либо отключением галки физики на персонаже. Как её отключить не знаю.
Случайно нашел видео на испанском (или иной язык), как был сделан ghost. Я посмотрел, как подходит и отходит от коллизий, таким способом не искал. Времени нет
СпойлерНа канале много другого видео по взлому с CE...
Автор, что делать? По fly mode и ghost mode я предлагаю искать координаты и менять их через АА код по горячим клавишам, чем-то похоже на скрипт АА телепорта, только новую позицию увеличиваем по клавишам движения. Скорости как на видео о Сталкере искать не нужно. Задавая скорость нельзя пройти сквозь стену, если конечно не сделать на неё чит как у испанца.
- 1
-
В 09.03.2018 в 23:56, Ray сказал:
snes
Я думаю, можно найти эмулятор snes с хорошим дизассемблером, отладчиком и сканером памяти и в нем сделать чит. ИМХО Cheat Engine можно не использовать/ Предположительно это сложнее как в поиске адреса, так и в редактировании кода эмулятора snes
-
debugger_onBreakpoint=nil скорее всего не позволит использовать эту функцию до перезапуска.
Способ 1. Переключая isActiveonBreakpoinFunction = false или isActiveOnBreakpoinFunction = true
СпойлерisActiveOnBreakpoinFunction = false function debugger_onBreakpoint() if not isActiveOnBreakpoinFunction then return end --todo:... end debug_setBreakpoint(0x0040CEA6) --todo:... -- debug_removeBreakpoint(0x0040CEA6)
Способ 2. Назначить свою функцию
Спойлерfunction onBreakpointMyFunction1() --todo:... end debug_setBreakpoint(0x0040CEA6, onBreakpointMyFunction1) --todo:... -- debug_removeBreakpoint(0x0040CEA6)
- 1
-
Он ищет не три значения, а все по
protectionflags = "+W*X-C"
и пишет в адрес ноль
findValueAndReplace('BA:8 BS:128 OOO:U f:250000 f:1000000 f:36000000', 0)
Попробуй разобраться в Lua коде и в документации
Можешь попробовать не групповой поиск, а другой. Например, поиск float (как с форума Cheat Engine). Проверить, отладить.
Потом отладить групповой поиск. В Lua console есть пошаговая отладка, можно отладить любую строчку.
Больше ни чем помочь не могу
-
2 часа назад, artemking4 сказал:
Как с мобильной юнити игры портировать на пк?
Что портировать? Мод к Drive Ahead или игру Drive Ahead ? С какой на какую платформу? У ПК и у мобильных игр может быть множество платформ в виде разных ОС.
-
Bloodrayne игра очень простая для взлома
-
10 минут назад, FailMan сказал:
А Вы можете посоветовать какие-нибудь
Cheat Engine Tutorial Guide (x32)
Cheat Engine Tutorial Guide (x64)
[C++] Ошибка конструктора многомерного массива
in Высокоуровневое программирование
Опубликовано
Как я помню. Вектор — класс, массив — структура. В первом случае будут поинтеры, во втором адреса данных. Может быть разные типы данных связаны с дополнительным блоком скобок.
@srg91, если есть возможность, то мог бы в CE DessectData развернутую иерархию данных заскринить. Было бы интересно посмотреть на поинтеры