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

Взлом ATOM RPG


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

Скрипты:

Infinite Move

Спойлер

{ Game   : AtomRPG_x64.exe
  Version: 
  Date   : 2019-01-07
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscan(move,89 87 AC 00 00 00 48 8B CF) // should be unique
alloc(newmem,$1000,235AE421C33)
label(code)
label(return)
label(move1)
registersymbol(move1)
registersymbol(move)

newmem:
  cmp [rdi+000000A0],1
  jne @f
  mov eax,#12
  jmp code

@@:
  cmp [move1],1
  jne code
  mov eax,0

code:
  mov [rdi+000000AC],eax
  jmp return

move1:
  dd 0

move:
  jmp newmem
  db 90
return:

[DISABLE]
move:
  db 89 87 AC 00 00 00

unregistersymbol(move1)
unregistersymbol(move)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 235AE421C33

235AE421C19: 00 00                          -  add [rax],al
235AE421C1B: 00 00                          -  add [rax],al
235AE421C1D: 00 00                          -  add [rax],al
235AE421C1F: 00 55 48                       -  add [rbp+48],dl
235AE421C22: 8B EC                          -  mov ebp,esp
235AE421C24: 57                             -  push rdi
235AE421C25: 48 83 EC 08                    -  sub rsp,08
235AE421C29: 48 8B F9                       -  mov rdi,rcx
235AE421C2C: 48 89 55 F0                    -  mov [rbp-10],rdx
235AE421C30: 48 8B C2                       -  mov rax,rdx
// ---------- INJECTING HERE ----------
235AE421C33: 89 87 AC 00 00 00              -  mov [rdi+000000AC],eax
// ---------- DONE INJECTING  ----------
235AE421C39: 48 8B CF                       -  mov rcx,rdi
235AE421C3C: 48 83 EC 20                    -  sub rsp,20
235AE421C40: 49 BB 90 1C 42 AE 35 02 00 00  -  mov r11,00000235AE421C90
235AE421C4A: 41 FF D3                       -  call r11d
235AE421C4D: 48 83 C4 20                    -  add rsp,20
235AE421C51: 48 8B 7D F8                    -  mov rdi,[rbp-08]
235AE421C55: C9                             -  leave 
235AE421C56: C3                             -  ret 
235AE421C57: 00 00                          -  add [rax],al
235AE421C59: 00 00                          -  add [rax],al
}

 

Move Enemy Zero

Спойлер

[ENABLE]
move1:
  dd 1

[DISABLE]
move1:
  dd 0

 

God Mode + One Hit Kill

Спойлер

{ Game   : AtomRPG_x64.exe
  Version: 
  Date   : 2019-01-07
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscan(God,89 87 B0 00 00 00 48 8B 7D) // should be unique
alloc(newmem,$1000,235AE49C545)
label(code)
label(return)
label(OHK)
registersymbol(OHK)
registersymbol(God)

newmem:
  cmp [rdi+000000A0],1
  jne @f
  mov eax,0
  jmp code

@@:
  cmp [OHK],1
  jne code
  mov eax,#10000

code:
  mov [rdi+000000B0],eax
  jmp return

OHK:
  dd 0

God:
  jmp newmem
  db 90
return:

[DISABLE]
God:
  db 89 87 B0 00 00 00

unregistersymbol(OHK)
unregistersymbol(God)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 235AE49C545

235AE49C519: 48 8B F9                       -  mov rdi,rcx
235AE49C51C: 48 89 55 F0                    -  mov [rbp-10],rdx
235AE49C520: 48 8B 87 90 00 00 00           -  mov rax,[rdi+00000090]
235AE49C527: 48 8B C8                       -  mov rcx,rax
235AE49C52A: 48 83 EC 20                    -  sub rsp,20
235AE49C52E: 83 38 00                       -  cmp dword ptr [rax],00
235AE49C531: 49 BB 00 8A 5A 9C 35 02 00 00  -  mov r11,000002359C5A8A00
235AE49C53B: 41 FF D3                       -  call r11d
235AE49C53E: 48 83 C4 20                    -  add rsp,20
235AE49C542: 2B 45 F0                       -  sub eax,[rbp-10]
// ---------- INJECTING HERE ----------
235AE49C545: 89 87 B0 00 00 00              -  mov [rdi+000000B0],eax
// ---------- DONE INJECTING  ----------
235AE49C54B: 48 8B 7D F8                    -  mov rdi,[rbp-08]
235AE49C54F: C9                             -  leave 
235AE49C550: C3                             -  ret 
235AE49C551: 00 00                          -  add [rax],al
235AE49C553: 00 00                          -  add [rax],al
235AE49C555: 00 00                          -  add [rax],al
235AE49C557: 00 00                          -  add [rax],al
235AE49C559: 00 00                          -  add [rax],al
235AE49C55B: 00 41 00                       -  add [rcx+00],al
235AE49C55E: 00 00                          -  add [rax],al
}

 

OHK

Спойлер

[ENABLE]
OHK:
  dd 1

[DISABLE]
OHK:
  dd 0

 

Видео:

табличка: здесь

 

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

Правим скрипты из первого видео:

Infinite Move

Спойлер

{ Game   : AtomRPG_x64.exe
  Version: 
  Date   : 2019-01-07
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscan(move,48 8B C2 89 87 AC 00 00 00 48 8B CF 48 83 EC 20) // should be unique
alloc(newmem,$1000,235AE421C33)
label(code)
label(return)
label(move1)
registersymbol(move1)
registersymbol(move)

newmem:
  mov rax,rdx
  cmp [rdi+000000A0],1
  jne @f
  cmp eax,0
  je code
  mov eax,#12
  jmp code

@@:
  cmp [move1],1
  jne code
  mov eax,0

code:
  mov [rdi+000000AC],eax
  mov rcx,rdi
  sub rsp,20
  mov rbx,return
  jmp rbx

move1:
  dd 0

move:
  push rbx
  mov rbx,newmem
  jmp rbx
  db 90 90
return:
  pop rbx

[DISABLE]
move:
  db 48 8B C2 89 87 AC 00 00 00 48 8B CF 48 83 EC 20

unregistersymbol(move1)
unregistersymbol(move)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 235AE421C33

235AE421C19: 00 00                          -  add [rax],al
235AE421C1B: 00 00                          -  add [rax],al
235AE421C1D: 00 00                          -  add [rax],al
235AE421C1F: 00 55 48                       -  add [rbp+48],dl
235AE421C22: 8B EC                          -  mov ebp,esp
235AE421C24: 57                             -  push rdi
235AE421C25: 48 83 EC 08                    -  sub rsp,08
235AE421C29: 48 8B F9                       -  mov rdi,rcx
235AE421C2C: 48 89 55 F0                    -  mov [rbp-10],rdx
235AE421C30: 48 8B C2                       -  mov rax,rdx
// ---------- INJECTING HERE ----------
235AE421C33: 89 87 AC 00 00 00              -  mov [rdi+000000AC],eax
// ---------- DONE INJECTING  ----------
235AE421C39: 48 8B CF                       -  mov rcx,rdi
235AE421C3C: 48 83 EC 20                    -  sub rsp,20
235AE421C40: 49 BB 90 1C 42 AE 35 02 00 00  -  mov r11,00000235AE421C90
235AE421C4A: 41 FF D3                       -  call r11d
235AE421C4D: 48 83 C4 20                    -  add rsp,20
235AE421C51: 48 8B 7D F8                    -  mov rdi,[rbp-08]
235AE421C55: C9                             -  leave 
235AE421C56: C3                             -  ret 
235AE421C57: 00 00                          -  add [rax],al
235AE421C59: 00 00                          -  add [rax],al
}

 

God Mode + One Hit Kill

Спойлер

{ Game   : AtomRPG_x64.exe
  Version: 
  Date   : 2019-01-07
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscan(God,48 83 C4 20 2B 45 F0 89 87 B0 00 00 00 48 8B 7D F8) // should be unique
alloc(newmem,$1000,235AE49C545)
label(code)
label(return)
label(OHK)
registersymbol(OHK)
registersymbol(God)

newmem:
  add rsp,20
  sub eax,[rbp-10]
  cmp [rdi+000000A0],1
  jne @f
  mov eax,0
  jmp code

@@:
  cmp [OHK],1
  jne code
  mov eax,#10000

code:
  mov [rdi+000000B0],eax
  mov rdi,[rbp-08]
  mov rbx,return
  jmp rbx

OHK:
  dd 0

God:
  push rbx
  mov rbx,newmem
  jmp rbx
  db 90 90 90
return:
  pop rbx

[DISABLE]
God:
  db 48 83 C4 20 2B 45 F0 89 87 B0 00 00 00 48 8B 7D F8

unregistersymbol(OHK)
unregistersymbol(God)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 235AE49C545

235AE49C519: 48 8B F9                       -  mov rdi,rcx
235AE49C51C: 48 89 55 F0                    -  mov [rbp-10],rdx
235AE49C520: 48 8B 87 90 00 00 00           -  mov rax,[rdi+00000090]
235AE49C527: 48 8B C8                       -  mov rcx,rax
235AE49C52A: 48 83 EC 20                    -  sub rsp,20
235AE49C52E: 83 38 00                       -  cmp dword ptr [rax],00
235AE49C531: 49 BB 00 8A 5A 9C 35 02 00 00  -  mov r11,000002359C5A8A00
235AE49C53B: 41 FF D3                       -  call r11d
235AE49C53E: 48 83 C4 20                    -  add rsp,20
235AE49C542: 2B 45 F0                       -  sub eax,[rbp-10]
// ---------- INJECTING HERE ----------
235AE49C545: 89 87 B0 00 00 00              -  mov [rdi+000000B0],eax
// ---------- DONE INJECTING  ----------
235AE49C54B: 48 8B 7D F8                    -  mov rdi,[rbp-08]
235AE49C54F: C9                             -  leave 
235AE49C550: C3                             -  ret 
235AE49C551: 00 00                          -  add [rax],al
235AE49C553: 00 00                          -  add [rax],al
235AE49C555: 00 00                          -  add [rax],al
235AE49C557: 00 00                          -  add [rax],al
235AE49C559: 00 00                          -  add [rax],al
235AE49C55B: 00 41 00                       -  add [rcx+00],al
235AE49C55E: 00 00                          -  add [rax],al
}

 

Видео: 

 

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

Скрипты

Weight Zero

Спойлер

{ Game   : AtomRPG_x64.exe
  Version: 
  Date   : 2019-01-08
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscan(Weight,89 48 20 C6 46 24 00) // should be unique
alloc(newmem,$1000,1B23BCD4E8A)
label(code)
label(return)
registersymbol(Weight)

newmem:
  mov ecx,0

code:
  mov [rax+20],ecx
  mov byte ptr [rsi+24],00
  movsxd  rax,dword ptr [rsi+20]
  mov rsi,[rbp-08]
  mov rbx,return
  jmp rbx

Weight:
  push rbx
  mov rbx,newmem
  jmp rbx
  db 90
return:
  pop rbx
[DISABLE]
Weight:
  db 89 48 20 C6 46 24 00 48 63 46 20 48 8B 75 F8

unregistersymbol(Weight)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1B23BCD4E8A

1B23BCD4E53: 48 B8 10 4D 6F 3B B2 01 00 00  -  mov rax,000001B23B6F4D10
1B23BCD4E5D: 48 8B 10                       -  mov rdx,[rax]
1B23BCD4E60: 49 BA 30 9C 7A 4D B2 01 00 00  -  mov r10,000001B24D7A9C30
1B23BCD4E6A: 48 8B 4D E8                    -  mov rcx,[rbp-18]
1B23BCD4E6E: 48 83 EC 20                    -  sub rsp,20
1B23BCD4E72: 49 BB D0 4E CD 3B B2 01 00 00  -  mov r11,000001B23BCD4ED0
1B23BCD4E7C: 41 FF D3                       -  call r11d
1B23BCD4E7F: 48 83 C4 20                    -  add rsp,20
1B23BCD4E83: 48 8B C8                       -  mov rcx,rax
1B23BCD4E86: 48 8B 45 F0                    -  mov rax,[rbp-10]
// ---------- INJECTING HERE ----------
1B23BCD4E8A: 89 48 20                       -  mov [rax+20],ecx
1B23BCD4E8D: C6 46 24 00                    -  mov byte ptr [rsi+24],00
// ---------- DONE INJECTING  ----------
1B23BCD4E91: 48 63 46 20                    -  movsxd  rax,dword ptr [rsi+20]
1B23BCD4E95: 48 8B 75 F8                    -  mov rsi,[rbp-08]
1B23BCD4E99: C9                             -  leave 
1B23BCD4E9A: C3                             -  ret 
1B23BCD4E9B: 00 00                          -  add [rax],al
1B23BCD4E9D: 00 00                          -  add [rax],al
1B23BCD4E9F: 00 00                          -  add [rax],al
1B23BCD4EA1: 00 00                          -  add [rax],al
1B23BCD4EA3: 00 DB                          -  add bl,bl
1B23BCD4EA5: 00 00                          -  add [rax],al
}

 

