如何解码 .Java 文件中的协议缓冲区字符串
How To Decode Protocol Buffer String in .Java file
我到处找名字来称呼它,但我找不到任何....
它在一个朋友发给我的 .java 文件中(他认为我会直接解码它),不知道我也是这个菜鸟....
这是我想在不编译 Java 文件的情况下解码的字符串数据。
String[] descriptorData = {
"\n0com/google/javascript/jscomp/function_" +
"info.proto2[=11=]6jscomp\"7[=11=]2\n6FunctionInformati" +
"onMap23\n[=11=]5entry0[=11=]1 [=11=]3(\n2$.jscomp.FunctionIn" +
"formationMap.Entry25\n[=11=]6module0e [=11=]3(\n2%.jsc" +
"omp.FunctionInformationMap.Module27[=11=]1\n[=11=]5En" +
"try2\n\n[=11=]2id0[=11=]2 [=11=]2([=11=]523\n3source_name0[=11=]3 [=11=]2(\t23\n3" +
"line_number0[=11=]4 [=11=]2([=11=]523\n3module_name0[=11=]5 [=11=]2(\t24" +
"\n[=11=]4size0[=11=]6 [=11=]2([=11=]524\n[=11=]4name0[=11=]7 [=11=]2(\t27\n7compiled_s" +
"ource00 [=11=]2(\t2/\n[=11=]6Module24\n[=11=]4name0f [=11=]2(\t27\n7c" +
"ompiled_source0g [=11=]2(\tB \n4com.google.javas","cript.jscompP[=11=]1"
如果我没记错的话,你看到的是一段自动生成的代码,描述了
message FunctionInformationMap {
repeated group Entry = 1 {
required int32 id = 2;
required string source_name = 3;
required int32 line_number = 4;
required string module_name = 5;
required int32 size = 6;
required string name = 7;
required string compiled_source = 8;
}
}
这里生成的代码可以在这里找到,例如
Ps:我只是用谷歌搜索 "com/google/javascript/jscomp/function_info.proto" 但实际上您可以逆转该过程。例如这里的提示 https://www.sysdream.com/reverse-engineering-protobuf-apps
我通过使用 System.Out.PrintIn
将字符串数据打印到 TXT 文件来简单地解决了这个问题...
就是这样..
谢谢...
我到处找名字来称呼它,但我找不到任何.... 它在一个朋友发给我的 .java 文件中(他认为我会直接解码它),不知道我也是这个菜鸟.... 这是我想在不编译 Java 文件的情况下解码的字符串数据。
String[] descriptorData = {
"\n0com/google/javascript/jscomp/function_" +
"info.proto2[=11=]6jscomp\"7[=11=]2\n6FunctionInformati" +
"onMap23\n[=11=]5entry0[=11=]1 [=11=]3(\n2$.jscomp.FunctionIn" +
"formationMap.Entry25\n[=11=]6module0e [=11=]3(\n2%.jsc" +
"omp.FunctionInformationMap.Module27[=11=]1\n[=11=]5En" +
"try2\n\n[=11=]2id0[=11=]2 [=11=]2([=11=]523\n3source_name0[=11=]3 [=11=]2(\t23\n3" +
"line_number0[=11=]4 [=11=]2([=11=]523\n3module_name0[=11=]5 [=11=]2(\t24" +
"\n[=11=]4size0[=11=]6 [=11=]2([=11=]524\n[=11=]4name0[=11=]7 [=11=]2(\t27\n7compiled_s" +
"ource00 [=11=]2(\t2/\n[=11=]6Module24\n[=11=]4name0f [=11=]2(\t27\n7c" +
"ompiled_source0g [=11=]2(\tB \n4com.google.javas","cript.jscompP[=11=]1"
如果我没记错的话,你看到的是一段自动生成的代码,描述了
message FunctionInformationMap {
repeated group Entry = 1 {
required int32 id = 2;
required string source_name = 3;
required int32 line_number = 4;
required string module_name = 5;
required int32 size = 6;
required string name = 7;
required string compiled_source = 8;
}
}
这里生成的代码可以在这里找到,例如
Ps:我只是用谷歌搜索 "com/google/javascript/jscomp/function_info.proto" 但实际上您可以逆转该过程。例如这里的提示 https://www.sysdream.com/reverse-engineering-protobuf-apps
我通过使用 System.Out.PrintIn
将字符串数据打印到 TXT 文件来简单地解决了这个问题...
就是这样.. 谢谢...