小编too*_*ick的帖子

Python 在 python 中实现 protobuf --decode-raw

我正在处理 protobuf 协议,并且遇到需要解码未知字段和类型的消息。我知道protoc --decode_raw这方面做得很好(可惜不够精确,但足够好)。

我正在考虑protoc --decode-raw在 shell 中运行并让 Python 读取其内容,将其解析为字典,但我认为这是实现的最后手段。

是否有实现相同功能的 Pythonic 方法?

python protocol-buffers protobuf-python

4
推荐指数
1
解决办法
2190
查看次数

使用 Frida 设置当前类中的成员

我正在挂接 Frida 中的某个函数,该函数使用以下代码:

this.carrier.getId()
Run Code Online (Sandbox Code Playgroud)

然而,此时this.carrier尚未设置,这会导致应用程序崩溃。
所以我正在考虑在类的当前函数中手动设置这个成员。因此,当代码发生时,该载体就会存在。
问题是我这样做遇到了问题。

到目前为止,这就是我得到的:

Java.perform(function () {
    var SignUpActivity = Java.use('com.app.features.authentication.SignUpActivity');
    SignUpActivity.validatePhoneNumber.implementation = function() {
        
        var Carrier = Java.use("com.app.Carrier");
        this.carrier = Carrier.$new();
        console.log(this.carrier) // This prints "[object Object]"
        console.log(this.carrier.setId) // This prints "undefined"
        this.carrier.setId(123); // crashes

    };
});
Run Code Online (Sandbox Code Playgroud)

承运人代码:

package com.app;

import android.os.Parcel;
import android.os.Parcelable;

public class Carrier implements Parcelable {

    private int id;
    private String name;
    private String officeTerminalAddress;

    public Carrier() {
    }

    protected Carrier(Parcel parcel) {
        this.id = parcel.readInt();
        this.name = parcel.readString(); …
Run Code Online (Sandbox Code Playgroud)

javascript java android reverse-engineering frida

1
推荐指数
1
解决办法
3102
查看次数