luajava逆向總結


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".

 

操作碼函數:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM