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

Пример реализации трейнера с вариациями одной и той же опции


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

Скрипты:

"God Mod":

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

{ Game   : DARKSOULS.exe
  Version: 
  Date   : 2016-11-29
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod1,DARKSOULS.exe,89 85 D4 02 00 00 83) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod1)

newmem:
  cmp [ebp+54],0
  jne code
  mov eax,[ebp+000002D8]

code:
  mov [ebp+000002D4],eax
  jmp return

GodMod1:
  jmp newmem
  db 90
return:

[DISABLE]
GodMod1:
  db 89 85 D4 02 00 00

unregistersymbol(GodMod1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "DARKSOULS.exe"+A6891D

"DARKSOULS.exe"+A688FB: C7 44 24 08 00 00 00 00  -  mov [esp+08],00000000
"DARKSOULS.exe"+A68903: 8D 85 D8 02 00 00        -  lea eax,[ebp+000002D8]
"DARKSOULS.exe"+A68909: 85 C9                    -  test ecx,ecx
"DARKSOULS.exe"+A6890B: 7D 06                    -  jnl DARKSOULS.exe+A68913
"DARKSOULS.exe"+A6890D: 8D 44 24 08              -  lea eax,[esp+08]
"DARKSOULS.exe"+A68911: EB 08                    -  jmp DARKSOULS.exe+A6891B
"DARKSOULS.exe"+A68913: 3B 08                    -  cmp ecx,[eax]
"DARKSOULS.exe"+A68915: 7F 04                    -  jg DARKSOULS.exe+A6891B
"DARKSOULS.exe"+A68917: 8D 44 24 0C              -  lea eax,[esp+0C]
"DARKSOULS.exe"+A6891B: 8B 00                    -  mov eax,[eax]
// ---------- INJECTING HERE ----------
"DARKSOULS.exe"+A6891D: 89 85 D4 02 00 00        -  mov [ebp+000002D4],eax
// ---------- DONE INJECTING  ----------
"DARKSOULS.exe"+A68923: 83 BD D4 02 00 00 00     -  cmp dword ptr [ebp+000002D4],00
"DARKSOULS.exe"+A6892A: 7F 6C                    -  jg DARKSOULS.exe+A68998
"DARKSOULS.exe"+A6892C: 8B 4D 28                 -  mov ecx,[ebp+28]
"DARKSOULS.exe"+A6892F: 8B 41 2C                 -  mov eax,[ecx+2C]
"DARKSOULS.exe"+A68932: 53                       -  push ebx
"DARKSOULS.exe"+A68933: 8A 9D FF 01 00 00        -  mov bl,[ebp+000001FF]
"DARKSOULS.exe"+A68939: D0 EB                    -  shr bl,1
"DARKSOULS.exe"+A6893B: 80 E3 01                 -  and bl,01
"DARKSOULS.exe"+A6893E: 85 C0                    -  test eax,eax
"DARKSOULS.exe"+A68940: 74 0E                    -  je DARKSOULS.exe+A68950
}

 

"God Mod1":

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

{ Game   : DARKSOULS.exe
  Version: 
  Date   : 2016-11-29
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod1,DARKSOULS.exe,89 85 D4 02 00 00 83) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod1)

newmem:
  cmp [ebp+54],0
  jne code
  cmp eax,#10
  ja code
  mov eax,#10

code:
  mov [ebp+000002D4],eax
  jmp return

GodMod1:
  jmp newmem
  db 90
return:

[DISABLE]
GodMod1:
  db 89 85 D4 02 00 00

