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

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

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

Попробуй качнуть это и с помощью него сделать оба скрипта.

Сделал. Работает. Очки не уменьшаются.

Почитал про "test" Честно говоря понял только то что он производит вычисления значений, но не записывает результат, а сравнивает. 

Можно если не затруднит показать какой - нибудь пример решения. Но не к данному случаю. Хочу сам понять как обойти этот 

"test eax,eax"

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

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

Хочу сам понять как обойти этот 

"test eax,eax"

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

 

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

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

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

 

Спасибо. Буду пробовать.

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

Изменил

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-14
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,1B 8B 43 18 48 89 43 18) // should be unique
aobscan(INJECT1,2F 8B 43 18 48 89 43 18) // should be unique
alloc(newmem,$1000)
alloc(newmem1,$1000)
registersymbol(INJECT)
registersymbol(INJECT1)
label(code)
label(code1)
label(return)
label(return1)

newmem:
  inc [ebx+18]
code:
  mov eax,[ebx+18]
  dec eax
  mov [ebx+18],eax
  jmp return

newmem1:
  inc [ebx+18]
code1:
  mov eax,[ebx+18]
  dec eax
  mov [ebx+18],eax
  jmp return1

INJECT+01:
  jmp newmem
  nop
  nop
return:

INJECT1+01:
  jmp newmem1
  nop
  nop
return1:


[DISABLE]

INJECT+01:
  db 8B 43 18 48 89 43 18
INJECT1+01:
  db 8B 43 18 48 89 43 18

unregistersymbol(INJECT)
unregistersymbol(INJECT1)
dealloc(newmem)
dealloc(newmem1)



{
// ORIGINAL CODE - INJECTION POINT: 0737AE89

""+737AE6F: 8B 05 30 B2 5C 06  -  mov eax,[065CB230]
""+737AE75: 51                 -  push ecx
""+737AE76: 57                 -  push edi
""+737AE77: FF 75 0C           -  push [ebp+0C]
""+737AE7A: 50                 -  push eax
""+737AE7B: 39 00              -  cmp [eax],eax
""+737AE7D: E8 46 8D 00 00     -  call 07383BC8
""+737AE82: 83 C4 10           -  add esp,10
""+737AE85: 85 C0              -  test eax,eax
""+737AE87: 74 1B              -  je 0737AEA4
// ---------- INJECTING HERE ----------
""+737AE89: 8B 43 18           -  mov eax,[ebx+18]
""+737AE8C: 48                 -  dec eax
""+737AE8D: 89 43 18           -  mov [ebx+18],eax
// ---------- DONE INJECTING  ----------
""+737AE90: 8B 05 30 B2 5C 06  -  mov eax,[065CB230]
""+737AE96: 83 EC 0C           -  sub esp,0C
""+737AE99: 50                 -  push eax
""+737AE9A: 39 00              -  cmp [eax],eax
""+737AE9C: E8 E7 06 00 00     -  call 0737B588
""+737AEA1: 83 C4 10           -  add esp,10
""+737AEA4: 8B 43 18           -  mov eax,[ebx+18]
""+737AEA7: 85 C0              -  test eax,eax
""+737AEA9: 0F 85 43 00 00 00  -  jne 0737AEF2
""+737AEAF: 83 EC 08           -  sub esp,08
}

 

 

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

6 минут назад, Strajder сказал:

но пришлось писать в два адреса.

Я же говорил про последнюю проверку:

0777B49C - 8B 43 18              - mov eax,[ebx+18] // попробуй именно здесь написать, может будет нужен один скрипт
0777B49F - 85 C0                 - test eax,eax

 

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

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

Я же говорил про последнюю проверку:


0777B49C - 8B 43 18              - mov eax,[ebx+18] // попробуй именно здесь написать, может будет нужен один скрипт
0777B49F - 85 C0                 - test eax,eax

 

Поздно уже) Час ночи. Затупил ;)...

Хотя как ни странно с 1 скриптом не работает.. (Либо 1 либо 2) С двумя да.

Теперь понятно почему.)

Первый отвечает за левую часть карт. А второй за правую.

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

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

Хотя как ни странно с 1 скриптом не работает..

Ты меня так и не понял:

