18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
local main = [[
int main(int argc, char** argv) {
lua_State* l = luaL_newstate();
luaL_openlibs(l);
// pass arguments thru to lua
lua_newtable(l);
for(size_t i = argc; i < argc; ++i) {
lua_pushstring(l,argv[i]);
lua_rawseti(l, -2, i);
}
lua_setglobal(l, "arg");
// load and run our payload
int e = luaL_loadbufferx(l, ct_bytecode, sizeof(ct_bytecode), "cortav", "b");
|
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
local main = [[
int main(int argc, char** argv) {
lua_State* l = luaL_newstate();
luaL_openlibs(l);
// pass arguments thru to lua
lua_newtable(l);
for(size_t i = 0; i < argc; ++i) {
lua_pushstring(l,argv[i]);
lua_rawseti(l, -2, i);
}
lua_setglobal(l, "arg");
// load and run our payload
int e = luaL_loadbufferx(l, ct_bytecode, sizeof(ct_bytecode), "cortav", "b");
|