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

Fallout2 (Accuracy - 95 %; Distance defeat MAX and No reload).


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

Темы связанные с табличкой:

1. Fallout 2 100 % шанс воровства. ( 100% Theft)

2. Fallout 2 min max inventory weight GG

4. Fallout Illumination items (Пишем скрипт - подсветка предметов.)

Пишем скрипты:
1. Точность "Accuracy   95 %".

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

{ Game   : FALLOUT2.EXE
  Version: 
  Date   : 2016-07-06
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
{$LUA}
PlaySound(findTableFile([[Activate]]))
{$ASM}
aobscanmodule(accuracy,DDRAW.dll,60 6A 00 E8 23 00 00 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(accuracy)

newmem:
  mov eax,#95
  mov [DDRAW.dll+59E68],eax

code:
  pushad 
  push 00
  call DDRAW.dll+30D30
  jmp return

accuracy:
  jmp newmem
  db 90 90 90
return:

[DISABLE]
{$LUA}
PlaySound(findTableFile([[Deactivate]]))
{$ASM}
accuracy:
  db 60 6A 00 E8 23 00 00 00

unregistersymbol(accuracy)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "DDRAW.dll"+30D05

"DDRAW.dll"+30CD1: E8 7A 01 00 00                 -  call DDRAW.dll+30E50
"DDRAW.dll"+30CD6: 61                             -  popad 
"DDRAW.dll"+30CD7: C7 05 8C 9F 35 02 04 00 00 00  -  mov [DDRAW.dll+59F8C],00000004
"DDRAW.dll"+30CE1: A3 6C 9E 35 02                 -  mov [DDRAW.dll+59E6C],eax
"DDRAW.dll"+30CE6: 89 1D 70 9E 35 02              -  mov [DDRAW.dll+59E70],ebx
"DDRAW.dll"+30CEC: 89 0D 74 9E 35 02              -  mov [DDRAW.dll+59E74],ecx
"DDRAW.dll"+30CF2: FF 74 24 08                    -  push [esp+08]
"DDRAW.dll"+30CF6: FF 74 24 08                    -  push [esp+08]
"DDRAW.dll"+30CFA: FF 15 10 FA 34 02              -  call dword ptr [DDRAW.dll+4FA10]
"DDRAW.dll"+30D00: A3 68 9E 35 02                 -  mov [DDRAW.dll+59E68],eax
// ---------- INJECTING HERE ----------
"DDRAW.dll"+30D05: 60                             -  pushad 
"DDRAW.dll"+30D06: 6A 00                          -  push 00
"DDRAW.dll"+30D08: E8 23 00 00 00                 -  call DDRAW.dll+30D30
// ---------- DONE INJECTING  ----------
"DDRAW.dll"+30D0D: 61                             -  popad 
"DDRAW.dll"+30D0E: 83 3D 60 9E 35 02 01           -  cmp dword ptr [DDRAW.dll+59E60],01
"DDRAW.dll"+30D15: 7C 05                          -  jl DDRAW.dll+30D1C
"DDRAW.dll"+30D17: A1 20 9E 35 02                 -  mov eax,[DDRAW.dll+59E20]
"DDRAW.dll"+30D1C: 60                             -  pushad 
"DDRAW.dll"+30D1D: E8 BE 00 00 00                 -  call DDRAW.dll+30DE0
"DDRAW.dll"+30D22: 61                             -  popad 
"DDRAW.dll"+30D23: C2 08 00                       -  ret 0008
"DDRAW.dll"+30D26: CC                             -  int 3 
"DDRAW.dll"+30D27: CC                             -  int 3 
}

 


2. Дистанция поражения "Distance defeat   MAX".

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

{ Game   : FALLOUT2.EXE
  Version: 
  Date   : 2016-07-06
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
{$LUA}
PlaySound(findTableFile([[Activate]]))
{$ASM}
aobscanmodule(Distance,FALLOUT2.EXE,8B 34 24 8B 76 34) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Distance)

newmem:

code:
  mov esi,[esp]
  mov esi,#200
  jmp return

Distance:
  jmp newmem
  db 90
return:

[DISABLE]
{$LUA}
PlaySound(findTableFile([[Deactivate]]))
{$ASM}
Distance:
  db 8B 34 24 8B 76 34

unregistersymbol(Distance)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+78A9C

"FALLOUT2.EXE"+78A7A: E9 7D 00 00 00           -  jmp FALLOUT2.EXE+78AFC
"FALLOUT2.EXE"+78A7F: B8 02 00 00 00           -  mov eax,00000002
"FALLOUT2.EXE"+78A84: E9 73 00 00 00           -  jmp FALLOUT2.EXE+78AFC
"FALLOUT2.EXE"+78A89: 89 E2                    -  mov edx,esp
"FALLOUT2.EXE"+78A8B: 8B 47 64                 -  mov eax,[edi+64]
"FALLOUT2.EXE"+78A8E: E8 75 96 02 00           -  call FALLOUT2.EXE+A2108
"FALLOUT2.EXE"+78A93: 85 DB                    -  test ebx,ebx
"FALLOUT2.EXE"+78A95: 74 05                    -  je FALLOUT2.EXE+78A9C
"FALLOUT2.EXE"+78A97: 83 FB 02                 -  cmp ebx,02
"FALLOUT2.EXE"+78A9A: 75 08                    -  jne FALLOUT2.EXE+78AA4
// ---------- INJECTING HERE ----------
"FALLOUT2.EXE"+78A9C: 8B 34 24                 -  mov esi,[esp]
"FALLOUT2.EXE"+78A9F: 8B 76 34                 -  mov esi,[esi+34]
// ---------- DONE INJECTING  ----------
"FALLOUT2.EXE"+78AA2: EB 06                    -  jmp FALLOUT2.EXE+78AAA
"FALLOUT2.EXE"+78AA4: 8B 34 24                 -  mov esi,[esp]
"FALLOUT2.EXE"+78AA7: 8B 76 38                 -  mov esi,[esi+38]
"FALLOUT2.EXE"+78AAA: 89 DA                    -  mov edx,ebx
"FALLOUT2.EXE"+78AAC: 89 F8                    -  mov eax,edi
"FALLOUT2.EXE"+78AAE: E8 CD F7 FF FF           -  call FALLOUT2.EXE+78280
"FALLOUT2.EXE"+78AB3: 83 F8 03                 -  cmp eax,03
"FALLOUT2.EXE"+78AB6: 75 42                    -  jne FALLOUT2.EXE+78AFA
"FALLOUT2.EXE"+78AB8: 8B 15 B8 10 66 00        -  mov edx,[FALLOUT2.EXE+2610B8]
"FALLOUT2.EXE"+78ABE: 39 D1                    -  cmp ecx,edx
}

 


