セキュリティプロジェクトの一部としてAndroidアプリケーションをリバースエンジニアリングしています。私の最初のステップは、アプリとサーバーの間で交換されるプロトコルを発見することです。私は使用されているプロトコルがプロトコルバッファであることを発見しました。 protobufの性質を考えると、元の.protoファイルは、protobufでエンコードされたメッセージのシリアル化を解除できる必要があります。私はそれがないので、私はprotodを使ってAndroidアプリを逆アセンブルし、使用された.protoファイルを回復しました。.protoファイルのないプロトコルバッファの解析
私はそれが.smaliと.soファイルの束である形式でAndroidアプリを持っています。 protoを.soファイルに対して実行すると、1つの.protoファイル(google/protobuf/descriptor.proto)のみが生成されます。
私は、プロトコルバッファのユーザーが独自の.protoファイルを作成しているという印象を受けました。これはgoogle/protobuf/descriptor.protoを参照するかもしれませんが、protod google/protobuf/descriptor.protoによると、アプリ。これは実際に可能とgoogle/protobuf/descriptor.proto私とアプリとサーバー間のメッセージをunserializeするのに十分ですか?
このプロトファイルで試しましたか? – petersv
チャールズプロキシにprotofileから生成された.descを使用してprotobufメッセージをデコードするときに問題が発生していて、それが私には分かりませんでした(上記の質問)。私はメッセージとprotobuf .descファイルを渡すことができるいくつかのコマンドラインツールがあり、それは私にデコードされたメッセージを与えるだろうか? – Joe
関連:http://stackoverflow.com/questions/14627069/parse-google-protocol-buffers-datagram-without-proto-file – jpa