Template:Asm:CustomRegenUsingPtrs
Using Pointers
we all love pointers, they have multiple uses. note that the script might not be injected in 32 bit processes, unless you remove push 03E8 and call Kernel32.Sleep. keep in mind you need to specify the data type if your value is a floating point value, add [edx],01 is not the same as [add [edx],(float)1.0.
[enable]
alloc(ReGen,$100)
registersymbol(ReGen)
createthread(ReGen)
label(return)
label(exit)
registersymbol(exit)
ReGen:
push 03E8
call Kernel32.Sleep
cmp byte ptr [exit],00 // add exit to your address list, default is '1' change it to '0' if you want to stop the regeneration.
jz return
lea edx,[[[[[["Executable.exe"+00123ABC]+4]+56]+0]+789]+DEF]
cmp dword ptr [edx],64 // say your health limit is 4-byte '100' once your health goes below '100' it will regenerate health
jz ReGen
add [edx],01
jmp ReGen
return:
ret
exit:
db 01
[disable]
dealloc(ReGen)
unregistersymbol(ReGen)
unregistersymbol(exit)