3. Без перезарядки оружия - "No reload".

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

{ Game   : FALLOUT2.EXE
  Version: 
  Date   : 2016-07-06
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
{$LUA}
PlaySound(findTableFile([[Activate]]))
{$ASM}
aobscanmodule(Ammo,FALLOUT2.EXE,89 4B 3C 83 C4 08) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Ammo)

newmem:
  cmp ecx,[ebx+3C]
  ja code
  mov ecx,[ebx+3C]

code:
  mov [ebx+3C],ecx
  add esp,08
  jmp return

Ammo:
  jmp newmem
  db 90
return:

[DISABLE]
{$LUA}
PlaySound(findTableFile([[Deactivate]]))
{$ASM}
Ammo:
  db 89 4B 3C 83 C4 08

unregistersymbol(Ammo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+7875E

"FALLOUT2.EXE"+78743: 7E 02                 -  jle FALLOUT2.EXE+78747
"FALLOUT2.EXE"+78745: 89 C1                 -  mov ecx,eax
"FALLOUT2.EXE"+78747: 85 C9                 -  test ecx,ecx
"FALLOUT2.EXE"+78749: 7D 02                 -  jnl FALLOUT2.EXE+7874D
"FALLOUT2.EXE"+7874B: 31 C9                 -  xor ecx,ecx
"FALLOUT2.EXE"+7874D: 89 E2                 -  mov edx,esp
"FALLOUT2.EXE"+7874F: 8B 43 64              -  mov eax,[ebx+64]
"FALLOUT2.EXE"+78752: E8 B1 99 02 00        -  call FALLOUT2.EXE+A2108
"FALLOUT2.EXE"+78757: 8B 04 24              -  mov eax,[esp]
"FALLOUT2.EXE"+7875A: 83 78 20 04           -  cmp dword ptr [eax+20],04
// ---------- INJECTING HERE ----------
"FALLOUT2.EXE"+7875E: 89 4B 3C              -  mov [ebx+3C],ecx
"FALLOUT2.EXE"+78761: 83 C4 08              -  add esp,08
// ---------- DONE INJECTING  ----------
"FALLOUT2.EXE"+78764: 59                    -  pop ecx
"FALLOUT2.EXE"+78765: 5B                    -  pop ebx
"FALLOUT2.EXE"+78766: C3                    -  ret 
"FALLOUT2.EXE"+78767: 90                    -  nop 
"FALLOUT2.EXE"+78768: 53                    -  push ebx
"FALLOUT2.EXE"+78769: 51                    -  push ecx
"FALLOUT2.EXE"+7876A: 56                    -  push esi
"FALLOUT2.EXE"+7876B: 83 EC 08              -  sub esp,08
"FALLOUT2.EXE"+7876E: 89 C6                 -  mov esi,eax
"FALLOUT2.EXE"+78770: 89 D1                 -  mov ecx,edx
}

 

