修改Hopper逆向的Unity名字

#!/usr/bin/python3

import json

doc = Document.getCurrentDocument()

path = Document.askFile("Symbols file", None, False)
if path != None:
    # 读打开文件
    classmd = Path(path)
    #filename = classmd.stem + '.json'
    #filepath = classmd.parent.joinpath(filename)

    a = classmd.read_text("UTF-8")
    # 读取文件
    contents = json.loads(a)
    # 获取所有的方法
    methods = contents.get('ScriptMethod')
    for i in range(0, len(methods)):
        address = methods[i].get("Address")
        name = methods[i].get("Signature").split(' ')[1]
        seg = doc.getSegmentAtAddress(address)
        if seg != None:
            pass
            seg.setNameAtAddress(address, name.replace("\n", ""))
        else:
            print("No segment for 0x" + str(address) + "; unable to set name for " + name)

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Python分类目录。将固定链接加入收藏夹。