Скрытый текст

0777B3E6 - FF 75 F0              - push [ebp-10]
0777B3E9 - 57                    - push edi
0777B3EA - FF 75 0C              - push [ebp+0C]
0777B3ED - 50                    - push eax
0777B3EE - 39 00                 - cmp [eax],eax
0777B3F0 - E8 23040000           - call 0777B818
0777B3F5 - 83 C4 10              - add esp,10 { 16 }
0777B3F8 - 85 C0                 - test eax,eax
0777B3FA - 74 2F                 - je 0777B42B
0777B3FC - 8B 43 18              - mov eax,[ebx+18]  // Я имел ввиду не здесь
/////////////////////////////////////////////////////////////////////////////////////////////
0777B3FF - 48                    - dec eax
/////////////////////////////////////////////////////////////////////////////////////////////
0777B400 - 89 43 18              - mov [ebx+18],eax
0777B403 - 8B 05 30B2A006        - mov eax,[06A0B230] { [1F536F00] }
0777B409 - 83 EC 0C              - sub esp,0C { 12 }
0777B40C - 50                    - push eax
0777B40D - 39 00                 - cmp [eax],eax
0777B40F - E8 AC48FFFF           - call 0776FCC0
0777B414 - 83 C4 10              - add esp,10 { 16 }
0777B417 - 8B 05 30B2A006        - mov eax,[06A0B230] { [1F536F00] }
0777B41D - 83 EC 0C              - sub esp,0C { 12 }
0777B420 - 50                    - push eax
0777B421 - 39 00                 - cmp [eax],eax
0777B423 - E8 58070000           - call 0777BB80
0777B428 - 83 C4 10              - add esp,10 { 16 }
0777B42B - 89 7D DC              - mov [ebp-24],edi
0777B42E - 89 7D E0              - mov [ebp-20],edi
0777B431 - 85 FF                 - test edi,edi
0777B433 - 74 1D                 - je 0777B452
0777B435 - 8B 45 DC              - mov eax,[ebp-24]
0777B438 - 8B 00                 - mov eax,[eax]
0777B43A - 8B 00                 - mov eax,[eax]
0777B43C - 8B 40 08              - mov eax,[eax+08]
0777B43F - 8B 40 08              - mov eax,[eax+08]
0777B442 - 33 C9                 - xor ecx,ecx
0777B444 - 3D 28BD001C           - cmp eax,1C00BD28 { [1C00BD28] }
0777B449 - 8B 45 E0              - mov eax,[ebp-20]
0777B44C - 0F45 C1               - cmovne eax,ecx
0777B44F - 89 45 E0              - mov [ebp-20],eax
0777B452 - 8B 45 E0              - mov eax,[ebp-20]
0777B455 - 89 45 E8              - mov [ebp-18],eax
0777B458 - 83 7D E0 00           - cmp dword ptr [ebp-20],00 { 0 }
0777B45C - 74 3E                 - je 0777B49C
0777B45E - 8B 45 E8              - mov eax,[ebp-18]
0777B461 - 8B 48 08              - mov ecx,[eax+08]
0777B464 - 89 4D E4              - mov [ebp-1C],ecx
0777B467 - 8B 05 30B2A006        - mov eax,[06A0B230] { [1F536F00] }
0777B46D - 51                    - push ecx
0777B46E - 57                    - push edi
0777B46F - FF 75 0C              - push [ebp+0C]
0777B472 - 50                    - push eax
0777B473 - 39 00                 - cmp [eax],eax
0777B475 - E8 AEAF0000           - call 07786428
0777B47A - 83 C4 10              - add esp,10 { 16 }
0777B47D - 85 C0                 - test eax,eax
0777B47F - 74 1B                 - je 0777B49C
0777B481 - 8B 43 18              - mov eax,[ebx+18]  // и не здесь
/////////////////////////////////////////////////////////////////////////////////////////////
0777B484 - 48                    - dec eax
/////////////////////////////////////////////////////////////////////////////////////////////
0777B485 - 89 43 18              - mov [ebx+18],eax
0777B488 - 8B 05 30B2A006        - mov eax,[06A0B230] { [1F536F00] }
0777B48E - 83 EC 0C              - sub esp,0C { 12 }
0777B491 - 50                    - push eax
0777B492 - 39 00                 - cmp [eax],eax
0777B494 - E8 E7060000           - call 0777BB80
0777B499 - 83 C4 10              - add esp,10 { 16 }
0777B49C - 8B 43 18              - mov eax,[ebx+18]  // а именно здесь попробовать написать скрипт.
0777B49F - 85 C0                 - test eax,eax

 

 

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

Доделать до конца и идти спать :ph34r:

 

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-14
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECTq,8B 43 18 85 C0 0F 85 43) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [ebx+18],#1
code:
  mov eax,[ebx+18]
  test eax,eax
  jmp return

INJECTq:
  jmp newmem
return:
registersymbol(INJECTq)

[DISABLE]

INJECTq:
  db 8B 43 18 85 C0

unregistersymbol(INJECTq)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 0737AEA4

""+737AE87: 74 1B              -  je 0737AEA4
""+737AE89: 8B 43 18           -  mov eax,[ebx+18]
""+737AE8C: 48                 -  dec eax
""+737AE8D: 89 43 18           -  mov [ebx+18],eax
""+737AE90: 8B 05 30 B2 5C 06  -  mov eax,[065CB230]
""+737AE96: 83 EC 0C           -  sub esp,0C
""+737AE99: 50                 -  push eax
""+737AE9A: 39 00              -  cmp [eax],eax
""+737AE9C: E8 E7 06 00 00     -  call 0737B588
""+737AEA1: 83 C4 10           -  add esp,10
// ---------- INJECTING HERE ----------
""+737AEA4: 8B 43 18           -  mov eax,[ebx+18]
""+737AEA7: 85 C0              -  test eax,eax
// ---------- DONE INJECTING  ----------
""+737AEA9: 0F 85 43 00 00 00  -  jne 0737AEF2
""+737AEAF: 83 EC 08           -  sub esp,08
""+737AEB2: 6A 00              -  push 00
""+737AEB4: 53                 -  push ebx
""+737AEB5: E8 6E 75 FF FF     -  call 07372428
""+737AEBA: 83 C4 10           -  add esp,10
""+737AEBD: 85 C0              -  test eax,eax
""+737AEBF: 75 14              -  jne 0737AED5
""+737AEC1: 83 EC 08           -  sub esp,08
""+737AEC4: 6A 01              -  push 01
}

 

Всем добрых.

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

19 минут назад, Strajder сказал:

Доделать до конца и идти спать :ph34r:

Правильный подход. Тоже так предпочитаю делать.

 

А новый скрипт то работает? а то не написал.

 

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

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

Правильный подход. Тоже так предпочитаю делать.

 

А новый скрипт то работает? а то не написал.

 

Да скрипт работает. Но записал через mov, ибо через inc или add при выставлении карт идет увеличение значений, что не есть хорошо. Ну и еще 1 нюанс: Скрипт активируется только после того, как выставить одну карту. Видимо код срабатывает и прописывает себя, а до этого нужных сигнатур нет. Ну а дальше все норм.

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

Ну и пожалуй последний гвоздь в игру Thea: The Awakening :D

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

Карточные скрипты:

Здоровье:

Скрытый текст

{ Game   : Thea.exe
  Version:
  Date   : 2017-06-12
  Author : MrAntiFun

  This script does blah blah blah
}

[ENABLE]
aobscan(HP,8B C8 39 09 8B 40 0C 50 DB 04 24 D9 1C 24 D9 04 24 83 C4 04 D9 E8) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(HP)

newmem:
  push esi
  mov esi,[ebp+08]
  cmp byte ptr [esi+29],01
  pop esi
  jne code
  mov [eax+0C],0000270F

code:
  cmp [ecx],ecx
  mov eax,[eax+0C]
  jmp return

HP+02:
  jmp newmem
return:

[DISABLE]
HP+02:
  db 8B C8 39 09 8B 40 0C

unregistersymbol(HP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 0EBFDDFF

""+EBFDDE3: 83 EC 18              -  sub esp,18
""+EBFDDE6: 8B 45 08              -  mov eax,[ebp+08]
""+EBFDDE9: 8B 40 08              -  mov eax,[eax+08]
""+EBFDDEC: 83 EC 08              -  sub esp,08
""+EBFDDEF: 6A 01                 -  push 01
""+EBFDDF1: 50                    -  push eax
""+EBFDDF2: 39 00                 -  cmp [eax],eax
""+EBFDDF4: E8 4F F0 FF FF        -  call 0EBFCE48
""+EBFDDF9: 83 C4 10              -  add esp,10
""+EBFDDFC: 8B 40 0C              -  mov eax,[eax+0C]
""+EBFDDFF: 8B C8                 -  mov ecx,eax
// ---------- INJECTING HERE ----------
""+EBFDE01: 39 09                 -  cmp [ecx],ecx
// ---------- DONE INJECTING  ----------
""+EBFDE03: 8B 40 0C              -  mov eax,[eax+0C]
""+EBFDE06: 50                    -  push eax
""+EBFDE07: DB 04 24              -  fild dword ptr [esp]
""+EBFDE0A: D9 1C 24              -  fstp dword ptr [esp]
""+EBFDE0D: D9 04 24              -  fld dword ptr [esp]
""+EBFDE10: 83 C4 04              -  add esp,04
""+EBFDE13: D9 E8                 -  fld1
""+EBFDE15: 8B 45 08              -  mov eax,[ebp+08]
""+EBFDE18: D9 40 20              -  fld dword ptr [eax+20]
""+EBFDE1B: DE E9                 -  fsubp st(1),st(0)
""+EBFDE1D: DE C9                 -  fmulp st(1),st(0)
}

 

Броня:

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-11
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(ARMOR,8B 46 30 85 C0 0F 85 92) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp byte ptr [esi+29],01
  jne code
  mov [esi+30],#99999

code:
  mov eax,[esi+30]
  test eax,eax
  jmp return

ARMOR:
  jmp newmem
return:
registersymbol(ARMOR)

[DISABLE]

ARMOR:
  db 8B 46 30 85 C0

unregistersymbol(ARMOR)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 2182FBAE

""+2182FB8A: 39 36              -  cmp [esi],esi
""+2182FB8C: E8 27 11 00 00     -  call 21830CB8
""+2182FB91: 83 C4 10           -  add esp,10
""+2182FB94: 83 EC 08           -  sub esp,08
""+2182FB97: 50                 -  push eax
""+2182FB98: FF B5 D4 FE FF FF  -  push [ebp-0000012C]
""+2182FB9E: 8B 85 D4 FE FF FF  -  mov eax,[ebp-0000012C]
""+2182FBA4: 39 00              -  cmp [eax],eax
""+2182FBA6: E8 75 4A 2C FD     -  call 1EAF4620
""+2182FBAB: 83 C4 10           -  add esp,10
// ---------- INJECTING HERE ----------
""+2182FBAE: 8B 46 30           -  mov eax,[esi+30]
""+2182FBB1: 85 C0              -  test eax,eax
// ---------- DONE INJECTING  ----------
""+2182FBB3: 0F 85 92 00 00 00  -  jne 2182FC4B
""+2182FBB9: 83 EC 0C           -  sub esp,0C
""+2182FBBC: 56                 -  push esi
""+2182FBBD: 39 36              -  cmp [esi],esi
""+2182FBBF: E8 1C DB FF FF     -  call 2182D6E0
""+2182FBC4: 83 C4 10           -  add esp,10
""+2182FBC7: 89 85 EC FD FF FF  -  mov [ebp-00000214],eax
""+2182FBCD: 83 EC 0C           -  sub esp,0C
""+2182FBD0: 56                 -  push esi
""+2182FBD1: 39 36              -  cmp [esi],esi
}

 