4. Скрипт "Chang object by ID" пока не дописан:

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

{ Game   : FALLOUT2.EXE
  Version: 
  Date   : 2016-07-06
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(object,FALLOUT2.EXE,8B 50 64 C1 EA 18 85 D2 74 0A) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(IDItem)
registersymbol(IDItem)
label(flag)
registersymbol(flag)
registersymbol(object)

newmem:
  mov edx,[eax+64]
  cmp [flag],1
  jne code
  mov [IDItem],edx
  mov [flag],0

code:
  shr edx,18
  jmp return

IDItem:
dd 0
flag:
dd 0

object:
  jmp newmem
  db 90
return:

[DISABLE]
object:
  db 8B 50 64 C1 EA 18

unregistersymbol(flag)
unregistersymbol(IDItem)
unregistersymbol(object)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+77B0E

"FALLOUT2.EXE"+77AF4: 8B 40 64           -  mov eax,[eax+64]
"FALLOUT2.EXE"+77AF7: E9 20 70 02 00     -  jmp FALLOUT2.EXE+9EB1C
"FALLOUT2.EXE"+77AFC: 52                 -  push edx
"FALLOUT2.EXE"+77AFD: 83 EC 04           -  sub esp,04
"FALLOUT2.EXE"+77B00: 85 C0              -  test eax,eax
"FALLOUT2.EXE"+77B02: 75 0A              -  jne FALLOUT2.EXE+77B0E
"FALLOUT2.EXE"+77B04: B8 05 00 00 00     -  mov eax,00000005
"FALLOUT2.EXE"+77B09: 83 C4 04           -  add esp,04
"FALLOUT2.EXE"+77B0C: 5A                 -  pop edx
"FALLOUT2.EXE"+77B0D: C3                 -  ret 
// ---------- INJECTING HERE ----------
"FALLOUT2.EXE"+77B0E: 8B 50 64           -  mov edx,[eax+64]
"FALLOUT2.EXE"+77B11: C1 EA 18           -  shr edx,18
// ---------- DONE INJECTING  ----------
"FALLOUT2.EXE"+77B14: 85 D2              -  test edx,edx
"FALLOUT2.EXE"+77B16: 74 0A              -  je FALLOUT2.EXE+77B22
"FALLOUT2.EXE"+77B18: B8 05 00 00 00     -  mov eax,00000005
"FALLOUT2.EXE"+77B1D: 83 C4 04           -  add esp,04
"FALLOUT2.EXE"+77B20: 5A                 -  pop edx
"FALLOUT2.EXE"+77B21: C3                 -  ret 
"FALLOUT2.EXE"+77B22: 8B 50 64           -  mov edx,[eax+64]
"FALLOUT2.EXE"+77B25: 81 FA 7F 01 00 00  -  cmp edx,0000017F
"FALLOUT2.EXE"+77B2B: EB 0A              -  jmp FALLOUT2.EXE+77B37
"FALLOUT2.EXE"+77B2D: B8 05 00 00 00     -  mov eax,00000005
}

 

Видео:

 

Сама табличка:

Табличку выложил в 4 теме. 

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

Дописал

4. Скрипт "Chang object by ID"

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

