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

Можно ли сделать скрипт с авто фильтром?


Stigmaer

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

Начал ломать весёлую ферму 2 нашёл адрес на улучшение завода, открыл инструкцию обращающююся к этому адресу. Из всех инструкций не одна не сработала на скрипт, только в одной получилось, но не на адрес в скобках, а на чистый eax. Но здесь вышла другая проблема если поставить значение 4 игра вылетает, это потому что колодец , автомобиль, самолёт и склад максимальное значение 3, а если поставить 3 то заводы не на полном улучшении и при включенном скрипте их не возможно улучшить

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

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

Скрипт:

Спойлер

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

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(maxizavod,farm2.exe,39 41 08 53 56) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov eax,3 // здесь максимально улучшается только хозяйство, а заводы только до 3 улучшения

code:
  cmp [ecx+08],eax // на [ecx+08] скрипт не работает
  push ebx
  push esi
  jmp return

maxizavod:
  jmp newmem
return:
registersymbol(maxizavod)

[DISABLE]

maxizavod:
  db 39 41 08 53 56

unregistersymbol(maxizavod)
dealloc(newmem)

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

"farm2.exe"+3F321: 8B EC                 -  mov ebp,esp
"farm2.exe"+3F323: 6A FF                 -  push -01
"farm2.exe"+3F325: 68 A5 49 61 00        -  push farm2.exe+2149A5
"farm2.exe"+3F32A: 64 A1 00 00 00 00     -  mov eax,fs:[00000000]
"farm2.exe"+3F330: 50                    -  push eax
"farm2.exe"+3F331: 64 89 25 00 00 00 00  -  mov fs:[00000000],esp
"farm2.exe"+3F338: 51                    -  push ecx
"farm2.exe"+3F339: B8 38 11 00 00        -  mov eax,00001138
"farm2.exe"+3F33E: E8 BD DD 19 00        -  call farm2.exe+1DD100
"farm2.exe"+3F343: 8B 45 08              -  mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
"farm2.exe"+3F346: 39 41 08              -  cmp [ecx+08],eax
"farm2.exe"+3F349: 53                    -  push ebx
"farm2.exe"+3F34A: 56                    -  push esi
// ---------- DONE INJECTING  ----------
"farm2.exe"+3F34B: 57                    -  push edi
"farm2.exe"+3F34C: 89 65 F0              -  mov [ebp-10],esp
"farm2.exe"+3F34F: C7 45 FC 00 00 00 00  -  mov [ebp-04],00000000
"farm2.exe"+3F356: 74 08                 -  je farm2.exe+3F360
"farm2.exe"+3F358: 89 41 08              -  mov [ecx+08],eax
"farm2.exe"+3F35B: 8B 01                 -  mov eax,[ecx]
"farm2.exe"+3F35D: FF 50 04              -  call dword ptr [eax+04]
"farm2.exe"+3F360: 8B 4D F4              -  mov ecx,[ebp-0C]
"farm2.exe"+3F363: 5F                    -  pop edi
"farm2.exe"+3F364: 5E                    -  pop esi
}

Дополнительная информация:

Спойлер

EAX=00000001
EBX=00000000
ECX=12CEB3C8
EDX=00000001
ESI=0234E868
EDI=12CEB140
EBP=001271E8
ESP=001260A0
EIP=0043F349

Вероятный базовый указатель =12CEB3C8

0043F33E - call 005DD100
0043F343 - mov eax,[ebp+08]
0043F346 - cmp [ecx+08],eax
0043F349 - push ebx
0043F34A - push esi

Заранее благодарю всех кто откликнется!

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

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

Найди инструкцию которая хранит максимальное значение

А где её искать?

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

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

возможно создать такой скрипт

Конечно.

В структуре (регионе памяти) найди максимальное значение улучшений и пиши его сразу в eax:
 

newmem:
mov eax, [ecx+xx] - xx -смещение до максимума.
code:

 

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

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

В структуре (регионе памяти) найди максимальное значение улучшений и пиши его сразу в eax:

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

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

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

Сделай если не сложно маленький урок на эту тему

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

Подойдет любой - ну например infiniteHP

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

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

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

Ты совсем издеваешься? Я не наезжаю, мне просто интересно... Ты когда - нибудь структуры вообще рассматривал? А на счёт урока... Ну еклм, ладно, держи: 

 

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

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

Ты совсем издеваешься?

Я не издеваюсь веришь,,нет,

 

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

Ты когда - нибудь структуры вообще рассматривал?

первый раз с такой задачей столкнулся.

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

Ты когда - нибудь структуры вообще рассматривал?

Нет сразу скрипты писал.

Кто ни будь у кого есть до этого доступ! Поставьте Медведю плюс за меня!

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

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

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

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