Урон+100:

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-13
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(ATTACK,8B 4E 2C 03 C1 89 85 1C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp byte ptr [esi+29],01
  jne code
  mov [esi+2C],#100
code:
  mov ecx,[esi+2C]
  add eax,ecx
  jmp return

ATTACK:
  jmp newmem
return:
registersymbol(ATTACK)

[DISABLE]

ATTACK:
  db 8B 4E 2C 03 C1

unregistersymbol(ATTACK)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 06F627D5

""+6F627B1: FF B5 E0 FE FF FF  -  push [ebp-00000120]
""+6F627B7: 8B 85 E0 FE FF FF  -  mov eax,[ebp-00000120]
""+6F627BD: 39 00              -  cmp [eax],eax
""+6F627BF: E8 1C 1C 95 0E     -  call 158B43E0
""+6F627C4: 83 C4 10           -  add esp,10
""+6F627C7: 83 EC 0C           -  sub esp,0C
""+6F627CA: 56                 -  push esi
""+6F627CB: 39 36              -  cmp [esi],esi
""+6F627CD: E8 DE 15 00 00     -  call 06F63DB0
""+6F627D2: 83 C4 10           -  add esp,10
// ---------- INJECTING HERE ----------
""+6F627D5: 8B 4E 2C           -  mov ecx,[esi+2C]
""+6F627D8: 03 C1              -  add eax,ecx
// ---------- DONE INJECTING  ----------
""+6F627DA: 89 85 1C FE FF FF  -  mov [ebp-000001E4],eax
""+6F627E0: 8D 85 1C FE FF FF  -  lea eax,[ebp-000001E4]
""+6F627E6: 83 EC 0C           -  sub esp,0C
""+6F627E9: 50                 -  push eax
""+6F627EA: E8 E9 74 8E FF     -  call 06849CD8
""+6F627EF: 83 C4 10           -  add esp,10
""+6F627F2: 83 EC 08           -  sub esp,08
""+6F627F5: 50                 -  push eax
""+6F627F6: FF B5 DC FE FF FF  -  push [ebp-00000124]
""+6F627FC: 8B 85 DC FE FF FF  -  mov eax,[ebp-00000124]
}

 

Выставление карт за ход (Активируется после установки первой карты):

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-14
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECTq,8B 43 18 85 C0 0F 85 43) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [ebx+18],#1
code:
  mov eax,[ebx+18]
  test eax,eax
  jmp return

INJECTq:
  jmp newmem
return:
registersymbol(INJECTq)

[DISABLE]

INJECTq:
  db 8B 43 18 85 C0

unregistersymbol(INJECTq)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 0737AEA4

""+737AE87: 74 1B              -  je 0737AEA4
""+737AE89: 8B 43 18           -  mov eax,[ebx+18]
""+737AE8C: 48                 -  dec eax
""+737AE8D: 89 43 18           -  mov [ebx+18],eax
""+737AE90: 8B 05 30 B2 5C 06  -  mov eax,[065CB230]
""+737AE96: 83 EC 0C           -  sub esp,0C
""+737AE99: 50                 -  push eax
""+737AE9A: 39 00              -  cmp [eax],eax
""+737AE9C: E8 E7 06 00 00     -  call 0737B588
""+737AEA1: 83 C4 10           -  add esp,10
// ---------- INJECTING HERE ----------
""+737AEA4: 8B 43 18           -  mov eax,[ebx+18]
""+737AEA7: 85 C0              -  test eax,eax
// ---------- DONE INJECTING  ----------
""+737AEA9: 0F 85 43 00 00 00  -  jne 0737AEF2
""+737AEAF: 83 EC 08           -  sub esp,08
""+737AEB2: 6A 00              -  push 00
""+737AEB4: 53                 -  push ebx
""+737AEB5: E8 6E 75 FF FF     -  call 07372428
""+737AEBA: 83 C4 10           -  add esp,10
""+737AEBD: 85 C0              -  test eax,eax
""+737AEBF: 75 14              -  jne 0737AED5
""+737AEC1: 83 EC 08           -  sub esp,08
""+737AEC4: 6A 01              -  push 01
}

 

 Общие - Игровые скрипты:

