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

необходима функция самоотключения скрипта


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

Создал 2 скрипта на одну инструкцию. Первый скрипт разблокировать все уровни.

Спойлер

{ Game   : engine.exe
  Version: 
  Date   : 2018-10-30
  Author : Stigmaer

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(levels,engine.exe,A1 10 4B 62 00 74) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [engine.exe+224B10],#48

code:
  mov eax,[engine.exe+224B10]
  jmp return

levels:
  jmp newmem
return:
registersymbol(levels)

[DISABLE]

levels:
  db A1 10 4B 62 00

unregistersymbol(levels)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "engine.exe"+215B0

"engine.exe"+21583: 8B CE                          -  mov ecx,esi
"engine.exe"+21585: FF 92 88 00 00 00              -  call dword ptr [edx+00000088]
"engine.exe"+2158B: 8B 0D 18 4B 62 00              -  mov ecx,[engine.exe+224B18]
"engine.exe"+21591: A1 1C 4B 62 00                 -  mov eax,[engine.exe+224B1C]
"engine.exe"+21596: 81 C1 E8 03 00 00              -  add ecx,000003E8
"engine.exe"+2159C: 03 C3                          -  add eax,ebx
"engine.exe"+2159E: 89 0D 18 4B 62 00              -  mov [engine.exe+224B18],ecx
"engine.exe"+215A4: A3 1C 4B 62 00                 -  mov [engine.exe+224B1C],eax
"engine.exe"+215A9: A0 2D 4E 62 00                 -  mov al,[engine.exe+224E2D]
"engine.exe"+215AE: 84 C0                          -  test al,al
// ---------- INJECTING HERE ----------
"engine.exe"+215B0: A1 10 4B 62 00                 -  mov eax,[engine.exe+224B10]
// ---------- DONE INJECTING  ----------
"engine.exe"+215B5: 74 22                          -  je engine.exe+215D9
"engine.exe"+215B7: 83 F8 11                       -  cmp eax,11
"engine.exe"+215BA: 7C 1D                          -  jl engine.exe+215D9
"engine.exe"+215BC: C7 05 FC 03 61 00 1B 00 00 00  -  mov [engine.exe+2103FC],0000001B
"engine.exe"+215C6: C6 05 2D 4E 62 00 00           -  mov byte ptr [engine.exe+224E2D],00
"engine.exe"+215CD: 33 C0                          -  xor eax,eax
"engine.exe"+215CF: 5F                             -  pop edi
"engine.exe"+215D0: 5E                             -  pop esi
"engine.exe"+215D1: 5D                             -  pop ebp
"engine.exe"+215D2: 5B                             -  pop ebx
}

второй начать с начала (это даёт то что с самого начала игры можно разблокировать уровни купить все бонусы, оборудования и товары и начать игру с начала)
Если с первым вариантом проблем нет, то то со вторым,

Спойлер

{ Game   : engine.exe
  Version: 
  Date   : 2018-10-30
  Author : Stigmaer

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(levels,engine.exe,A1 10 4B 62 00 74) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [engine.exe+224B10],#1

code:
  mov eax,[engine.exe+224B10]
  jmp return

levels:
  jmp newmem
return:
registersymbol(levels)

[DISABLE]

levels:
  db A1 10 4B 62 00

unregistersymbol(levels)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "engine.exe"+215B0

"engine.exe"+21583: 8B CE                          -  mov ecx,esi
"engine.exe"+21585: FF 92 88 00 00 00              -  call dword ptr [edx+00000088]
"engine.exe"+2158B: 8B 0D 18 4B 62 00              -  mov ecx,[engine.exe+224B18]
"engine.exe"+21591: A1 1C 4B 62 00                 -  mov eax,[engine.exe+224B1C]
"engine.exe"+21596: 81 C1 E8 03 00 00              -  add ecx,000003E8
"engine.exe"+2159C: 03 C3                          -  add eax,ebx
"engine.exe"+2159E: 89 0D 18 4B 62 00              -  mov [engine.exe+224B18],ecx
"engine.exe"+215A4: A3 1C 4B 62 00                 -  mov [engine.exe+224B1C],eax
"engine.exe"+215A9: A0 2D 4E 62 00                 -  mov al,[engine.exe+224E2D]
"engine.exe"+215AE: 84 C0                          -  test al,al
// ---------- INJECTING HERE ----------
"engine.exe"+215B0: A1 10 4B 62 00                 -  mov eax,[engine.exe+224B10]
// ---------- DONE INJECTING  ----------
"engine.exe"+215B5: 74 22                          -  je engine.exe+215D9
"engine.exe"+215B7: 83 F8 11                       -  cmp eax,11
"engine.exe"+215BA: 7C 1D                          -  jl engine.exe+215D9
"engine.exe"+215BC: C7 05 FC 03 61 00 1B 00 00 00  -  mov [engine.exe+2103FC],0000001B
"engine.exe"+215C6: C6 05 2D 4E 62 00 00           -  mov byte ptr [engine.exe+224E2D],00
"engine.exe"+215CD: 33 C0                          -  xor eax,eax
"engine.exe"+215CF: 5F                             -  pop edi
"engine.exe"+215D0: 5E                             -  pop esi
"engine.exe"+215D1: 5D                             -  pop ebp
"engine.exe"+215D2: 5B                             -  pop ebx
}

