Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Func LuaDoString($theCode = "")
- If $theCode == "" Then Return -1
- Local $CodeCave
- ;Create the codecave?
- $CodeCave = StringLen(StringToBinary($theCode, 4)) + 1; 4 parameter is utf-8
- ;This one im worried about...
- $CodeCave &= $theCode
- ;Yes. This is how its done in autoit...
- Local $Asm = AsmInit()
- AsmReset($Asm)
- AsmAdd($Asm, "mov eax, " + StringToBinary($CodeCave, 4))
- AsmAdd($Asm, "push 0")
- AsmAdd($Asm, "push eax")
- AsmAdd($Asm, "push eax")
- AsmAdd($Asm, "mov eax, " + ($aWoWModuleBaseAdress + 0x4FD12));Lua_Dostring
- AsmAdd($Asm, "call eax")
- AsmAdd($Asm, "add esp, 0xC")
- AsmAdd($Asm, "retn")
- ;yes, its excatly what you see!
- $asmRet = $Asm
- ;$aWoWMemoryHWND[1] is the handle of _MemoryOpen(wow[i])
- ;$Asm[2] is the size of our opcode
- $mVirtualMem = _MemVirtualAllocEx($aWoWMemoryHWND[1], 0, $asmRet[2], $MEM_COMMIT, $PAGE_EXECUTE_READWRITE)
- ;Write the stub into wow memory?
- _MemoryWrite($aWoWModuleBaseAdress + $mVirtualMem, $aWoWMemoryHWND, AsmGetBinary($Asm)), "byte[" & $Asm[2] & "]")
- ;Free the memory allocated earlier
- _MemVirtualFreeEx($aWowTitleHWND[1], $mVirtualMem, $Asm[2], $MEM_RELEASE)
- EndFunc ;==>LuaDoString
- LuaDoString("MoveForwardStart();")
Advertisement
Add Comment
Please, Sign In to add comment