{ Game   : FALLOUT2.EXE
  Version: 
  Date   : 2016-07-06
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
{$LUA}
PlaySound(findTableFile([[Activate]]))
{$ASM}
aobscanmodule(object,FALLOUT2.EXE,8B 50 64 C1 EA 18 85 D2 74 0A) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(IDItem)
registersymbol(IDItem)
label(flag)
registersymbol(object)

newmem:
  cmp [flag],1
  jne code
  mov [IDItem],eax
  mov [flag],0

code:
  mov edx,[eax+64]
  shr edx,18
  jmp return

IDItem:
dd 0
flag:
dd 1

object:
  jmp newmem
  db 90
return:

[DISABLE]
{$LUA}
PlaySound(findTableFile([[Deactivate]]))
{$ASM}
object:
  db 8B 50 64 C1 EA 18

unregistersymbol(IDItem)
unregistersymbol(object)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+77B0E

"FALLOUT2.EXE"+77AF4: 8B 40 64           -  mov eax,[eax+64]
"FALLOUT2.EXE"+77AF7: E9 20 70 02 00     -  jmp FALLOUT2.EXE+9EB1C
"FALLOUT2.EXE"+77AFC: 52                 -  push edx
"FALLOUT2.EXE"+77AFD: 83 EC 04           -  sub esp,04
"FALLOUT2.EXE"+77B00: 85 C0              -  test eax,eax
"FALLOUT2.EXE"+77B02: 75 0A              -  jne FALLOUT2.EXE+77B0E
"FALLOUT2.EXE"+77B04: B8 05 00 00 00     -  mov eax,00000005
"FALLOUT2.EXE"+77B09: 83 C4 04           -  add esp,04
"FALLOUT2.EXE"+77B0C: 5A                 -  pop edx
"FALLOUT2.EXE"+77B0D: C3                 -  ret 
// ---------- INJECTING HERE ----------
"FALLOUT2.EXE"+77B0E: 8B 50 64           -  mov edx,[eax+64]
"FALLOUT2.EXE"+77B11: C1 EA 18           -  shr edx,18
// ---------- DONE INJECTING  ----------
"FALLOUT2.EXE"+77B14: 85 D2              -  test edx,edx
"FALLOUT2.EXE"+77B16: 74 0A              -  je FALLOUT2.EXE+77B22
"FALLOUT2.EXE"+77B18: B8 05 00 00 00     -  mov eax,00000005
"FALLOUT2.EXE"+77B1D: 83 C4 04           -  add esp,04
"FALLOUT2.EXE"+77B20: 5A                 -  pop edx
"FALLOUT2.EXE"+77B21: C3                 -  ret 
"FALLOUT2.EXE"+77B22: 8B 50 64           -  mov edx,[eax+64]
"FALLOUT2.EXE"+77B25: 81 FA 7F 01 00 00  -  cmp edx,0000017F
"FALLOUT2.EXE"+77B2B: EB 0A              -  jmp FALLOUT2.EXE+77B37
"FALLOUT2.EXE"+77B2D: B8 05 00 00 00     -  mov eax,00000005
}

 

Видео:

 

Сама табличка

Табличку выложил в 4 теме. 

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

Добавил опцию просмотра всех предметов в игре + начал писать аналогичные скрипты и для Fallout 1.

4. Скрипт "Chang object by ID"

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

{ Game   : FALLOUT2.EXE
  Version: 
  Date   : 2016-07-06
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
{$LUA}
PlaySound(findTableFile([[Activate]]))
{$ASM}
aobscanmodule(object,FALLOUT2.EXE,8B 50 64 C1 EA 18 85 D2 74 0A) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(IDItem)
registersymbol(IDItem)
label(flag)
label(flag1)
registersymbol(flag1)
registersymbol(object)

newmem:
  cmp [flag1],0
  jne @f
  cmp [flag],1
  jne code
  mov [IDItem],eax
  mov [flag],0
  jmp code

@@:
  cmp [flag1],7
  jne @f
  mov edx,[IDItem]
  inc [edx+64]
  mov [flag1],0
  cmp [edx+64],#597
  jne @f
  mov [edx+64],1

@@:
  inc [flag1]

code:
  mov edx,[eax+64]
  shr edx,18
  jmp return

IDItem:
dd 0
flag:
dd 1
flag1:
dd 0

object:
  jmp newmem
  db 90
return:

[DISABLE]
{$LUA}
PlaySound(findTableFile([[Deactivate]]))
{$ASM}
object:
  db 8B 50 64 C1 EA 18

unregistersymbol(flag1)
unregistersymbol(IDItem)
unregistersymbol(object)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+77B0E

"FALLOUT2.EXE"+77AF4: 8B 40 64           -  mov eax,[eax+64]
"FALLOUT2.EXE"+77AF7: E9 20 70 02 00     -  jmp FALLOUT2.EXE+9EB1C
"FALLOUT2.EXE"+77AFC: 52                 -  push edx
"FALLOUT2.EXE"+77AFD: 83 EC 04           -  sub esp,04
"FALLOUT2.EXE"+77B00: 85 C0              -  test eax,eax
"FALLOUT2.EXE"+77B02: 75 0A              -  jne FALLOUT2.EXE+77B0E
"FALLOUT2.EXE"+77B04: B8 05 00 00 00     -  mov eax,00000005
"FALLOUT2.EXE"+77B09: 83 C4 04           -  add esp,04
"FALLOUT2.EXE"+77B0C: 5A                 -  pop edx
"FALLOUT2.EXE"+77B0D: C3                 -  ret 
// ---------- INJECTING HERE ----------
"FALLOUT2.EXE"+77B0E: 8B 50 64           -  mov edx,[eax+64]
"FALLOUT2.EXE"+77B11: C1 EA 18           -  shr edx,18
// ---------- DONE INJECTING  ----------
"FALLOUT2.EXE"+77B14: 85 D2              -  test edx,edx
"FALLOUT2.EXE"+77B16: 74 0A              -  je FALLOUT2.EXE+77B22
"FALLOUT2.EXE"+77B18: B8 05 00 00 00     -  mov eax,00000005
"FALLOUT2.EXE"+77B1D: 83 C4 04           -  add esp,04
"FALLOUT2.EXE"+77B20: 5A                 -  pop edx
"FALLOUT2.EXE"+77B21: C3                 -  ret 
"FALLOUT2.EXE"+77B22: 8B 50 64           -  mov edx,[eax+64]
"FALLOUT2.EXE"+77B25: 81 FA 7F 01 00 00  -  cmp edx,0000017F
"FALLOUT2.EXE"+77B2B: EB 0A              -  jmp FALLOUT2.EXE+77B37
"FALLOUT2.EXE"+77B2D: B8 05 00 00 00     -  mov eax,00000005
}

 