проблемы такие, торчишь на первом уровне, и не можешь двигаться дальше пока не отключишь скрипт. Можно конечно обладателей трейнера предупредить в необходимости его отключения,
но мне бы хотелось,  чтоб было более комфортно чтоб этот скрипт сделал задачу (установил значение на единице) и сам отключился давая возможность продолжать игру.
помогите кто нибудь! Очень надо!

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

53 минуты назад, Stigmaer сказал:

Очень надо!

1. Пользуйся тегами и спойлера, и кода.

2. Информацию нужно давать больше, ну к примеру

54 минуты назад, Stigmaer сказал:

разблокировать все уровни.

уровни чего?

3. Попробуй скрипт:

Спойлер

{ Game   : engine.exe
  Version:
  Date   : 2018-10-30
  Author : Stigmaer

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(levels,engine.exe,A1 10 4B 62 00 74) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(flag)
registersymbol(flag)
registersymbol(levels)

newmem:
  cmp [flag],2
  jne @f
  mov [flag],0
  mov [engine.exe+224B10],#48
  jmp code

@@:
  cmp [flag],1
  jne code
  mov [flag],0
  mov [engine.exe+224B10],#1

code:
  mov eax,[engine.exe+224B10]
  jmp return

flag:
  dd 0

levels:
  jmp newmem
return:

[DISABLE]
levels:
  db A1 10 4B 62 00

unregistersymbol(flag)
unregistersymbol(levels)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "engine.exe"+215B0

"engine.exe"+21583: 8B CE                          -  mov ecx,esi
"engine.exe"+21585: FF 92 88 00 00 00              -  call dword ptr [edx+00000088]
"engine.exe"+2158B: 8B 0D 18 4B 62 00              -  mov ecx,[engine.exe+224B18]
"engine.exe"+21591: A1 1C 4B 62 00                 -  mov eax,[engine.exe+224B1C]
"engine.exe"+21596: 81 C1 E8 03 00 00              -  add ecx,000003E8
"engine.exe"+2159C: 03 C3                          -  add eax,ebx
"engine.exe"+2159E: 89 0D 18 4B 62 00              -  mov [engine.exe+224B18],ecx
"engine.exe"+215A4: A3 1C 4B 62 00                 -  mov [engine.exe+224B1C],eax
"engine.exe"+215A9: A0 2D 4E 62 00                 -  mov al,[engine.exe+224E2D]
"engine.exe"+215AE: 84 C0                          -  test al,al
// ---------- INJECTING HERE ----------
"engine.exe"+215B0: A1 10 4B 62 00                 -  mov eax,[engine.exe+224B10]
// ---------- DONE INJECTING  ----------
"engine.exe"+215B5: 74 22                          -  je engine.exe+215D9
"engine.exe"+215B7: 83 F8 11                       -  cmp eax,11
"engine.exe"+215BA: 7C 1D                          -  jl engine.exe+215D9
"engine.exe"+215BC: C7 05 FC 03 61 00 1B 00 00 00  -  mov [engine.exe+2103FC],0000001B
"engine.exe"+215C6: C6 05 2D 4E 62 00 00           -  mov byte ptr [engine.exe+224E2D],00
"engine.exe"+215CD: 33 C0                          -  xor eax,eax
"engine.exe"+215CF: 5F                             -  pop edi
"engine.exe"+215D0: 5E                             -  pop esi
"engine.exe"+215D1: 5D                             -  pop ebp
"engine.exe"+215D2: 5B                             -  pop ebx
}

 

