Protobuf 解碼器
無需 schema 線上解碼 Protocol Buffers 二進位。貼上 hex 或 Base64,或拖入 .bin 檔案,直接在瀏覽器檢視欄位編號、wire type 與巢狀訊息。
沒有 .proto schema 也能解碼 protobuf 嗎?
可以。每條 protobuf 訊息都是一連串鍵值對,鍵中打包了欄位編號和 wire type,這兩項資訊就藏在二進位裡。原始解碼器據此逐位元組走訪,重建出欄位編號、wire type、巢狀訊息和字串——即使不知道每個欄位的意義。
varint、64-bit、length-delimited、32-bit 這些 wire type 是什麼意思?
wire type 0(varint)是可變長度整數;1(64-bit)是固定 8 位元組值,如 double 或 fixed64;2(length-delimited)是帶長度前綴的資料區塊,可能是字串、bytes 或巢狀訊息;5(32-bit)是固定 4 位元組值,如 float 或 fixed32。
為什麼有的欄位顯示文字,有的顯示巢狀訊息?
length-delimited 欄位天然有歧義:同一段位元組既可能是字串也可能是子訊息。解碼器先檢查位元組是否為可列印的 UTF-8 文字,不是則嘗試按巢狀訊息解析,兩種解釋都不成立時才退回 hex 預覽。
負數能正確顯示嗎?
能。protobuf 會把負的 int32/int64 編碼成 10 位元組 varint,工具會同時顯示無號數值與有號解讀;sint32/sint64 使用 ZigZag 編碼,較小的負數在樹中會顯示為較小的無號數值。
我的資料會被上傳嗎?
不會。解碼完全在瀏覽器中以 JavaScript 完成,位元組不會離開你的裝置——檢查私有或敏感負載時這一點尤其重要。
支援哪些輸入格式?
hex 文字(可含空格、冒號、逗號或 0x 前綴)、標準與 URL-safe 的 Base64,以及拖放上傳的二進位檔案。當輸入有歧義時優先按 hex 解析,也可以一鍵在 hex 和 Base64 之間互轉。
這個工具適合什麼場景?
逆向未公開的 API、除錯 gRPC 服務或基於 protobuf 的訊息佇列、檢查序列化快取與檔案、學習 wire format、驗證自己的編碼器輸出是否與預期完全一致。
能告訴我欄位名稱嗎?
不能。欄位名稱保存在 .proto schema 裡而不在二進位中。工具顯示欄位編號,當你在 schema 中把編號對應到名稱後,即可直接讀懂整棵樹。
錯誤訊息裡的位元組偏移是什麼意思?
當資料損毀或被截斷時,解碼會停在第一個無法解析的位元組。回報的偏移量精確指向輸入中的那個位元組,方便立刻定位損毀位置。
如何使用Protobuf 解碼器
這款 Protobuf 解碼器無需任何 .proto schema 即可讀取原始 protocol buffer 訊息。每條 protobuf 負載自帶欄位編號與 wire type,解碼器據此重建完整結構——varint、定長 32/64 位元值、UTF-8 字串與巢狀子訊息——並以可展開的樹狀呈現。全部在瀏覽器本機完成,資料不會上傳。
- 把資料貼到輸入框:hex(空格、冒號、逗號、0x 前綴均可)或 Base64,按鈕旁會顯示自動辨識的輸入格式。
- 如果是原始二進位負載,也可以直接把 .bin 檔案拖到輸入區,會立即讀取並解碼。
- 點「範例」按鈕載入內建示範資料,其中包含 UTF-8 字串、zigzag varint、packed repeated 欄位、double 以及兩層巢狀訊息。
- 瀏覽結果樹:每列顯示欄位編號、wire type(varint / 64-bit / length-delimited / 32-bit)與解讀後的值;帶箭頭的列可展開為巢狀子訊息。
- 使用「→ Base64」「→ HEX」按鈕在兩種編碼之間互轉目前輸入,或用「複製 HEX」把等價的 hex 字串複製到剪貼簿。
- 若資料損毀或被截斷,解碼會停在第一個壞位元組,錯誤列會給出精確的位元組偏移。
當 length-delimited 欄位內容是巢狀訊息時會渲染為可展開子樹;如果你以為該是文字,只是因為那些位元組不是可列印的 UTF-8——這正是 protobuf 的消歧規則,不是 bug。
相關工具
- Base64 編碼解碼 免費線上Base64編碼解碼工具。即時將文字轉換為Base64或將Base64轉換為文字。無需上傳到伺服器,100%隱私保護,完全在瀏覽器中執行。
- Hex檔案檢視器 以十六進制轉儲格式檢視檔案內容,支援搜尋、偏移導航和虛擬滾動
- 二進制轉文字 將二進制代碼轉換為可讀文字。即時將二進制字串解碼為ASCII文字。
- JWT解碼器 免費線上JWT解碼器。即時解碼JSON Web令牌,查看標頭、載荷和簽名。無需註冊。
- X.509 憑證解析器 免費線上 X.509 憑證解析器。貼上 PEM 或 base64 DER 憑證,查看主體、簽發者、有效期、SAN、金鑰類型與指紋。100% 本地處理,憑證絕不上傳。
- 檔案雜湊校驗 本地計算校驗MD5、SHA-1、SHA-256、SHA-512檔案雜湊值
- Chmod 計算器 免費線上chmod計算器,透過核取方塊視覺化Linux檔案權限並計算chmod值。即時轉換數字(755, 644)和符號(rwxr-xr-x)表示法,支援setuid、setgid、sticky bit等特殊權限。
- ASCII碼表 完整的ASCII字元編碼參考表,包含十進位、十六進位、八進位、二進位編碼、HTML實體和字元描述。支援即時搜尋和篩選。