协议分析工具进制转换protobuf反序列化工具是一款多功能小工具,可以帮助大家进行协议分析,还能进行进制转换,特别是protobuf反序列化很不错。有点强大,有需要的小伙伴赶紧下载试试吧。
1 字节转文本:字节集转成文本型(ByteToString),不以\0结束,逐字转换。
2.字节转数值:Verint64 .4-10字节转换(ByteToint),以数组1开始
3.字节集转16进制:(ByteToHex)
4.16进制转字节集:(HexToByte)
5.16进制转文本:(HexToString)
6.去空:去掉空白字符
7.JSON解析:没有介绍,解析值出来。
8.文本转字节:文本型转成字节集(StringToByte)。
9.取数据HEX:正则匹配16进制。
10.反序列化:Protocol buffers 反序列化 需要转换到16进制
11.RSA验签与签名
一、环境依赖:
1、maven依赖:
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.5.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util -->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>3.5.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.grpc/grpc-all -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-all</artifactId>
<version>1.11.0</version>
</dependency>
<!--protobuf相关end-->
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.5.0.Final</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.5.0</version>
<configuration>
<protocArtifact>
com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}
</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>
io.grpc:protoc-gen-grpc-java:1.11.0:exe:${os.detected.classifier}
</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2、IDEA开发环境支持protobuf插件:
参考:https://blog.csdn.net/jason_jiahongfei/article/details/112760010
二、序列化&反序列化:
package com.jason.seria.protobuf;
import com.google.protobuf.InvalidProtocolBufferException;
import com.jason.ISerializer;
import com.jason.seria.Student;
import com.jason.seria.kryo.KryoSerializer;
public class TestMain {
public static void main(String[] args) {
ProtoDemo.Student.Builder builder=ProtoDemo.Student.newBuilder();
builder.setName("jason");
builder.setAge(18);
ProtoDemo.Student info = builder.build();
System.out.println(info);
long t1 = System.nanoTime();
byte[] result=info.toByteArray();
System.out.println("序列化耗时="+(System.nanoTime()-t1));
System.out.println("protobuf 序列化长度 result:"+result.length);
try {
long t3 = System.nanoTime();
ProtoDemo.Student student=ProtoDemo.Student.parseFrom(result);
System.out.println("反序列化耗时="+(System.nanoTime()-t3));
} catch (InvalidProtocolBufferException e) {
e.printStackTrace();
}
}
}
运行结果: 压缩的字节码长度只有9!!!!!!
name: "jason"
age: 18
序列化耗时=2822000
protobuf 序列化长度 result:9
反序列化耗时=63000
当然相对于XML,jason 序列化协议, protobuf可读性肯定是没有了,没有办法调试。具体性能对比可以看我整理对比数据。
70KB / 03-27
系统其他
下载21.5M / 02-01
游戏补丁
下载231KB / 09-26
系统优化
下载76.4M / 03-25
立即下载55M / 06-05
立即下载237.9M / 04-13
立即下载140.5M / 03-06
立即下载900.9M / 03-02
立即下载96.2M / 07-06
立即下载311.2M / 07-06
立即下载335M / 07-06
立即下载200M / 07-06
立即下载413.8M / 07-06
立即下载353.9M / 06-05
立即下载131.8M / 04-13
立即下载230.8M / 03-03
立即下载195.6M / 03-03
立即下载165.4M / 03-03
立即下载45.6M / 09-08
立即下载665.2M / 07-06
立即下载2.84G / 07-06
立即下载93M / 07-06
立即下载338.3M / 07-06
立即下载1.38G / 07-26
立即下载488.3M / 07-16
立即下载109.8M / 06-03
立即下载142M / 01-08
立即下载1.2M / 11-23
立即下载548.8M / 04-13
立即下载1.6M / 04-13
立即下载1.48G / 03-18
立即下载646.6M / 03-03
立即下载133.7M / 03-03
立即下载325.8M / 06-07
立即下载60M / 04-29
立即下载254M / 04-25
立即下载659M / 04-23
立即下载1M / 12-26
立即下载253.4M / 12-08
立即下载253M / 12-08
立即下载1.19G / 11-16
立即下载110.5M / 04-23
立即下载26.7M / 03-16
立即下载488.3M / 07-16
立即下载248.9M / 12-08
立即下载248.9M / 12-08
立即下载201.2M / 04-13
立即下载100.6M / 03-06
立即下载148.9M / 03-06
立即下载1.12G / 07-06
立即下载1.25G / 07-06
立即下载9.48G / 07-06
立即下载50KB / 07-06
立即下载116.2M / 04-10
立即下载1.92G / 04-17
立即下载201.5M / 04-13
立即下载7.31G / 07-01
立即下载94.3M / 07-06
立即下载2.48G / 07-06
立即下载7.63G / 07-06
立即下载1M / 07-06
立即下载778.1M / 07-06
立即下载509.7M / 07-06
立即下载561.8M / 07-11
立即下载1.32G / 01-19
立即下载72M / 07-06
立即下载548.7M / 07-06
立即下载1.00G / 07-06
立即下载9.13G / 07-06
立即下载126.2M / 07-06
立即下载72M / 07-06
立即下载105.1M / 07-06
立即下载132M / 07-06
立即下载