0
"Teleport"
Auto Assembler Script
//Target: TheForest.exe
//Author: ++METHOS
[ENABLE]
{==================== teleport ====================}
aobscanmodule(aob_teleport,TheForest.exe,F3 0F 10 71 14 0F C6 C0 00 0F 29 85 10 FD FF FF 8B D6)
alloc(newmem_teleport,1024,TheForest.exe)
label(return_teleport)
label(originalcode_teleport)
label(save_c1)
label(save_coordinates1)
label(load_c1)
label(load_coordinates1)
label(x_c1)
label(y_c1)
label(z_c1)
label(save_c2)
label(save_coordinates2)
label(load_c2)
label(load_coordinates2)
label(x_c2)
label(y_c2)
label(z_c2)
label(teleport_address)
registersymbol(aob_teleport)
registersymbol(save_coordinates1)
registersymbol(load_coordinates1)
registersymbol(x_c1)
registersymbol(y_c1)
registersymbol(z_c1)
registersymbol(save_coordinates2)
registersymbol(load_coordinates2)
registersymbol(x_c2)
registersymbol(y_c2)
registersymbol(z_c2)
registersymbol(teleport_address)
newmem_teleport:
push edx
lea edx,[ecx+10]
mov [teleport_address],edx
pop edx
cmp byte ptr [save_coordinates1],1
je save_c1
cmp byte ptr [save_coordinates2],1
je save_c2
cmp byte ptr [load_coordinates1],1
je load_c1
cmp byte ptr [load_coordinates2],1
je load_c2
movss xmm6,[ecx+14]
jmp return_teleport
save_c1:
mov byte ptr [save_coordinates1],0
push edx
mov edx,[ecx+10]
mov [x_c1],edx
mov edx,[ecx+10+4]
mov [y_c1],edx
mov edx,[ecx+10+8]
mov [z_c1],edx
pop edx
jmp originalcode_teleport
save_c2:
mov byte ptr [save_coordinates2],0
push edx
mov edx,[ecx+10]
mov [x_c2],edx
mov edx,[ecx+10+4]
mov [y_c2],edx
mov edx,[ecx+10+8]
mov [z_c2],edx
pop edx
jmp originalcode_teleport
load_c1:
cmp [x_c1],0
je originalcode_teleport
mov byte ptr [load_coordinates1],0
push edx
mov edx,[x_c1]
mov [ecx+10],edx
mov edx,[y_c1]
mov [ecx+10+4],edx
mov edx,[z_c1]
mov [ecx+10+8],edx
pop edx
jmp originalcode_teleport
load_c2:
cmp [x_c2],0
je originalcode_teleport
mov byte ptr [load_coordinates2],0
push edx
mov edx,[x_c2]
mov [ecx+10],edx
mov edx,[y_c2]
mov [ecx+10+4],edx
mov edx,[z_c2]
mov [ecx+10+8],edx
pop edx
jmp originalcode_teleport
originalcode_teleport:
movss xmm6,[ecx+14]
jmp return_teleport
teleport_address:
dd 0
save_coordinates1:
db 0
save_coordinates2:
db 0
load_coordinates1:
db 0
load_coordinates2:
db 0
x_c1:
dd 0
y_c1:
dd 0
z_c1:
dd 0
x_c2:
dd 0
y_c2:
dd 0
z_c2:
dd 0
aob_teleport:
jmp newmem_teleport
return_teleport:
[DISABLE]
dealloc(newmem_teleport)
aob_teleport:
db F3 0F 10 71 14
unregistersymbol(aob_teleport)
unregistersymbol(save_coordinates1)
unregistersymbol(load_coordinates1)
unregistersymbol(x_c1)
unregistersymbol(y_c1)
unregistersymbol(z_c1)
unregistersymbol(save_coordinates2)
unregistersymbol(load_coordinates2)
unregistersymbol(x_c2)
unregistersymbol(y_c2)
unregistersymbol(z_c2)
unregistersymbol(teleport_address)
1
"X"
Float
teleport_address
0
3
"Y"
Float
teleport_address
4
2
"Z"
Float
teleport_address
8
8
"==================================================================="
1
4
"Save Slot #1"
Byte
save_coordinates1
0
Set Value
112
1
0
6
"Load Slot #1"
Byte
load_coordinates1
0
Set Value
113
1
0
9
"==================================================================="
1
5
"Save Slot #2"
Byte
save_coordinates2
0
Set Value
114
1
0
7
"Load Slot #2"
Byte
load_coordinates2
0
Set Value
115
1
0