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

Рекомендуемые сообщения

я сверху писал, я искал уже 4 байта неизвестное значения, сначала искал сделал выстрелил, значения уменьшилось, потом я начал искать 4 байта изменилось не изменилось, находит адреса но при изменении их патроны, либо не прибавляются, либо игра вылетает с ошибкой, я же по русски написал.

А скрипт мене не нужен, сам хочу сделать свой.

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

Привет Dison, можно узнать как ты искал кодированное значения, это 4 байта или это другое значения, можно поподробнее.

 

4 байта,уменьшилось - увеличилось.

Этот способ может не найти, особенно если константа через которую разрабы XORят значение постоянно меняется.

 

Самый верный и правильный способ:

 

Искать надо 4 байта неизвестное значение, изменилось/ не изменилось.

Ссылка на комментарий
Поделиться на другие сайты

Привет всем, я найти патроны не мог, проблема была оказывается в Cheat Engine, я ее удалил почистил и поставил заново, и сразу же нашел патроны, только у меня другая проблема теперь, проблема вот скрипт, не могу выставить правильное количество патронов, дела как обычно mov [edi+04],#99 или так

mov [edi+04],3E7 а в игре показывает несколько миллионов патронов, типа 4758679475 помогите разобратся в чем причина.

 

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
mov [edi+04],#99
originalcode:
mov eax,[edi+04]
xor eax,edi

exit:
jmp returnhere

"ZAT.exe"+4DA0B8:
jmp newmem
returnhere:


[DISABLE]
dealloc(newmem)
"ZAT.exe"+4DA0B8:
mov eax,[edi+04]
xor eax,edi

Ссылка на комментарий
Поделиться на другие сайты

Привет всем, я найти патроны не мог, проблема была оказывается в Cheat Engine, я ее удалил почистил и поставил заново, и сразу же нашел патроны, только у меня другая проблема теперь, проблема вот скрипт, не могу выставить правильное количество патронов, дела как обычно mov [edi+04],#99 или так

mov [edi+04],3E7 а в игре показывает несколько миллионов патронов, типа 4758679475 помогите разобратся в чем причина.

Говоришь видио моё посмотрел. Пересмотри ещё раз.

В [edi+04] лежит константа через которую Xorят значение в [edi] лежит само зашифрованное значение , поэтому ты и получаешь не пойми чего.

Нужно так:

newmem:push eaxmov eax,[edi+04]xor eax,edimov [edi],#99xor eax,edipop eaxoriginalcode:mov eax,[edi+04]xor eax,edi

Попробуй.

 

PS: Здесь ошибка, поторопился. Дальше всё правильно.

Изменено пользователем garik66
Ссылка на комментарий
Поделиться на другие сайты

Если ты мене, про это видео. В этом видео пишем скрипт "AddResours", расшифровываем закодированные значения и немного начинаем понимать что делает опкод XOR.http://forum.gamehacklab.ru/topic/3295-video-po-vzlomu-mightmagic-heroes-vi-ot-garik66/#entry23677 я пробовал, точно как ты писал на видео, игра вылетает с ошибкой, после того как активируешь скрип.

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

В чера вечером с работы пришел, переустановил заново Cheat Engine, выставил 4 байта неизвестное значения, как мене сказали выше,и искал изменилось не изменилось, нашел вот это mov eax,[edi+04], сохранил его все.

Пробовал менять адрес, как только не менял один фиг, показывает несколько миллионов патронов.

версия игры стоит у меня v1.3

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

Так значит значение зашифрованное.

Второй вопрос инструкция, которая в скрипте, когда срабатывает?

 

PS: уточню - после выстрела?

Изменено пользователем garik66
Ссылка на комментарий
Поделиться на другие сайты

вот скрипт, как только нажимаешь активировать, скрипт игра сразу вылетает.

 

 

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
push eax
mov eax
,[edi+04]
xor eax,edi
mov
[edi],#99
xor eax,edi
pop eax

originalcode
:
mov eax,[edi+04]
xor eax,edi

exit:
jmp returnhere

"ZAT.exe"+4DA0B8:
jmp newmem
returnhere:


[DISABLE]
dealloc(newmem)
"ZAT.exe"+4DA0B8:
mov eax,[edi+04]
xor eax,edi

Ссылка на комментарий
Поделиться на другие сайты

Поэтому и уточняю. Ответь на вопрос из предыдущего поста.

 

Мне нужно понять где константа, а где зашифрованное значение.

Изменено пользователем garik66
Ссылка на комментарий
Поделиться на другие сайты

Запускаешь игру, активируешь скрипт, играть можно до тех пор, пока не нажмешь кнопку выстрела, как только кнопку выстрела нажимаешь, игра вылетает с ошибкой.

Ссылка на комментарий
Поделиться на другие сайты

Короче, есть подозрение, что в eax лежит уже расшифрованное текущее значение патронов, но оно будет скорее всего только видимым, а в edi - константа. А в [edi+04] - зашифрованное значение.

Давай попробуем этот скрипт:

