axhlzy / Il2CppHookScripts

frida-based libil2cpp.so runtime parsing script
MIT License
519 stars 165 forks source link

listFieldsFromCls 是否可以增加静态变量 #12

Closed xavieryang007 closed 2 years ago

xavieryang007 commented 2 years ago

是否可以显示静态变量的值

axhlzy commented 2 years ago

抽空我在这个还得研究一下,静态变量好像不属于 class

// list fields from methodinfo function lffm(methodInfo, instance) {
listFieldsFromMethodInfo(methodInfo, instance)
}

// list fields from class function lffc(klass, instance) {
//对于枚举类型也可以使用,枚举类型也是fields listFieldsFromCls(klass, instance)
}

可以用这个简写一点

xavieryang007 commented 2 years ago

我写出来了

利用il2cpp_field_static_get_value实现

function readStatic(namespace,className,fieldName){
    const field =findField(namespace, className, fieldName);
    if (field.isNull()) {
        return field;
    }
    const addrOut = Memory.alloc(Process.pointerSize);
    il2cpp_field_static_get_value(field, addrOut);
    return addrOut.readPointer();
 }
xavieryang007 commented 2 years ago

        public string asdas
        {

            get
            {
                return null;
            }

            private set
            {
            }
        }

对于这类有什么好的方法吗?这类一般如何读取

xavieryang007 commented 2 years ago

如果参数是byte[] 一般如何读取和转换

axhlzy commented 2 years ago

我写出来了

利用il2cpp_field_static_get_value实现

function readStatic(namespace,className,fieldName){
    const field =findField(namespace, className, fieldName);
    if (field.isNull()) {
        return field;
    }
    const addrOut = Memory.alloc(Process.pointerSize);
    il2cpp_field_static_get_value(field, addrOut);
    return addrOut.readPointer();
 }

已更新 感谢分享