-
Постов
176 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Akama
-
-
MasterGH, ты думаешь надо ему это +100?
А вообще идея неплохая, может позвать его сюда?
-
Divinity 2 The Dragon Knight SagaF1 - включение тренераФункции:1) Бессмертие2) Бесконечная мана3) Добавить 10000 золота)4) Добавить 1000 опыта5) Добавить 10 очков героя6) Добавить 10 очков опыта
- 1
-
Данный скрипт убивает проверку GFWL на целостность данных в процессе игры.
Внимание: Нужна версия СЕ не ниже 5.6 из-за комманды aobscan.
Скрытый текст[ENABLE] alloc(MyCode,1024) aobscan(CRCCheck,8b ff 55 8b ec 83 ec 20 53 56 57 8d 45 e0) label(_XLive) registersymbol(_XLive) CRCCheck: _XLive: ret 000c [DISABLE] _XLive: db 8b,ff,55,8b,ec,83,ec,20,53,56,57,8d,45,e0 unregistersymbol(_XLive)
Проверял на Chaos Rising - помогло.
- 2
-
Я терь жду когда они интерфейс красивый сделают. В таких программах как бы оно не главное, но что-то приятное глазу хочется...
-
Я так понял с помощью LUA скриптов можно будет добавить читы ассемблера из списка? Если да, то это здорово...
Можно будет что-то типа своего движка для трейнеров сделать...
-
push [ecx+48]
pop [ecx+4c]
Очень полезная вещь, не приходится сохранять и восстанавливать значения регистров eax и т.д.
-
в общем, на сколько я понял, проще не сделать, есть вариации на эту тему, по всё к одному и тому же сводится.
Спасибо за разъяснение )))
-
Блин, да я на ассемблере спрашивал как упростить, кому надо, тот на С++ сам догадается как сделать...
-
В общем всё что ты описывал это хорошо, но не нужно. Всё оказалось проще.
[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
StrongholdLegends.exe+3E82D9:
jmp newmem
nop
nop
nop
nop
returnhere:
newmem:
cmp dword ptr [ecx+178],1 // это и есть фильтр )))
jne originalcode
fst dword ptr [ecx+4c] // оригинальный шмат
fcomp dword ptr [00910168] // он же...
push eax
mov eax,[ecx+48] // вот тут хранится максимальное значение здоровья юнита
mov [ecx+4c],eax // тут присвоил максимум...
pop eax
jmp returnhere
originalcode:
fst dword ptr [ecx+4c]
fcomp dword ptr [00910168]
jmp returnhere
[DISABLE]
StrongholdLegends.exe+3E82D9:
fst dword ptr [ecx+4c]
fcomp dword ptr [00910168]вот этот шмат делает всех юнитов бессмертными...
-
Щас кстати шмат кода покажу...
Player:
mov [pHero],esi //сохранил для последующих манипуляций...
push eax
mov eax,[esi+FC] // загрузил структуру золота и очков
cmp dword ptr [iGold],1
jne p1
add [eax+94],#10000
mov [iGold],0
p1:
cmp dword ptr [iXP],1
jne p2
add [eax+8c],#1000
mov [iXP],0
p2:
cmp dword ptr [iPP],1
jne p3
add [eax+2c],#10
mov [iPP],0
p3:
cmp dword ptr [iSP],1
jne BPlayer
add [eax+3c],#10
mov [iSP],0
BPlayer:
pop eax
fld dword ptr [esi+0000018c]
jmp EPlayerПришлось вот таким вот образом сделать, чтобы можно было прибавлять к значению независимо от других значений.
Может проще метод есть?
-
будут скучны в будущем из-за того что ты будешь cool-программист
Хорошая шутка. Спасибо, поржал )))
Вот такой вот трейнер с AboutBox'ом.
Ссылка на него во флудильне, где я его потестить просил...
-
MasterGH
мне пока ассемблера хватает...
-
Вот это кусок кода бессмертия ГГ
GM:
cmp dword ptr [iGM],1
jne BGM
cmp dword ptr [esi+00000184],1
jne BGM
db 90,90,90,90,90,90
jmp EGM
BGM:
fstp dword ptr [esi+0000018c]
jmp EGMХочу сделать ещё функцию one hit kill, но вот как сделать, чтоб одно другому не мешало я незнаю...
Бессмертие и OHK используют одну и ту же инструкцию.
Скажите, как сделать так, чтоб одно другому не мешало?
-
Это кусок кода 5 вверх и 10 вниз.
007E82CB - df e0 - fnstsw ax
007E82CD - f6 c4 41 - test ah,41
007E82D0 - 7b 25 - jnp 007e82f7
007E82D2 - d9 41 4c - fld dword ptr [ecx+4c]
007E82D5 - d8 64 24 04 - fsub dword ptr [esp+04]
>>007E82D9 - d9 51 4c - fst dword ptr [ecx+4c]
007E82DC - d8 1d 68 01 91 00 - fcomp dword ptr [00910168] : [00000000]
007E82E2 - df e0 - fnstsw ax
007E82E4 - f6 c4 41 - test ah,41
007E82E7 - 7a 13 - jp 007e82fc
007E82E9 - 8b 44 24 08 - mov eax,[esp+08]
007E82ED - c7 41 4c 00 00 00 00 - mov [ecx+4c],00000000
007E82F4 - 89 41 54 - mov [ecx+54],eax
007E82F7 - b0 01 - mov al,01
007E82F9 - c2 08 00 - ret 0008
007E82FC - 32 c0 - xor al,alЭто Регистры на юнитов.
EAX=43160037
EBX=80000002
ECX=3425DDC0
EDX=0000000B
ESI=3425DDC0
EDI=342762D0
EBP=00840089
ESP=0012FA60
EIP=007E82DC
Probable base pointer =3425DDC0
EAX=40A00037
EBX=20000000
ECX=33F2DE50
EDX=0000000B
ESI=33F2DE50
EDI=010806AD
EBP=010806AD
ESP=0012F86C
EIP=007E82DC
Probable base pointer =33F2DE50 -
Решил над игрушкой поиздеваться, нашёл всё что мог.
Теперь пытаюсь найти адреса здоровья юнитов, и тут загвоздка: это не float и не 4 байта.
Вопрос: может быть здоровье типом байт (т.е. 255 это полностью здоровый, а 0 труп)?
P.S. здоровье у юнитов полоской отображается...
Ложная тревога, пока тему создавал сам нашёл что там и как )))
В общем здоровье юнитов там байтовое значение...
Хотя, проблема всё же есть. Когда я смотрю какие значения проскакивают в той инструкции, что со значением здоровья работает, то понимаю что нет там того значения, а есть какое-то float.
Вопрос: как всё же выйти на инстркцию, которая именно с byte значением работает?
Однако, интересный факт: и float, и byte значения отвечают за одно и то же, то есть по сути можно с любым типом работать...
StrongholdLegends.exe+3E82D9
по этой инструкции (или адресу, я в терминах не особо...) проскакивает здоровье юнитов всех, и моих и чужих.
Кому не сложно, помогите плз фильтр сделать на свой-чужой!
-
Да уже ненадо, сам сделал, спс...
-
игра же не мультиплеерная, зачем там такие проверки и вообще античит?
-
SER[G]ANT
Всё равно крах игры, так же как и с моим.
MasterGH
Твой скрипт почему-то просто не компилится, все твои варианты перепробовал.
Я так думаю, что указатель на гг не берётся, либо с ошибками
push ecx
mov ecx,[witcher.EXE+850EAC]
mov ecx,[ecx+B8]
mov [iPlayerID],ecx
pop ecxВот тут что-то не то, хотя могу и ошибаться...
-
iPlayerID это переменная, по-этому и объявляю как переменную...
-
В общем такая проблема возникла - написал скрипт для бессмертия, в котором фильтр на гг делаю.
[ENABLE]
alloc(newmem,2048)
label(GodMod)
label(ExitGM)
label(BackGM)
label(iPlayerID)
label(iGM)
registersymbol(iPlayerID)
registersymbol(iGM)
witcher.exe+37B1B0:
jmp GodMod
ExitGM:
newmem:
GodMod:
push ecx
mov ecx,[witcher.EXE+850EAC]
mov ecx,[ecx+B8]
mov [iPlayerID],ecx
pop ecx
cmp dword ptr [iGM],1
jne BackGM
cmp esi,[iPlayerID]
jne BackGM
mov [esi+48],4640E400
jmp ExitGM
BackGM:
movss [esi+48],xmm0
jmp ExitGM
iPlayerID:
dd 0
iGM:
dd 0
[DISABLE]
witcher.exe+37B1B0:
movss [esi+48],xmm0Какое-то время нормально игра идёт, а потом крашит.
Вопрос: виден ли с первого взгляда какой-то ляп в коде? Я уже несколько часов его исправляю, глаз намылился. Если всё нормально, то из-за чего ещё крашить может?
-
Command&Conquer - Zero Hour: Reborn The Last Stand v5
Функции:
1) Infinite resourses
2) Infinite energy
3) Infinite general points
4) Quick 5 general stars
- 1
-
Prince of Persia: The Two Thrones
Функции:
1) Бессмертие (спасает ото всего, кроме падения)
2) Бесконечный песок времени
3) Неразбиваемое оружие (Оружие, которое поднимает Принц, не разбивается)
- 1
-
Heroes of Might and Magic V: Tribes of the East v3.1
Функции
1) Передвижение (Герои игрока передвигаются без перехода хода)
2) Войско (каждый отряд героя равен 2350)
3) Ресурсы (много ресурсов+темная энергия для некромантов)
4) Строительство (строительство без перехода хода)
- 1
-
Mass Effect (золотое издание) 1.0.1а
Функции:
1) Бессмертие
2) Нерушимый Мако
3) Откл. перегрев
4) Убийство с одного выстрела
5) Бесконечные гранаты
6) Бесконечный пенициллин
7) 70 очков умения
8) Много унигеля
9) 999999 кредитов
10) Обнулить очки умений
- 2
Grand Theft Auto IV - Episodes From Liberty City
in Вопросы по созданию читов в одиночных играх
Опубликовано
aliast
слух, а как ты там патроны находил?