[ENABLE]alloc(newmem,64)label(returnhere)newmem:push ebxmov ebx,[edi+04]xor ebx,edimov ebx,#99xor ebx,edimov [edi+04],ebxpop ebxmov eax,[edi+04]xor eax,edijmp returnhere"ZAT.exe"+4DA0B8:jmp newmemreturnhere:[DISABLE]"ZAT.exe"+4DA0B8:mov eax,[edi+04]xor eax,edidealloc(newmem) 
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

вот


 

ARM4ND0: Не забываем использовать тег кода и спойлера.
ZAT.exe+4DA090 - 55                    - push ebpZAT.exe+4DA091 - 8B EC                 - mov ebp,espZAT.exe+4DA093 - 83 EC 08              - sub esp,08ZAT.exe+4DA096 - 8B 81 A4010000        - mov eax,[ecx+000001A4]ZAT.exe+4DA09C - 56                    - push esiZAT.exe+4DA09D - 57                    - push ediZAT.exe+4DA09E - 8D B9 A0010000        - lea edi,[ecx+000001A0]ZAT.exe+4DA0A4 - 8B 4D 08              - mov ecx,[ebp+08]ZAT.exe+4DA0A7 - 33 C7                 - xor eax,ediZAT.exe+4DA0A9 - 89 7D F8              - mov [ebp-08],ediZAT.exe+4DA0AC - 68 ACD7D500           - push ZAT.exe+67D7ACZAT.exe+4DA0B1 - 8D 75 F8              - lea esi,[ebp-08]ZAT.exe+4DA0B4 - 3B C1                 - cmp eax,ecxZAT.exe+4DA0B6 - 76 2F                 - jna ZAT.exe+4DA0E7ZAT.exe+4DA0B8 - 8B 47 04              - mov eax,[edi+04]    ВОТ РАБОЧИЙZAT.exe+4DA0BB - 33 C7                 - xor eax,ediZAT.exe+4DA0BD - 2B C1                 - sub eax,ecxZAT.exe+4DA0BF - 8B CF                 - mov ecx,ediZAT.exe+4DA0C1 - 33 C8                 - xor ecx,eaxZAT.exe+4DA0C3 - 89 4F 04              - mov [edi+04],ecxZAT.exe+4DA0C6 - 8B 15 B0D7D500        - mov edx,[ZAT.exe+67D7B0]ZAT.exe+4DA0CC - 35 B725C184           - xor eax,84C125B7ZAT.exe+4DA0D1 - 52                    - push edxZAT.exe+4DA0D2 - 89 45 FC              - mov [ebp-04],eaxZAT.exe+4DA0D5 - E8 A663EEFF           - call ZAT.exe+3C0480ZAT.exe+4DA0DA - 8B 47 04              - mov eax,[edi+04] ВОТ РАБОЧИЙZAT.exe+4DA0DD - 33 C7                 - xor eax,ediZAT.exe+4DA0DF - 5F                    - pop ediZAT.exe+4DA0E0 - 5E                    - pop esiZAT.exe+4DA0E1 - 8B E5                 - mov esp,ebpZAT.exe+4DA0E3 - 5D                    - pop ebpZAT.exe+4DA0E4 - C2 0400               - ret 0004ZAT.exe+4DA0E7 - 89 7F 04              - mov [edi+04],ediZAT.exe+4DA0EA - A1 B0D7D500           - mov eax,[ZAT.exe+67D7B0]ZAT.exe+4DA0EF - 50                    - push eaxZAT.exe+4DA0F0 - C7 45 FC B725C184     - mov [ebp-04],84C125B7ZAT.exe+4DA0F7 - E8 8463EEFF           - call ZAT.exe+3C0480ZAT.exe+4DA0FC - 8B 47 04              - mov eax,[edi+04]ZAT.exe+4DA0FF - 33 C7                 - xor eax,ediZAT.exe+4DA101 - 5F                    - pop ediZAT.exe+4DA102 - 5E                    - pop esiZAT.exe+4DA103 - 8B E5                 - mov esp,ebpZAT.exe+4DA105 - 5D                    - pop ebpZAT.exe+4DA106 - C2 0400               - ret 0004
Ссылка на комментарий
Поделиться на другие сайты

Тогда проще занопить инструкцию, которая отнимает патроны, вот эту и не париться:

ZAT.exe+4DA0BD - 2B C1                 - sub eax,ecx,

т.е. в eax - лежат расшифрованные патроны.

Занопить сумеешь?

Ссылка на комментарий
Поделиться на другие сайты

Спасибо тебе garik66, теперь показывает 98 патронов.

Но занопить будет более правильно.

PS: а 98 патронов, потому что потом идёт отнимание 1 патрона.

Изменено пользователем garik66
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

Здорово пацаны. 

Делал скрипт много. патронов  для   Sniper Elite V2     когда то, может чем то  поможет, движок игры один.

Да 

ZOCKIR

мы именно на такую инструкцию и вышли здесь.

Ссылка на комментарий
Поделиться на другие сайты

например у тебя показано 4 патронов? в скрине  показано фейк value.

отркывай этот адрес через memory viewer и останови энкриптер. потом сможешь сделать чит на патрон. если не сможешь могу видео сделать. 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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