int lua_loadbuffer(lua_State *L, const char *s, size_t size, const char *name); ``` 这个函数加载一个 Lua 代码字符串,并返回一个函数。这个函数可以稍后被调用。 Lua 5.2 的 `luaL_loadbuffer` 函数的原型如下: ```c int luaL_loadbuffer(lua_State *L, const char *buff, size_t size, con...
当LuaJIT加载位于缓冲区中的代码时,reader变为reader_string的地址(参考此处),而void *data所指向的char*字符串即为具体的Lua代码。 reader_string不是内联函数,因为它的地址可以作为回调指针来传递,因此我们可以在luaL_loadbuffer内部找到这个地址: 利用这个地址,我们可以构造一个hook,来劫持并显示已加载的所有Lua缓冲...
Lua脚本不被分析破解。1.字节码文件深度加密Cocos2dx 使用 xxtea 整体加密脚本文件,这种方式不仅易于被分析出加密密钥,也容易被hookluaL_loadbuffer而得到明文文件。我们采用深度加密的方式,确保Lua脚本无法被直接解密,确保无法通过hookluaL_loadbuffer/lua_reader 等函数截获明文脚本文件。 正常的字节码:我们保护后 ...
VirtualAppHookLuaL_loadbuffer-源码 开发技术 - 其它Pa**甸园 上传2.35 MB 文件格式 zip Java VirtualAppHookLuaL_loadbuffer 看名字就知道 hook luaL_loadbuffer 实现了动态替换lua和保存解密lua文件 主要修改了IOUniformer文件,具体你可以和virtualapp原代码对比查看...
你可以会认为,只要hook luaL_loadbufferex这个函数,我们就可以搞定这两种情况,然而事实并非如此。由于LuaJIT主要是针对性能优化而设计的,因此通常情况下luaL_loadbufferex会以内联形式使用。然而,这两个函数最终都会调用如下这个函数(参考此处): intlua_loadx(lua_State *L, lua_Reader reader,void*data,constchar*...
lua游戏 hook了 luaL_loadbuffer 这个函数后得到了下边这些数据 这些是lua源码 吗 还是啥加密的 。。。完全看不懂啊。。。求助各位大哥LuaQ @TEMP_DIR/script/main.lua ? @ E€ €E? F?? ?€\A€!€ ?@ A€ @ @ A? @ € B ?€...
void * (*old_luaL_loadbuffer)(void * L, const char * buff, size_t size, const char * ...
先通过包名过滤 Hook so加载函数 如果 判断 是指定的 so 加载 自己编译的 so 在onLoad 函数中 配合 inlineHook Hook 指定 函数 笔者 利用这个 Hook lua游戏源码 因为 加载 lua 需要走 luaL_loadbuffer 函数 具体 流程 可以百度 lua加载流程 分析一下
forked from sepyeight/VirtualAppHookLuaL_loadbuffer Notifications Fork 0 Star 0 Code Pull requests Actions Projects Security Insights CommitsBranch selector master User selector All users DatepickerAll time Commit History Commits on Jul 14, 2018 Create README.md sepyeightcommittedJul 14, ...
注入脚本后,可以使用debug.sethook功能劫持所有Lua函数调用及参数,收集全局信息和跟踪数据。进一步分析Lua代码,如使用jit.off规避debug库限制,调用dumpGlobals打印全局变量表,以及利用debug.sethook进行函数跟踪,提取有价值的信息。对于劫持整个Lua脚本,通过hook luaL_loadbuffer或其变种来控制加载的代码,...