Gi@nnis Cheater Reputation: 1
Joined: 26 Oct 2013 Posts: 32 Location: Greece
|
Posted: Sat Nov 28, 2015 1:58 pm Post subject: Trying to call LUA from ASM (runtime) |
|
|
Trying to call LUA from ASM. But I'm failing miserably.
Nothing happens (no print message). Can someone give me a hand, I can't see what I am doing wrong. The "integervariableyouwishtopasstolua" is a bit unclear to me.
Please, be gentle with me I am not a pro programmer. Thanks in advance.
Code: | [ENABLE]
{$lua}
function testFunc(param)
print("Hello world!")
print("Calling LUA from ASM!!!:)")
print(param)
end
{$asm}
///#region untouched - Call CE lua function
loadlibrary(luaclient-i386.dll)
luacall(openLuaServer('CELUASERVER'))
globalalloc(luainit, 128)
globalalloc(LuaFunctionCall, 128)
label(luainit_exit)
globalalloc(luaserverinitialized, 4)
globalalloc(luaservername, 12)
luaservername:
db 'CELUASERVER',0
luainit:
cmp [luaserverinitialized],0
jne luainit_exit
push luaservername
call CELUA_Initialize //this function is defined in the luaclient dll
mov [luaserverinitialized],eax
luainit_exit:
ret
LuaFunctionCall:
push ebp
mov ebp,esp
call luainit
push [ebp+c]
push [ebp+8]
call CELUA_ExecuteFunction
pop ebp
ret 8
//luacall call example:
//push integervariableyouwishtopasstolua
//push addresstostringwithfunction //(The lua function will have access to the variable passed by name "parameter")
//call LuaFunctionCall
//When done EAX will contain the result of the lua function
///#endregion
globalalloc(myVar,4)
myVar:
dd 0
alloc(luaCallExample, $200)
label(funcName)
createThread(luaCallExample)
luaCallExample:
push 1
push funcName
call LuaFunctionCall
mov [myVar],eax
inc [myVar]
ret
funcName:
db 'testFunc',0
[DISABLE] |
|
|