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();")