Все ресурсы на 100, - лимит веса, - лимит обмундирования:

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-11
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(WSE,8B 40 5C 8B 4E 0C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [eax+5C],#0
  mov [esi+0C],#100
code:
  mov eax,[eax+5C]
  mov ecx,[esi+0C]
  jmp return

WSE:
  jmp newmem
  nop
return:
registersymbol(WSE)

[DISABLE]

WSE:
  db 8B 40 5C 8B 4E 0C

unregistersymbol(WSE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 30E00D0C

""+30E00CEC: 8B 45 A4              -  mov eax,[ebp-5C]
""+30E00CEF: 8B 00                 -  mov eax,[eax]
""+30E00CF1: 8B 00                 -  mov eax,[eax]
""+30E00CF3: 8B 40 08              -  mov eax,[eax+08]
""+30E00CF6: 8B 40 10              -  mov eax,[eax+10]
""+30E00CF9: 3D 00 1D C5 10        -  cmp eax,10C51D00
""+30E00CFE: 74 09                 -  je 30E00D09
""+30E00D00: C7 45 A0 00 00 00 00  -  mov [ebp-60],00000000
""+30E00D07: EB 00                 -  jmp 30E00D09
""+30E00D09: 8B 45 A0              -  mov eax,[ebp-60]
// ---------- INJECTING HERE ----------
""+30E00D0C: 8B 40 5C              -  mov eax,[eax+5C]
""+30E00D0F: 8B 4E 0C              -  mov ecx,[esi+0C]
// ---------- DONE INJECTING  ----------
""+30E00D12: 0F AF C1              -  imul eax,ecx
""+30E00D15: 50                    -  push eax
""+30E00D16: DB 04 24              -  fild dword ptr [esp]
""+30E00D19: D9 1C 24              -  fstp dword ptr [esp]
""+30E00D1C: D9 04 24              -  fld dword ptr [esp]
""+30E00D1F: 83 C4 04              -  add esp,04
""+30E00D22: DD 45 A8              -  fld qword ptr [ebp-58]
""+30E00D25: D9 C9                 -  fxch st(1)
""+30E00D27: DE C1                 -  faddp 
""+30E00D29: D9 5D B0              -  fstp dword ptr [ebp-50]
}

 

Очки исследования:

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-11
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(UPGRADE,8B 40 44 89 45 94) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [eax+44],100
code:
  mov eax,[eax+44]
  mov [ebp-6C],eax
  jmp return

UPGRADE:
  jmp newmem
  nop
return:
registersymbol(UPGRADE)

[DISABLE]

UPGRADE:
  db 8B 40 44 89 45 94

unregistersymbol(UPGRADE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 34D07AFE

""+34D07ACD: 56                    -  push esi
""+34D07ACE: 83 EC 7C              -  sub esp,7C
""+34D07AD1: C7 45 A0 00 00 00 00  -  mov [ebp-60],00000000
""+34D07AD8: C7 45 A4 00 00 00 00  -  mov [ebp-5C],00000000
""+34D07ADF: C7 45 A8 00 00 00 00  -  mov [ebp-58],00000000
""+34D07AE6: C7 45 AC 00 00 00 00  -  mov [ebp-54],00000000
""+34D07AED: C7 45 B0 00 00 00 00  -  mov [ebp-50],00000000
""+34D07AF4: D9 EE                 -  fldz 
""+34D07AF6: D9 5D E4              -  fstp dword ptr [ebp-1C]
""+34D07AF9: E8 BA C7 20 E9        -  call 1DF142B8
// ---------- INJECTING HERE ----------
""+34D07AFE: 8B 40 44              -  mov eax,[eax+44]
""+34D07B01: 89 45 94              -  mov [ebp-6C],eax
// ---------- DONE INJECTING  ----------
""+34D07B04: 83 EC 0C              -  sub esp,0C
""+34D07B07: 68 90 34 21 1B        -  push 1B213490
""+34D07B0C: E8 97 90 86 D1        -  call 06570BA8
""+34D07B11: 83 C4 10              -  add esp,10
""+34D07B14: 8B F8                 -  mov edi,eax
""+34D07B16: 8B 45 08              -  mov eax,[ebp+08]
""+34D07B19: 8B 40 24              -  mov eax,[eax+24]
""+34D07B1C: 8D 4D A0              -  lea ecx,[ebp-60]
""+34D07B1F: 83 EC 08              -  sub esp,08
""+34D07B22: 50                    -  push eax
}

 

Бесконечные ходы отряда:

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-09
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(HODE,8B 40 54 85 C0 7C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [eax+54],#5
code:
  mov eax,[eax+54]
  test eax,eax
  jmp return

HODE:
  jmp newmem
return:
registersymbol(HODE)

[DISABLE]

HODE:
  db 8B 40 54 85 C0

unregistersymbol(HODE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 15C9C02A

""+15C9C016: 0E                 -  push cs
""+15C9C017: 40                 -  inc eax
""+15C9C018: C0 F0 00           -  rol al,00
""+15C9C01B: 00 00              -  add [eax],al
""+15C9C01D: 00 00              -  add [eax],al
""+15C9C01F: 00 55 8B           -  add [ebp-75],dl
""+15C9C022: EC                 -  in al,dx
""+15C9C023: 56                 -  push esi
""+15C9C024: 83 EC 04           -  sub esp,04
""+15C9C027: 8B 45 08           -  mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
""+15C9C02A: 8B 40 54           -  mov eax,[eax+54]
""+15C9C02D: 85 C0              -  test eax,eax
// ---------- DONE INJECTING  ----------
""+15C9C02F: 7C 12              -  jl 15C9C043
""+15C9C031: 83 EC 0C           -  sub esp,0C
""+15C9C034: FF 75 08           -  push [ebp+08]
""+15C9C037: E8 2C 00 00 00     -  call 15C9C068
""+15C9C03C: 83 C4 10           -  add esp,10
""+15C9C03F: 85 C0              -  test eax,eax
""+15C9C041: 74 08              -  je 15C9C04B
""+15C9C043: 8B 45 08           -  mov eax,[ebp+08]
""+15C9C046: 8B 70 54           -  mov esi,[eax+54]
""+15C9C049: EB 02              -  jmp 15C9C04D
}

 

Опыт - Максимальный опыт божества:

Скрытый текст

{ Game   : Thea.exe
  Version: 
  Date   : 2017-06-14
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECTff,8B 40 54 89 85 14 FF FF FF) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
 cmp [eax+54],#10000
 JGE code
 mov [eax+54],#10000
code:
  mov eax,[eax+54]
  mov [ebp-000000EC],eax
  jmp return

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

[DISABLE]

INJECTff:
  db 8B 40 54 89 85 14 FF FF FF

unregistersymbol(INJECTff)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 06B2E3ED

""+6B2E3BE: FF B5 F4 FE FF FF  -  push [ebp-0000010C]
""+6B2E3C4: 8B 85 F4 FE FF FF  -  mov eax,[ebp-0000010C]
""+6B2E3CA: 39 00              -  cmp [eax],eax
""+6B2E3CC: E8 BF A1 80 FF     -  call 06338590
""+6B2E3D1: 83 C4 10           -  add esp,10
""+6B2E3D4: 8B 85 1C FF FF FF  -  mov eax,[ebp-000000E4]
""+6B2E3DA: 8B 8D 18 FF FF FF  -  mov ecx,[ebp-000000E8]
""+6B2E3E0: 03 C1              -  add eax,ecx
""+6B2E3E2: 89 85 1C FF FF FF  -  mov [ebp-000000E4],eax
""+6B2E3E8: E8 1B 68 BE 0E     -  call 15714C08
// ---------- INJECTING HERE ----------
""+6B2E3ED: 8B 40 54           -  mov eax,[eax+54]
""+6B2E3F0: 89 85 14 FF FF FF  -  mov [ebp-000000EC],eax
// ---------- DONE INJECTING  ----------
""+6B2E3F6: B9 32 00 00 00     -  mov ecx,00000032
""+6B2E3FB: 99                 -  cdq 
""+6B2E3FC: F7 F9              -  idiv ecx
""+6B2E3FE: 8D 04 80           -  lea eax,[eax+eax*4]
""+6B2E401: 03 C0              -  add eax,eax
""+6B2E403: 89 85 18 FF FF FF  -  mov [ebp-000000E8],eax
""+6B2E409: 8D 85 14 FF FF FF  -  lea eax,[ebp-000000EC]
""+6B2E40F: 83 EC 0C           -  sub esp,0C
""+6B2E412: 50                 -  push eax
""+6B2E413: E8 C0 B8 88 FF     -  call 063B9CD8
}

 

Все скрипты сделаны для версии Thea: The Awakening 1.20.2516.0

Огромная благодарность всем кто помогал.B)

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

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

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

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