Видео:

 

 

Сама табличка:

ТТабличку выложил в 4 теме. 

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

Дописал скрипт "Accuracy - 95 %" и для Fallout 1:

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

{ Game   : Falloutw.exe
  Version: 
  Date   : 2016-07-10
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
{$LUA}
PlaySound(findTableFile([[Activate]]))
{$ASM}
aobscanmodule(Accuracy,Falloutw.exe,89 F0 83 C4 18) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Accuracy)

newmem:
  mov esi,#95

code:
  mov eax,esi
  add esp,18
  jmp return

Accuracy:
  jmp newmem
return:

[DISABLE]
{$LUA}
PlaySound(findTableFile([[Deactivate]]))
{$ASM}
Accuracy:
  db 89 F0 83 C4 18

unregistersymbol(Accuracy)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Falloutw.exe"+2228A

"Falloutw.exe"+22269: 75 03              -  jne Falloutw.exe+2226E
"Falloutw.exe"+2226B: 83 C6 14           -  add esi,14
"Falloutw.exe"+2226E: 83 FE 5F           -  cmp esi,5F
"Falloutw.exe"+22271: 7E 05              -  jle Falloutw.exe+22278
"Falloutw.exe"+22273: BE 5F 00 00 00     -  mov esi,0000005F
"Falloutw.exe"+22278: 83 FE 9C           -  cmp esi,-64
"Falloutw.exe"+2227B: 7D 0D              -  jnl Falloutw.exe+2228A
"Falloutw.exe"+2227D: 68 3C 0A 4F 00     -  push Falloutw.exe+F0A3C
"Falloutw.exe"+22282: E8 B1 12 09 00     -  call Falloutw.exe+B3538
"Falloutw.exe"+22287: 83 C4 04           -  add esp,04
// ---------- INJECTING HERE ----------
"Falloutw.exe"+2228A: 89 F0              -  mov eax,esi
"Falloutw.exe"+2228C: 83 C4 18           -  add esp,18
// ---------- DONE INJECTING  ----------
"Falloutw.exe"+2228F: 5D                 -  pop ebp
"Falloutw.exe"+22290: 5F                 -  pop edi
"Falloutw.exe"+22291: 5E                 -  pop esi
"Falloutw.exe"+22292: C2 04 00           -  ret 0004
"Falloutw.exe"+22295: 8D 40 00           -  lea eax,[eax+00]
"Falloutw.exe"+22298: 51                 -  push ecx
"Falloutw.exe"+22299: 56                 -  push esi
"Falloutw.exe"+2229A: 57                 -  push edi
"Falloutw.exe"+2229B: 55                 -  push ebp
"Falloutw.exe"+2229C: 83 EC 28           -  sub esp,28
}

 

 Видео:

 

Табличка:

Табличку выложил в 4 теме. 

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

  • 4 недели спустя...
×
×
  • Создать...

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

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