нужно добавить в таблицу этот скрипт и адрес с адресом "flag", наименование сам придумай и назначь на него ГК при значении в адресе "flag" 2 будут 

58 минут назад, Stigmaer сказал:

разблокированы все уровни.

при значении 1 будут

 

58 минут назад, Stigmaer сказал:

второй начать с начала

 

59 минут назад, Stigmaer сказал:

(установил значение на единице)

значение flag будет обнуляться.
отпишись о результатах.

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

44 минуты назад, Garik66 сказал:

уровни чего?

вот 2 скринна первый все уровни разблокированы

Спойлер

VSE-UROVNI-RAZBLOKIROVANY.png

Теперь можно купить всё в магазине и в доме Маши, можно даже сразу последний уровень играть но это не интересно.

А вот начало игры 

Спойлер

NACALO-IGRY.png

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

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

1 час назад, Garik66 сказал:

отпишись о результатах.

вот, залил на хостинг коротких видео для получения ссылки. 

 

15 минут назад, Garik66 сказал:

А скрипт то мой сработал?

в цитате отпишись о результатах скинул ссылку

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

4 минуты назад, Stigmaer сказал:

в цитате отпишись о результатах скинул ссылку

??? я не понял. Ты в игру играешь, тебе понятно.
Т.е. скрипт работает не так как нужно?

Ты flag прописал в табличке?

Он обнуляется?

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

1 минуту назад, Garik66 сказал:

не понял. Ты в игру играешь

Я  занёс скрипт в таблицу без изменений, не чего не дописывал, думал уже готовый. А где что прописать надо?

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

1 час назад, Garik66 сказал:

нужно добавить в таблицу этот скрипт и адрес с адресом "flag", наименование сам придумай и назначь на него ГК при значении в адресе "flag" 2 будут 

2 часа назад, Stigmaer сказал:

разблокированы все уровни.

при значении 1 будут

 

2 часа назад, Stigmaer сказал:

второй начать с начала

 

2 часа назад, Stigmaer сказал:

(установил значение на единице)

значение flag будет обнуляться.

 

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

В 30.10.2018 в 18:19, Stigmaer сказал:

Я  занёс скрипт в таблицу без изменений, не чего не дописывал, думал уже готовый. А где что прописать надо?

Вот сделал тебе табличку уже с адресом.

ГК Numpad 1 - уровни становятся в 1

ГК Numpad 2 - разблокированы.

табличку перезалил в этом сообщении.

 

В 30.10.2018 в 18:19, Stigmaer сказал:

скрипт в таблицу

Ну шо? Работает? или нет?

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

43 минуты назад, Garik66 сказал:

Вот сделал тебе табличку уже с адресом.

смотри сам файл таблички, так же ведёт.

 

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

23 часа назад, Garik66 сказал:

 

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

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

22 минуты назад, Stigmaer сказал:

если меньше 48 пишем 48 если равно 48 возврат в оригинальный код,

1. Мне кажется это не поможет.

(если что я игру снес, а то в репаке, который я качнул, много г............ было, ели вычистил.)

2. Зачем два скрипта, если одна инструкция.

3. Мой скрипт делает практически тоже самое, т.е. при flag=2 разово записывает 48, а потом ориг. инструкция. а при flag=1 разово записывает 1, а потом оригинальная инструкция.

 

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

ЗЫ: ещё можно сделать так, убрать адрес flag из таблицы, и чтобы скрипт, после активации, разово записал в первом такте инструкции 48, во втором такте 1, в с третьего такта работала уже ориг. инструкция игры.
Но к чему это приведет я не знаю, проверить не на чем.

