某三国游戏提取lua资源文件

admin 2022年7月5日10:46:13评论163 views字数 1411阅读4分42秒阅读模式

某三国游戏提取lua资源文件

首先要定位lua_loadbuffer,直接搜就行了

某三国游戏提取lua资源文件


然后直接上脚本提取:

[Python] 纯文本查看 复制代码

?

import frida

import sys

import os

import time

"""

adb forward tcp:27042 tcp:27042

adb forward tcp:27043 tcp:27043

"""

 

package_id = 'com.gale.sanguokill.hd'  # 隐去

 

dev = frida.get_remote_device()

pid = dev.spawn(package_id)

dev.resume(pid)

time.sleep(1)

process = dev.attach(pid)

 

 

# luaL_loadbuffer

src = '''

var addr = Module.findBaseAddress('libgame.so').add(0x00C72CB8)

Interceptor.attach(addr, {

    onEnter: function(args) {

        var name = Memory.readUtf8String(args[3]);

        var obj = {}

        obj.size = args[2].toInt32()

        obj.name = name;

        obj.content = Memory.readCString(args[1], obj.size);

        send(obj);

    }

} )

'''

 

 

def write(path, content):

    print('write:', path)

    folder = os.path.dirname(path)

    if not os.path.exists(folder):

        os.makedirs(folder)

    open(path, 'w').write(content)

 

 

script = process.create_script(src)

 

 

def on_message(message, data):

    if message['payload']['name']:

        name = message['payload']['name']

        name = "./app/" + name

        content = message['payload']['content']

        dirName = os.path.dirname(name)

        if not os.path.exists(dirName):

            os.makedirs(os.path.dirname(name))

        write(name, content)

 

 

script.on('message', on_message)

script.load()

sys.stdin.read()


运行效果:

某三国游戏提取lua资源文件


可以看到的代码:

某三国游戏提取lua资源文件


样本下载地址:
http://sgk.ufile.ucloud.com.cn/update/sgk-home-5.7.2-051201.apk

该内容转载自网络,更多内容请点击“阅读原文”

某三国游戏提取lua资源文件



原文始发于微信公众号(web安全工具库):某三国游戏提取lua资源文件

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月5日10:46:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某三国游戏提取lua资源文件https://cn-sec.com/archives/1154699.html

发表评论

匿名网友 填写信息