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

не обходимы всего 2 самых важных скрипта


Stigmaer

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

Очень надо, помогите, эти 2 скрипта могут быть шаблонами, для любой игры!

Собственно надо, такой скрипт чтоб установить значение на пример 20 и заморозить с  разрешением увеличения

до определённой суммы к примеру  5000, довод если число становиться больше определёного

игра может глючит, и надо так чтоб в новом уровне значение возвращалось к 20, дело в том что в игре

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

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

 

// перенёс в более подходящий раздел Garik66

 

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

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

Собственно надо, такой скрипт

Скрипт будет примерно таким, зависит от выбранной тобой инструкции.

Держи - патронов будет не меньше 20, а при достижении 5000, будет опять 20.

Спойлер

{ Game   : Tutorial-i386.exe
  Version: 
  Date   : 2018-07-13
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(Ammo,Tutorial-i386.exe,89 83 80 04 00 00 8D 55 D4 E8 52) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Ammo)

newmem:
  cmp eax,#20
  jae @f
  mov eax,#20   // если меньше 20, то запишем 20
  jmp code

@@:
  cmp eax,#5000
  jb code
  mov eax,#20   // если больше 5000, то запишем 20 (десь я точно не понял,
                // что именно ты хочешь.

code:
  mov [ebx+00000480],eax
  jmp return

Ammo:
  jmp newmem
  db 90
return:

[DISABLE]
Ammo:
  db 89 83 80 04 00 00

unregistersymbol(Ammo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Tutorial-i386.exe"+23920

"Tutorial-i386.exe"+238FC: E8 0F 9B FE FF        -  call Tutorial-i386.exe+D410
"Tutorial-i386.exe"+23901: E8 1A B6 FE FF        -  call Tutorial-i386.exe+EF20
"Tutorial-i386.exe"+23906: 50                    -  push eax
"Tutorial-i386.exe"+23907: 85 C0                 -  test eax,eax
"Tutorial-i386.exe"+23909: 75 65                 -  jne Tutorial-i386.exe+23970
"Tutorial-i386.exe"+2390B: B8 05 00 00 00        -  mov eax,00000005
"Tutorial-i386.exe"+23910: E8 5B AD FE FF        -  call Tutorial-i386.exe+E670
"Tutorial-i386.exe"+23915: 8D 50 01              -  lea edx,[eax+01]
"Tutorial-i386.exe"+23918: 8B 83 80 04 00 00     -  mov eax,[ebx+00000480]
"Tutorial-i386.exe"+2391E: 29 D0                 -  sub eax,edx
// ---------- INJECTING HERE ----------
"Tutorial-i386.exe"+23920: 89 83 80 04 00 00     -  mov [ebx+00000480],eax
// ---------- DONE INJECTING  ----------
"Tutorial-i386.exe"+23926: 8D 55 D4              -  lea edx,[ebp-2C]
"Tutorial-i386.exe"+23929: E8 52 68 01 00        -  call Tutorial-i386.exe+3A180
"Tutorial-i386.exe"+2392E: 8B 55 D4              -  mov edx,[ebp-2C]
"Tutorial-i386.exe"+23931: 8B 83 6C 04 00 00     -  mov eax,[ebx+0000046C]
"Tutorial-i386.exe"+23937: E8 D4 DA 06 00        -  call Tutorial-i386.exe+91410
"Tutorial-i386.exe"+2393C: 83 BB 80 04 00 00 00  -  cmp dword ptr [ebx+00000480],00
"Tutorial-i386.exe"+23943: 7D 2B                 -  jnl Tutorial-i386.exe+23970
"Tutorial-i386.exe"+23945: A1 C4 F1 54 00        -  mov eax,[Tutorial-i386.exe+14F1C4]
"Tutorial-i386.exe"+2394A: E8 A1 29 0F 00        -  call Tutorial-i386.exe+1162F0
"Tutorial-i386.exe"+2394F: B8 64 00 00 00        -  mov eax,00000064
}

 

 

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

PS: Ещё можно этот же скрипт записать так:

Спойлер

{ Game   : Tutorial-i386.exe
  Version: 
  Date   : 2018-07-13
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(Ammo,Tutorial-i386.exe,89 83 80 04 00 00 8D 55 D4 E8 52) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Ammo)

newmem:
  cmp eax,#20
  jb @f
  cmp eax,#5000
  jae @f
  jmp code

@@:
  mov eax,#20   // Если меньше 20 и если больше 5000,
                // то запишем 20 (десь я точно не понял,
                // что именно ты хочешь).

code:
  mov [ebx+00000480],eax
  jmp return

Ammo:
  jmp newmem
  db 90
return:

[DISABLE]
Ammo:
  db 89 83 80 04 00 00

unregistersymbol(Ammo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Tutorial-i386.exe"+23920

"Tutorial-i386.exe"+238FC: E8 0F 9B FE FF        -  call Tutorial-i386.exe+D410
"Tutorial-i386.exe"+23901: E8 1A B6 FE FF        -  call Tutorial-i386.exe+EF20
"Tutorial-i386.exe"+23906: 50                    -  push eax
"Tutorial-i386.exe"+23907: 85 C0                 -  test eax,eax
"Tutorial-i386.exe"+23909: 75 65                 -  jne Tutorial-i386.exe+23970
"Tutorial-i386.exe"+2390B: B8 05 00 00 00        -  mov eax,00000005
"Tutorial-i386.exe"+23910: E8 5B AD FE FF        -  call Tutorial-i386.exe+E670
"Tutorial-i386.exe"+23915: 8D 50 01              -  lea edx,[eax+01]
"Tutorial-i386.exe"+23918: 8B 83 80 04 00 00     -  mov eax,[ebx+00000480]
"Tutorial-i386.exe"+2391E: 29 D0                 -  sub eax,edx
// ---------- INJECTING HERE ----------
"Tutorial-i386.exe"+23920: 89 83 80 04 00 00     -  mov [ebx+00000480],eax
// ---------- DONE INJECTING  ----------
"Tutorial-i386.exe"+23926: 8D 55 D4              -  lea edx,[ebp-2C]
"Tutorial-i386.exe"+23929: E8 52 68 01 00        -  call Tutorial-i386.exe+3A180
"Tutorial-i386.exe"+2392E: 8B 55 D4              -  mov edx,[ebp-2C]
"Tutorial-i386.exe"+23931: 8B 83 6C 04 00 00     -  mov eax,[ebx+0000046C]
"Tutorial-i386.exe"+23937: E8 D4 DA 06 00        -  call Tutorial-i386.exe+91410
"Tutorial-i386.exe"+2393C: 83 BB 80 04 00 00 00  -  cmp dword ptr [ebx+00000480],00
"Tutorial-i386.exe"+23943: 7D 2B                 -  jnl Tutorial-i386.exe+23970
"Tutorial-i386.exe"+23945: A1 C4 F1 54 00        -  mov eax,[Tutorial-i386.exe+14F1C4]
"Tutorial-i386.exe"+2394A: E8 A1 29 0F 00        -  call Tutorial-i386.exe+1162F0
"Tutorial-i386.exe"+2394F: B8 64 00 00 00        -  mov eax,00000064
}

 

 

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

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

а на второй как это будет выглядеть то есть на уменьшение?

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

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

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

а на второй как это будет выглядеть то есть на уменьшение?

Ты не понял - всё сделано в одном скрипте.

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

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

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

а на второй как это будет выглядеть то есть на уменьшение?

значит не то что нужно на до 2 по отдельности, я сперва подумал что тут предложение на увеличение от 20 до 5000 по описанию понял что если оно начинает за зашкаливают 5000 возвращаются к 20 что мне и надо, то есть между 20 и 5000, то есть патроны не кончаются ниже 20 не года бесконечность есть, если выще у меня 4990 патронов а и поднимаю бонус на 50 поднять его получиться потому что после зашкаливания у меня опять 20 патроны всё равно бесконечны а бонусы будут срабатывать без коментариев что патронов полный запас, а теперь другая ситуация таймер отсчитывает обратный ход, за не обходимое время надо убить как можно больше если нужно чтоб таймер шёл нормально и дошёл допустим до 1 секунды, и встал пока уровень не закончиться, а вновом у сново с нормадьного отсчёта или если возможно даже добавить времени. как видишь условия таки еже толбко в обратную сторону а первый скрипт работает я проверил. Правда я пока ёщё туп как определять нужные инструкции, но мой метод метод тыка, пишу скрипты на все будь их хоть 50, а потом про веряю глючит, значит не та, не работает, значит не та, как ни странно но в моей статистики если ройтись по всем скриптам 3 или 4 рабочих без глюков всегда есть, почему не понял, ведь исли инструкции разные значит и адреса другие,

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

6 часов назад, Stigmaer сказал:

что тут предложение на увеличение от 20 до 5000 по описанию понял что если оно начинает за зашкаливают 5000 возвращаются к 20 что мне и надо, то есть между 20 и 5000, то есть патроны не кончаются ниже 20 не года бесконечность есть, если выще у меня 4990 патронов а и поднимаю бонус на 50 поднять его получиться потому что после зашкаливания у меня опять 20 патроны всё равно бесконечны а бонусы будут срабатывать без коментариев что патронов полный запас

Так и работает скрипт.

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

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

на ютубе один автор предлагает от инструкции открыть в ассемблере/вызвать команду перейти по адресу/скопировать адрес/ открыть автоассемблер и вызвать в шаблоне  функции enable desable и инекцию (AOB) 
там где newmem: нажать энтер вставить адрес и внизу занопить

 

выглядит вот так

newmem:
064ABD91:
nop
nop
nop
nop
nop
nop

 

считаю это не правильный подход на другой версии игры адрес будет другим я это проверил,

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

твоим методом, в смысле чтоб на любой версии работало.


 

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

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

Адрес на сигнатуру замени.

если не сложно подскажи где ёё взять и как это будет прописано в секции Enable, очень надо! Не откажи! С уважением Stigmaer.

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

11 часов назад, Stigmaer сказал:

где ёё взять

считать нужное количество байт от необходимой инструкции

 

11 часов назад, Stigmaer сказал:

как это будет прописано в секции Enable

используя функцию aobscan. Примеров на форуме полным-полно.

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

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

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

В 13.07.2018 в 17:29, Stigmaer сказал:

дело в том что в игре

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

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

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

А по собранным (как говоришь) бонусам без вычитания - вот это затри  

"Tutorial-i386.exe"+2391E: 29 D0                 -  sub eax,edx  <------------------- это 90 90
// ---------- INJECTING HERE ----------
"Tutorial-i386.exe"+23920: 89 83 80 04 00 00     -  mov [ebx+00000480],eax

и не будет не каких вычитаний. Или же сколько тут байт ? 

"Tutorial-i386.exe"+23918: 8B 83 80 04 00 00     -  mov eax,[ebx+00000480] // пишем mov eax,#50 --- к примеру на 5 байт 
"Tutorial-i386.exe"+2391E: 29 D0                 -  sub eax,edx  // а эти два байта затереть можно 90 90 

вот тебе и патч с записью в 50 .. а что бы болталось туда сюда значение (как в твоем предложении выше) я такого ещо не у кого не видел.  

А что бы выше чего то не поднималось или не опускалось - сравнение и прыжок 


  newmem: 
  cmp [ebx+00000480],xxxxx
  условие и прыг на  code 
  
  mov [ebx+00000480],eax
code:
  jmp return

будет работать не хуже того же  

49349495: 

90 

90  

90 

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

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

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

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

но если показали грибное место (в инете это называется ссылки)

Я указал "грибное место", если пользоваться твоей терминологией - используй aobscan. Это твоя грибная поляна. А уж грибочки на ней потрудись поискать самостоятельно. Или тебе нужно обязательно указать местоположение каждого грибочка, чтобы ты их только в корзинку складывал? Нет, так не пойдет. Любишь кататься - люби и саночки возить.

 

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

10 часов назад, Xipho сказал:

Я указал "грибное место", если пользоваться твоей терминологией - используй aobscan. Это твоя грибная поляна. А уж грибочки на ней потрудись поискать самостоятельно. Или тебе нужно обязательно указать местоположение каждого грибочка, чтобы ты их только в корзинку складывал? Нет, так не пойдет. Любишь кататься - люби и саночки возить.

 

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

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

В 13.07.2018 в 21:58, Garik66 сказал:

PS: Ещё можно этот же скрипт записать так:

Обратил внимание на эту приписку  

@@:
  mov eax,#20   // Если меньше 20 и если больше 5000,
                // то запишем 20 (десь я точно не понял,
                // что именно ты хочешь).

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

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

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

Обратил внимание на эту приписку  

Если скрипт работает как нужно, то я тебя правильно понял. А варианты я не подразумевал. Написал, если вдруг один из пунктов сработает не так как ты хотел.

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

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

Если скрипт работает как нужно, то я тебя правильно понял. А варианты я не подразумевал. Написал, если вдруг один из пунктов сработает не так как ты хотел.

Тогда всё в порядке, скрипт работает именно так как ты описал, и именно то что я хотел.

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

В 19.07.2018 в 08:00, Xipho сказал:

Я указал "грибное место", если пользоваться твоей терминологией - используй aobscan. Это твоя грибная поляна. А уж грибочки на ней потрудись поискать самостоятельно. Или тебе нужно обязательно указать местоположение каждого грибочка, чтобы ты их только в корзинку складывал? Нет, так не пойдет. Любишь кататься - люби и саночки возить.

 

Спойлер

 

Вот я и нашёл грибное место! Видос ещё посмотрю, попрактикуюсь по теме видео, но на мой вопрос там ответ есть! Спасибо видео очень полезное!!! Всего наилучшего вам и форуму!!!

В 19.07.2018 в 19:21, JustHack сказал:

Стажеры разные бывают. В гугле тоже стажеры, в микрософте стажеры и еще много где. Стажер и чайник разные понятия. На этом форуме, звание стажер, подразумевает хотя бы навыки поиска информации.

 

Ну и вот тебе ссылка на грибочки.

грибочки нашёл здесь,  

Спойлер

 

А вот под твоей ссылкой ни одного. Может я плохо искал?

Изменено пользователем Xipho
Видео нужно убирать под спойлер
  • Понравилось 1
Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...
В 13.07.2018 в 21:40, Garik66 сказал:

Собственно надо, такой скрипт

Игорь столкнулся с тем что нужен скрипт с точности до наоборот. Я уже сгенерировал трейнер на шоу домашних животных. Но выяснилось я могу его закинуть если я стану разработчиком. Для этого надо 3 скрипта или таблици и я делаю таблици на рапак весёлая ферма мега пак 12 в 1.

и там у меня чит на все продукты на складе, ну чтоб заводы сразу могли работать там такая команда mov [адрес],#50

только скрипт даёт обратную реакцию заводы не работают даже тогда когда домашние когда закидываешь на склад продукцию от домашних животных. Твой скрипт между 20 и 5000 не даёт результатов так как изначально там 50 (скрипт между 50 и 500) и чтоб заводы работали нужно чоб значение в минус изменялось. Теперь под итоживаю надо такой эфект если больше 500 пишем 500 если меньше 50  и больше 500 пишем 500 то ест чтоб стартовало от 500 двигалось к 50 и если меньше 50 возращалось на 500. потмо на форуме выложу 12 таблиц от весёлая ферма до весёлая ферма 4

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

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

Игорь столкнулся с тем что нужен скрипт с точности до наоборот. Я уже сгенерировал трейнер на шоу домашних животных. Но выяснилось я могу его закинуть если я стану разработчиком. Для этого надо 3 скрипта или таблици и я делаю таблици на рапак весёлая ферма мега пак 12 в 1.

и там у меня чит на все продукты на складе, ну чтоб заводы сразу могли работать там такая команда mov [адрес],#50

только скрипт даёт обратную реакцию заводы не работают даже тогда когда домашние когда закидываешь на склад продукцию от домашних животных. Твой скрипт между 20 и 5000 не даёт результатов так как изначально там 50 (скрипт между 50 и 500) и чтоб заводы работали нужно чоб значение в минус изменялось. Теперь под итоживаю надо такой эфект если больше 500 пишем 500 если меньше 50  и больше 500 пишем 500 то ест чтоб стартовало от 500 двигалось к 50 и если меньше 50 возращалось на 500. потмо на форуме выложу 12 таблиц от весёлая ферма до весёлая ферма 4

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

Спойлер

{ Game   : farm2.exe
  Version: 
  Date   : 2018-12-08
  Author : Stigmaer

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,farm2.exe,8B 84 81 1C 03 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov eax,[ecx+eax*4+0000031C]
  jmp return

INJECT:
  jmp newmem
  nop
  nop
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 8B 84 81 1C 03 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "farm2.exe"+F492B

"farm2.exe"+F4906: 89 65 F0              -  mov [ebp-10],esp
"farm2.exe"+F4909: 6A 01                 -  push 01
"farm2.exe"+F490B: 8B F1                 -  mov esi,ecx
"farm2.exe"+F490D: 33 DB                 -  xor ebx,ebx
"farm2.exe"+F490F: 6A 03                 -  push 03
"farm2.exe"+F4911: 8D 8D BC FE FF FF     -  lea ecx,[ebp-00000144]
"farm2.exe"+F4917: 89 5D FC              -  mov [ebp-04],ebx
"farm2.exe"+F491A: E8 91 F0 F4 FF        -  call farm2.exe+439B0
"farm2.exe"+F491F: 8B 0D F8 08 78 00     -  mov ecx,[farm2.exe+3808F8]
"farm2.exe"+F4925: 8B 86 88 00 00 00     -  mov eax,[esi+00000088]
// ---------- INJECTING HERE ----------
"farm2.exe"+F492B: 8B 84 81 1C 03 00 00  -  mov eax,[ecx+eax*4+0000031C]
// ---------- DONE INJECTING  ----------
"farm2.exe"+F4932: 50                    -  push eax
"farm2.exe"+F4933: 8D 8D C4 FE FF FF     -  lea ecx,[ebp-0000013C]
"farm2.exe"+F4939: C6 45 FC 01           -  mov byte ptr [ebp-04],01
"farm2.exe"+F493D: E8 FE E0 F4 FF        -  call farm2.exe+42A40
"farm2.exe"+F4942: 8D 55 B8              -  lea edx,[ebp-48]
"farm2.exe"+F4945: 52                    -  push edx
"farm2.exe"+F4946: 8D 8D BC FE FF FF     -  lea ecx,[ebp-00000144]
"farm2.exe"+F494C: E8 AF 1A F5 FF        -  call farm2.exe+46400
"farm2.exe"+F4951: 6A FF                 -  push -01
"farm2.exe"+F4953: 53                    -  push ebx
}

 

 

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

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

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

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