unregistersymbol(GodMod1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "DARKSOULS.exe"+A6891D

"DARKSOULS.exe"+A688FB: C7 44 24 08 00 00 00 00  -  mov [esp+08],00000000
"DARKSOULS.exe"+A68903: 8D 85 D8 02 00 00        -  lea eax,[ebp+000002D8]
"DARKSOULS.exe"+A68909: 85 C9                    -  test ecx,ecx
"DARKSOULS.exe"+A6890B: 7D 06                    -  jnl DARKSOULS.exe+A68913
"DARKSOULS.exe"+A6890D: 8D 44 24 08              -  lea eax,[esp+08]
"DARKSOULS.exe"+A68911: EB 08                    -  jmp DARKSOULS.exe+A6891B
"DARKSOULS.exe"+A68913: 3B 08                    -  cmp ecx,[eax]
"DARKSOULS.exe"+A68915: 7F 04                    -  jg DARKSOULS.exe+A6891B
"DARKSOULS.exe"+A68917: 8D 44 24 0C              -  lea eax,[esp+0C]
"DARKSOULS.exe"+A6891B: 8B 00                    -  mov eax,[eax]
// ---------- INJECTING HERE ----------
"DARKSOULS.exe"+A6891D: 89 85 D4 02 00 00        -  mov [ebp+000002D4],eax
// ---------- DONE INJECTING  ----------
"DARKSOULS.exe"+A68923: 83 BD D4 02 00 00 00     -  cmp dword ptr [ebp+000002D4],00
"DARKSOULS.exe"+A6892A: 7F 6C                    -  jg DARKSOULS.exe+A68998
"DARKSOULS.exe"+A6892C: 8B 4D 28                 -  mov ecx,[ebp+28]
"DARKSOULS.exe"+A6892F: 8B 41 2C                 -  mov eax,[ecx+2C]
"DARKSOULS.exe"+A68932: 53                       -  push ebx
"DARKSOULS.exe"+A68933: 8A 9D FF 01 00 00        -  mov bl,[ebp+000001FF]
"DARKSOULS.exe"+A68939: D0 EB                    -  shr bl,1
"DARKSOULS.exe"+A6893B: 80 E3 01                 -  and bl,01
"DARKSOULS.exe"+A6893E: 85 C0                    -  test eax,eax
"DARKSOULS.exe"+A68940: 74 0E                    -  je DARKSOULS.exe+A68950
}

 

LUA-скрипт:

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

memrec=getAddressList().getMemoryRecordByDescription("God Mod")
memrec1=getAddressList().getMemoryRecordByDescription("God Mod1")

function GodMod2()
  if memoryrecord_isActive(memrec) then
    memoryrecord_unfreeze(memrec)
    CETrainer.CELabel3.Caption = "OFF"
    CETrainer.CELabel3.Font.setColor(0x00000ff)
    PlaySound(findTableFile([[Deactivate]]))
  else
    memoryrecord_unfreeze(memrec1)
    sleep(100)
    memoryrecord_freeze(memrec)
    CETrainer.CELabel3.Caption = "ON"
    CETrainer.CELabel3.Font.setColor(0x0008000)
    CETrainer.CELabel4.Caption = "OFF"
    CETrainer.CELabel4.Font.setColor(0x00000ff)
    PlaySound(findTableFile([[Activate]]))
  end
end
createHotkey(GodMod2,VK_NUMPAD1)

function GodMod3()
  if memoryrecord_isActive(memrec1) then
    memoryrecord_unfreeze(memrec1)
    CETrainer.CELabel4.Caption = "OFF"
    CETrainer.CELabel4.Font.setColor(0x00000ff)
    PlaySound(findTableFile([[Deactivate]]))
  else
    memoryrecord_unfreeze(memrec)
    sleep(100)
    memoryrecord_freeze(memrec1)
    CETrainer.CELabel4.Caption = "ON"
    CETrainer.CELabel4.Font.setColor(0x0008000)
    CETrainer.CELabel3.Caption = "OFF"
    CETrainer.CELabel3.Font.setColor(0x00000ff)
    PlaySound(findTableFile([[Activate]]))
  end
end
createHotkey(GodMod3,VK_NUMPAD2)

 

 

Видео:

 

 

Таблица:

DARKSOULS777777.ct

 

Трейнер:

DS_GodMod_v1.01.EXE

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

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

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

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