惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
量子位
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
博客园 - 聂微东
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
U
Unit 42
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog

博客园 - loz2015

unity 游戏apk 分析 体育apk重打包记录 Tiktok 核心字段 IOS Tiktok(43.6.1)抓包 android java层字符串加密对抗 jeb4 增加内存 Android 设置no-proxy抓包处理 IDA dump so vm demo加固分析 Android Lazada抓包 Android 闲鱼抓包 Mirroring360 破解分析 电脑 直接下载cyida deb Alibaba Canal config 漏洞验证 检测magiskhide MAC 下Android ROM 提取文件 IDAPython 插件开发 Android ollvm 集成 某iOS APP反抓包分析 lark反调试 ios app 可执行文件是中文名称如何进行调试
luajava逆向总结
loz2015 · 2020-07-17 · via 博客园 - loz2015

luajava 逆向注意事项

1)libluajava.so lua_load进行dump lua文件

 1 Interceptor.attach(luaL_loadbuffer, {
 2                         onEnter: function(args) {
 3                         var ptr = Memory.readPointer(args[2]);
 4                         var len = Memory.readInt(args[2].add(4));
 5                         //console.log(hexdump(ptr, { length: len, ansi: false }));
 6                         var content = Memory.readCString(ptr, len);
 7                         var obj = {}
 8                         obj.size = len
 9                         obj.name = name;
10                         obj.content = Memory.readCString(ptr, obj.size);
11                         
12                         var path = "/sdcard/" + 'xxxx.lua';
13                         var file = new File(path,'wb');
14                         var data = Memory.readByteArray(ptr,len);
15                         file.write(data);
16                         file.flush();
17                         file.close();
18                         Interceptor.detachAll();

2)注意dump出来可能是luac 需要luac转lua

unluac的源码是开源,需要根据lua的版本 进行操作码确认,如有修改需转换。

定位转换的操作码函数,搜提示字符串"initial value must be a number".

操作码函数: