require "alien"
--the address im trying to edit in the Mahjong game on Win7
local SCOREREF = 0x0744D554
--this should give me full access to the process
local ACCESS = 0x001F0FFF
--this is my process ID for my open window of Mahjong
local PID = 1136
--function to open proc
local op = alien.Kernel32.OpenProcess
op:types{ ret = "pointer", abi = "stdcall"; "int", "int", "int"}
--function to write to proc mem
local wm = alien.Kernel32.WriteProcessMemory
wm:types{ ret = "long", abi = "stdcall"; "pointer", "pointer", "pointer", "long", "pointer" }
local pRef = op(ACCESS, true, PID)
local buf = alien.buffer("99")
-- ptr,uint32,byte arr (no idea what to make this),int, ptr
print( wm( pRef, SCOREREF, buf, 4, nil))
--prints 1 if success, 0 if failed
これが私のコードです。タイプが正しく設定されているかどうかさえわかりません。
私は完全に道に迷っており、いくつかの指導が必要です。エイリアンのためのオンラインヘルプ/ドキュメントがもっとあったらいいのにと思います。それは私の貧しい脳を混乱させます。
私を完全に困惑させているのは、 WriteProcessMemoryが正常に完了することもあれば(私の知る限りでは何もしませんが)、正常に完了しないこともあるということです。私が言ったように、私の脳は痛いです。
助けていただければ幸いです。