協議分析工具進製轉換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
立即下載