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

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
博客园 - 【当耐特】
量子位
有赞技术团队
有赞技术团队
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
C
Check Point Blog
B
Blog RSS Feed
M
MIT News - Artificial intelligence
H
Help Net Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans
腾讯CDC

博客园 - 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".

操作码函数: