Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25287 Location: The netherlands
|
Posted: Sun Jun 04, 2017 5:27 pm Post subject: executing MessageBoxA inside remote process |
|
|
Code: |
if messageBoxACaller==nil then
if autoAssemble([[
alloc(messageBoxACaller,128)
registersymbol(messageBoxACaller)
messageBoxACaller:
sub rsp,28
mov r9,[rcx+18] //button
mov r8,[rcx+10] //caption
mov rdx,[rcx+8] //text
mov rcx,[rcx] //hwnd
call MessageBoxA
add rsp,28
ret
]]) then
messageBoxACaller=getAddressSafe('messageBoxACaller')
end
end
if messageBoxACaller==nil then
error('autoAssemble failed')
end
function MessageBox(hwnd, message, caption, button)
local mymem=allocateMemory(512)
local captionaddress
writeString(mymem, message)
writeBytes(mymem+#message,0) --0 terminator
captionaddress=mymem+#message+1
writeString(captionaddress,caption)
writeBytes(captionaddress+#caption,0)
local params=captionaddress+#caption+1
writeQword(params,hwnd) --hwnd
writeQword(params+8,mymem) --text
writeQword(params+16,captionaddress) --caption
writeQword(params+24,button) --button (0=ok)
executeCode(messageBoxACaller,params)
deAlloc(mymem)
end
return MessageBox(0, 'BLA','XXX',0)
|
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|