Quantity Selected Object

Спойлер

{ Game   : AtomRPG_x64.exe
  Version: 
  Date   : 2019-01-08
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscan(Quantity,48 63 40 30 83 F8 01 0F) // should be unique
alloc(newmem,$1000,Quantity)
label(code)
label(return)
label(P_Item)
registersymbol(P_Item)
registersymbol(Quantity)

newmem:
  mov qword ptr [P_Item],rax

code:
  movsxd  rax,dword ptr [rax+30]
  cmp eax,01
  jmp return

P_Item:
  dq (double)0

Quantity:
  jmp newmem
  db 90 90
return:

[DISABLE]
Quantity:
  db 48 63 40 30 83 F8 01

unregistersymbol(P_Item)
unregistersymbol(Quantity)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1B2092A77F3

1B2092A77C8: 48 83 C4 20                    -  add rsp,20
1B2092A77CC: 49 8B 4F 20                    -  mov rcx,[r15+20]
1B2092A77D0: 33 D2                          -  xor edx,edx
1B2092A77D2: 48 83 EC 20                    -  sub rsp,20
1B2092A77D6: 49 BB 10 CE C3 3B B2 01 00 00  -  mov r11,000001B23BC3CE10
1B2092A77E0: 41 FF D3                       -  call r11d
1B2092A77E3: 48 83 C4 20                    -  add rsp,20
1B2092A77E7: 85 C0                          -  test eax,eax
1B2092A77E9: 0F 84 B1 00 00 00              -  je 1B2092A78A0
1B2092A77EF: 49 8B 47 18                    -  mov rax,[r15+18]
// ---------- INJECTING HERE ----------
1B2092A77F3: 48 63 40 30                    -  movsxd  rax,dword ptr [rax+30]
1B2092A77F7: 83 F8 01                       -  cmp eax,01
// ---------- DONE INJECTING  ----------
1B2092A77FA: 0F 8E 7B 00 00 00              -  jng 1B2092A787B
1B2092A7800: 49 8B 47 20                    -  mov rax,[r15+20]
1B2092A7804: 48 89 45 D0                    -  mov [rbp-30],rax
1B2092A7808: 48 63 47 30                    -  movsxd  rax,dword ptr [rdi+30]
1B2092A780C: 48 89 45 C8                    -  mov [rbp-38],rax
1B2092A7810: 48 B9 D8 8E 78 3B B2 01 00 00  -  mov rcx,000001B23B788ED8
1B2092A781A: 48 83 EC 20                    -  sub rsp,20
1B2092A781E: 49 BB 50 1C BF 3B B2 01 00 00  -  mov r11,000001B23BBF1C50
1B2092A7828: 41 FF D3                       -  call r11d
1B2092A782B: 48 83 C4 20                    -  add rsp,20
}

 

Видео:

AtomRPG_x64.CT

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

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

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

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