-
Постов
176 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Akama
-
-
Не бывает игр без сюрпризов )))
Здесь все переменные обрабатываются одной и той же инструкцией по адресу witcher2.exe+8CA4. Имея статические указатели можно творить безумие )))
-
SER[G]ANT пасиб за подсказку, я тогда по тому же принципу и энергию сделаю и всё остальное...
-
SER[G]ANT а может и esi тогда использовать не надо? просто cmp eax,ebx ну и тд...
-
у меня вот другой вопрос по этой же игре.
[ENABLE]
alloc(newmem,2048)
label(vitality)label(returnhere)
label(originalcode)
label(wied)
registersymbol(wied)
newmem:
vitality:
push ebx
mov ebx,[witcher2.exe+022BC5F4]
mov ebx,[ebx+14]
mov ebx,[ebx+14]
mov ebx,[ebx+8]
mov [wied],ebx
pop ebx
cmp eax,[wied]
jne originalcode
push [eax+4]
pop [eax]
originalcode:
fld dword ptr [eax]
mov eax,[ebp+08]
jmp returnhere
wied:
dd 0
witcher2.exe+8CA4:
jmp vitality
returnhere:
[DISABLE]
dealloc(newmem)
unregistersymbol(wied)
witcher2.exe+8CA4:
fld dword ptr [eax]
mov eax,[ebp+08]
//Alt: db D9 00 8B 45 08Почему оно не работает? Краха нету, игра не вылетает, но и то, что надо, тоже не делает...
-
Можно ли делать поиск отпечатка байтов? Например 8B 4C 24 2C 8B 07.
На карте памяти таким образом должно найтись 2 строки инструкицй...
-
заливать файлы с расширением .ct нельзя, а хотелось бы.
-
Спасибо за раздел "Таблицы и скрипты". Хоть я там один только и выкладываю, надеюсь, что народ подтянется )))
-
Псков
-
Я это описал более доступным языком.
Может и не правильный термин подобрал, но мало кто поймёт, что такое "состояние регистра флагов" (особенно новички).
-
Внесу кое-что своё...
LEA
Скопировать результат второго регистра (объекта) в первый
lea eax,[esi+30] //означает копирование esi+30 в eax.
Удобно для сохранения указателей.
В чём разница между mov и lea?
Разберём на примере:
Предположим, что еах = 00684371.
mov ecx,[eax] // скопирует значение, которое находится по адресу регистра еах (то есть значение адреса 00684371)
lea ecx,[eax] // скопирует значение регистра еах (есх = 00684371)
lea ecx,[eax+4] // скопирует в есх значение регистра со смещением 4 (есх = 00684371 + 4,есх = 00684375)По прыжкам почему-то не сказано ничего.
//Безусловные прыжки
jmp 0f445566 // прыжёк на адрес 0f445566
jmp +6 // прыжёк на 6 байт вперёд (так можно перепрыгивать через строки без установки флага)
//Условные прыжки, применяются после использования сравнения (cmp)
je // прыгнуть, если сравниваемые величины равны
jne // прыгнуть, если сравниваемые величины не равны
jg // прыгнуть, если при сравнении первое число больше другого
jl // прыгнуть, если при сравнении первое число меньше другого
jge // прыжёк, если больше либо равно
jle // прыжёк, если меньше либо равно- 1
-
Со всем работает, прост эта функция убивает проверку данных на изменение, адреса то искать надо...
-
Благодарю MasterGH за то, что поднял репу до 50.
-
Кстати велосипед для меня предпочтительней чем машина, будь она хоть трижды скоростная )))
-
Ну вот это собственно всё, что я хотел узнать...
Для трейнеростроения хватает хорошего знания ассемблера и СЕ, это я на себе понял, lua, видимо, пока что ненужный инструмент, ибо мало им кто пользуется.
P.S. это было моё мнение, так что я могу и ошибаться...
-
Ошибочка у тебя.
Нужно не
mov [edi+000000E8],0
movss xmm0,[edi+000000E8]
jmp _BackOHKа
mov [edi+000000E8],0
movss xmm0,[edi+000000E8]
jmp _ExitOHKИбо в твоём случае игра крашится.
-
Скомпилировать потом свою таблицу в один .exe файл можно будет или нет?
-
Отладчик ошибок не выдаёт. Теоретически в скрипте есть ошибки?
-
На сколько всем известно, в Cheat Engine 6 убрали возможность генерации трейнеров, но добавили lua скриптование.
Плохая идея или хорошая я пока незнаю (IMHO), но каждый раз запускать СЕ и открывать в нём таблицы со скриптами не серьёзно.
Из этого вытекает следующий вопрос: можно ли с помощью lua сделать форму для трейнера, или "заменить" возможность генерации трейнера собой.
И ещё такая идея пришла в голову: по идее с помощью lua можно сделать что-то в роде внутри-игрового меню трейнера. Т.е. к примеру нажал на F1, и на экране в процессе игры появилась меню со всеми функциями трейнера. В программировании я не селён, по-этому вопрос к знающим. Можно ли это реализовать, и если да, то как?
-
Кстати. Решил функцию быстрого убийства сделать, но немогу грамотно 2-х уровневый фильтр сделать.
_OneHitKill:
push eax
mov eax,[deadspace2.exe+01CB6918]
mov eax,[eax+1EC]
mov [pHero],eax
pop eax
cmp dword ptr [iOHK],1
jne _ExitOHK
cmp [pHero],edi
je _ExitOHK
mov [edi+000000E8],0
jmp _BackOHK
_ExitOHK:
movss [edi+000000E8],xmm0
jmp _BackOHKпостоянный указатль на здоровье [[[deadspace2.exe+01CB6918]+1EC]+E8]
Укажите на мою ошибку...
-
Там есть инструкция, которая работает только с адресом здоровья.
deadspace2.exe+4A7105:
fld dword ptr [eax+000000E8]Из своего скрипта вытащил.
Так же можно похимичить с инструкцией, которая работает со веми здоровьями, но там понадобится фильтр делать.
-
Народ, помогите найти патроны, те что в обоиме...
Recifience в своём скрипте это сделал, но вот мне интересно как вообще найти это кол-во...
-
При запуске игры у тебя Live тоже запускался? (панелина такая сверху, там ник твой и тд)
Если да, то руки мои пора в ремонт сдавать. Если нет, то тогда ясно, почему у меня ничего не находит...
-
Alex Wei, а у него видюха старая что-ли?
-
ты искал общее кол-во потронов, или только в обоиме?
Ведьмак 2
in Вопросы по созданию читов в одиночных играх
Опубликовано
SER[G]ANT именно так всё и работает, а так себе сделал, нагромождений куча, но главное что пашет...