天天看點

一個保護使用JSON的Java應用程式的方法

JSON是用于在應用程式内共享對象和資料的标準格式。對于Java,不存在對JSON處理的内置支援,但是有幾種廣泛使用的庫可供選擇。在本文中,我們将重點介紹最受歡迎的Jackson。

保護使用Jackson進行JSON處理的應用程式時,請務必注意是否使用Java對象存儲JSON資料(如使用資料綁定),或者是否在沒有相應Java對象的情況下完全操縱JSON資料(如Jackson一樣)樹模型)。這會影響我們配置混淆設定的方式。

對于資料綁定Java對象(POJO),我們需要保留get和set方法以確定适當的運作時功能。另一方面,如果我們使用樹模型來操作JSON資料(沒有POJO),則無需任何自定義配置就可以應用混淆。請考慮以下内容。

此示例項目使用兩種不同的方式對JSON格式的字元串進行序列化和反序列化。一種方法使用不支援POJO的Jackson樹模型。第二種方法使用資料綁定将JSON資料存儲為POJO。以下是預期的輸出:

一個保護使用JSON的Java應用程式的方法

在對jar檔案應用保護之後,請注意“樹模型”示例可以正常運作,但是“資料綁定”示例将引發異常:

一個保護使用JSON的Java應用程式的方法

如果按照例外說明,如果我通過在POJO中添加@JsonInclude(Include.NON_NULL)批注來允許空bean,那麼我仍然會在輸出中得到空結果,這也是預期的行為。

一個保護使用JSON的Java應用程式的方法

為了防止這種情況,我需要從重命名中排除Car對象的get和set方法。

一個保護使用JSON的Java應用程式的方法

這樣做之後,受保護的輸出将正常運作。

說到PreEmptive,其名下兩款實力派軟體保護工具——Dotfuscator和DashO Pro。

Dotfuscator是一個.NET的Obfuscator。它提供企業級的應用程式保護,大大降低了盜版、知識産權盜竊和篡改的風險。Dotfuscator的分層混淆、加密、水印、自動失效、防調試、防篡改、報警和防禦技術,為世界各地成千上萬的應用程式提供保護。

DashO是一個Java和Android的混用程式,它提供企業級應用的加強和屏蔽,大大降低了知識産權盜竊、資料盜竊、盜版和篡改的風險。分層混淆,加密,水印,自動失效,反調試,反篡改,反仿真器,反挂鈎,反根裝置解決方案,為世界各地的應用程式提供保護。

下表突出顯示了在過去20年中以各種形式包含在PreEmptive Protection産品Dotfuscator和DashO Pro的應用程式内保護模式,其客戶已成功将其內建到幾乎每個行業,地理和裝置的應用程式中。

接受的模式 減少時間 最少的教育訓練 簡化的SDLC 平台支援 合規 性能與品質
郵政編碼處理
IDE DevOps內建
更新了偵探控制
交鑰匙偵探反應
以應用程式為中心的響應
100%标準混淆
自動檢測架構
Wizards

PreEmptive已經提供了20多年的應用程式保護解決方案。RASP,模糊處理和屏蔽都是PreEmptive掌握并内置于即用型解決方案中的所有技術。100多個國家/地區的5000多家組織已經使用PreEmptive Protection産品來為其應用程式提供一層保護。

當然,你也可以閱讀【防止代碼被反編譯的秘訣:9款強力保護工具任你選擇】來挑選其他工具。