Если что вот скрипт:

Спойлер

{ Game   : engine.exe
  Version:
  Date   : 2018-10-30
  Author : Stigmaer

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(levels,engine.exe,A1 10 4B 62 00 74) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(flag)
registersymbol(levels)

newmem:
  cmp [flag],2
  jne @f
  mov [flag],1
  mov [engine.exe+224B10],#48
  jmp code

@@:
  cmp [flag],1
  jne code
  mov [flag],0
  mov [engine.exe+224B10],#1

code:
  mov eax,[engine.exe+224B10]
  jmp return

flag:
  dd 2

levels:
  jmp newmem
return:

[DISABLE]
levels:
  db A1 10 4B 62 00

unregistersymbol(levels)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "engine.exe"+215B0

"engine.exe"+21583: 8B CE                          -  mov ecx,esi
"engine.exe"+21585: FF 92 88 00 00 00              -  call dword ptr [edx+00000088]
"engine.exe"+2158B: 8B 0D 18 4B 62 00              -  mov ecx,[engine.exe+224B18]
"engine.exe"+21591: A1 1C 4B 62 00                 -  mov eax,[engine.exe+224B1C]
"engine.exe"+21596: 81 C1 E8 03 00 00              -  add ecx,000003E8
"engine.exe"+2159C: 03 C3                          -  add eax,ebx
"engine.exe"+2159E: 89 0D 18 4B 62 00              -  mov [engine.exe+224B18],ecx
"engine.exe"+215A4: A3 1C 4B 62 00                 -  mov [engine.exe+224B1C],eax
"engine.exe"+215A9: A0 2D 4E 62 00                 -  mov al,[engine.exe+224E2D]
"engine.exe"+215AE: 84 C0                          -  test al,al
// ---------- INJECTING HERE ----------
"engine.exe"+215B0: A1 10 4B 62 00                 -  mov eax,[engine.exe+224B10]
// ---------- DONE INJECTING  ----------
"engine.exe"+215B5: 74 22                          -  je engine.exe+215D9
"engine.exe"+215B7: 83 F8 11                       -  cmp eax,11
"engine.exe"+215BA: 7C 1D                          -  jl engine.exe+215D9
"engine.exe"+215BC: C7 05 FC 03 61 00 1B 00 00 00  -  mov [engine.exe+2103FC],0000001B
"engine.exe"+215C6: C6 05 2D 4E 62 00 00           -  mov byte ptr [engine.exe+224E2D],00
"engine.exe"+215CD: 33 C0                          -  xor eax,eax
"engine.exe"+215CF: 5F                             -  pop edi
"engine.exe"+215D0: 5E                             -  pop esi
"engine.exe"+215D1: 5D                             -  pop ebp
"engine.exe"+215D2: 5B                             -  pop ebx
}

 

Попробуй, отпишись,

И да. если вдруг не понял, скрипт не само-отключиться, но работать будет игровая инструкция.  

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

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

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

2 минуты назад, Garik66 сказал:

Попробуй скрипт в сообщении выше.

сейчас попробую отпишусь

9 минут назад, Garik66 сказал:

Попробуй скрипт в сообщении выше.

не удалось добавить, вот скриншот:

Спойлер

52c55b6ec7bf.png

 

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

24 минуты назад, Garik66 сказал:

mov eax,[engine.exe+224B10]

игорь блин не могу понять чем се не устраивает эта строка 

mov eax,[engine.exe+224B10]

это же код из моего скрипта, которую се приняло и делал свою работу, а втвоём скрипте ему не нравиться

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

20 минут назад, Stigmaer сказал:

сейчас попробую отпишусь

Ладно мне ждать некогда, если тебе нужно именно авто-отключение скрипта, то вот например вариант:

 

Только что, Stigmaer сказал:

Блин нет, пошёл исправляться!

На две секунды  "В угол" . Garik66

 

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

27 минут назад, Garik66 сказал:

На две секунды  "В угол" . Garik66

Исправился заново нашёл значение обнаружил оказывается адрес то статистический! а значит все настройки в горячих клавишах,. А я тут всем голову морочу!

Косяк крупный! Что опять в угол?

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

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

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

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