Page 1 of 1

Need Help

Posted: Thu Aug 31, 2017 1:31 pm
by Kalas
Hello, I'm not really dealing with these kind of stuff normal, but I wanted to know how exactly can I make this work:
{ Game : ShooterGame.exe
Version:
Date : 2017-08-31
Author : Kalas

This script does blah blah blah
}

[ENABLE]

aobscanmodule(MeleeDamageAOB,ShooterGame.exe,F3 41 0F 10 84 9E 08 01 00 00)
alloc(newmem,$100,MeleeDamageAOB)
//
alloc(MeleeDamageFlag,08)
alloc(SpeedFlag,08)
alloc(CraftingSkillFlag,08)
//
label(code)
label(return)
//
label(1_MeleeDamageFlag)
label(2_SpeedFlag)
label(3_CraftingSkillFlag)
//
label(MeleeDamage)
label(Speed)
label(CraftingSkill)
//
registersymbol(MeleeDamageFlag)
registersymbol(SpeedFlag)
registersymbol(CraftingSkillFlag)

MeleeDamageFlag:
dd 0

SpeedFlag:
dd 0

CraftingSkillFlag:
dd 0

newmem:
cmp rbx,0000000000000008 // Melee Damage
je 1_MeleeDamageFlag
//
cmp rbx,0000000000000009 // Speed
je 2_SpeedFlag
//
cmp rbx,000000000000000B // Crafting Skill
je 3_CraftingSkillFlag

1_MeleeDamageFlag:
cmp dword ptr [MeleeDamageFlag],1
je MeleeDamage
jmp code

2_SpeedFlag:
cmp dword ptr [SpeedFlag],1
je Speed
jmp code

3_CraftingSkillFlag:
cmp dword ptr [CraftingSkillFlag],1
je CraftingSkill

code:
movss xmm0,[r14+rbx*4+00000108]
jmp return

MeleeDamage:
mov [r14+rbx*4+00000108],(float)10
movss xmm0,[r14+rbx*4+00000108]
jmp return

Speed:
mov [r14+rbx*4+00000108],(float)10
movss xmm0,[r14+rbx*4+00000108]
jmp return

CraftingSkill:
mov [r14+rbx*4+00000108],(float)10
movss xmm0,[r14+rbx*4+00000108]
jmp return

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

[DISABLE]

MeleeDamageAOB:
db F3 41 0F 10 84 9E 08 01 00 00

unregistersymbol(MeleeDamageAOB)
unregistersymbol(MeleeDamageFlag)
unregistersymbol(CraftingSkillFlag)
unregistersymbol(SpeedFlag)
dealloc(newmem)
dealloc(MeleeDamageFlag)
dealloc(CraftingSkillFlag)
dealloc(SpeedFlag)
If someone can explain to me where I did wrong and fix me please :)

Re: Need Help

Posted: Fri Sep 01, 2017 2:25 pm
by MangaDrawing
Hi.
I think you use label Instead of alloc.
mean : alloc(MeleeDamageFlag,08) to label(MeleeDamageFlag)
alloc(SpeedFlag,08) to label(SpeedFlag)
alloc(CraftingSkillFlag,08) to label(CraftingSkillFlag). And remove a",MeleeDamageAOB" from alloc(newmem,$100,MeleeDamageAOB).

Re: Need Help

Posted: Fri Sep 01, 2017 3:58 pm
by Kalas
Nope, I got it working. I had an issue in the:

cmp rbx,0000000000000008 // Melee Damage
je 1_MeleeDamageFlag
//
cmp rbx,0000000000000009 // Speed
je 2_SpeedFlag
//
cmp rbx,000000000000000B // Crafting Skill
je 3_CraftingSkillFlag

Re: Need Help

Posted: Fri Sep 01, 2017 3:59 pm
by Matze500
Alloc is not needed just register the flags with registersymbol(yourflag)

Greets Matze

Re: Need Help

Posted: Fri Sep 01, 2017 4:15 pm
by Kalas
Matze500 wrote: โ†‘
Fri Sep 01, 2017 3:59 pm
Alloc is not needed just register the flags with registersymbol(yourflag)

Greets Matze
Thanks, ill keep that in mind.

Re: Need Help

Posted: Fri Sep 01, 2017 10:31 pm
by Matze500
The db(1byte), dw(2 byte or word), dd(4 byte or double word),dq(8byte or quad word) reserves the memory if they are below โ€œnewmem:โ€œ. Best place is below jmp return and the injection point.

Greets Matze

Re: Need Help

Posted: Fri Sep 22, 2017 6:00 pm
by Kalas
SunBeam wrote: โ†‘
Mon Sep 11, 2017 5:35 pm
Small suggestion: don't start label names with numbers.
Ok thanks ๐Ÿ‘Œ