【krpano】加密XML手動解密分析


KRPano技術站點:http://www.krpano.tech

 

krpano允許對XML文件進行加密,對XML進行相應的保護。加密分為兩種,第一種為公共加密,即允許其他krpano全景讀取該XML,而另一種為私有加密,僅允許加密的用戶讀取XML。兩種加密方式的算法是一致的,只是公有加密使用了一個公共的解密密鑰,而私有加密則是根據某個用戶自己的密鑰進行加密的。

不過,由於krpano可以運行於瀏覽器中,XML會在解析的過程中在內存中出現,所以可以利用瀏覽器調試技術提取出解密好的XML。

一個典型的加過密的XML文件如下

1
< encrypted >KENCRUBR6XHk18l9V8NcuX33cW/5TK3svI6......</ encrypted >

以<encrypted></encrypted>為標簽,同時密文前三個字母為KEN

 

手動解密XML詳細步驟


 

http://vr.pacificparkbrooklyn.com/該網址上的一個全景項目中的密文為例,進行手動解密分析:

 

1、在Chrome中打開網址,按F12進行打開調試界面,在Network頁面可以查看到某個加密的XML

2.打開source標簽,找到ppb.js,格式化代碼({}按鈕),定位到500,499,436行的位置添各加一個斷點

3.重新刷新網頁,代碼會在該位置被中斷,繼續執行代碼,當代碼停在436行的eval處時,點擊step into按鈕進入到該函數中

 

4.進入到該函數后,對函數進行格式化,按Ctrl+F搜索"ken",可以找到某個函數,該函數即為解密函數

 

5.在函數的開頭和末尾各添加一個斷點,多次點擊執行,直到出現加密的文件名

6.執行到函數末尾,便可以在內存中看到解密后的xml了,在console窗口中輸入變量名n,即可完整得到解密后的XML了,可以把他從console中復制出來,保存在本地。

 

可見,krpano對XML保護並不夠理想,如果想得到更強的保護效果,可以從以下的幾個方面進行考慮

1.考慮對KEN這個加密文件頭進行處理,可以避免在調試時直接被定位到解密函數

2.考慮修改加密解密算法,防止被軟件自動解密

3.考慮分段解密,不在內存中某個位置出現完整的解密后的xml,增加解密的難度

 

如果你希望使用軟件進行自動解密XML文件,可以使用KRPano資源分析工具,詳情參見:http://www.krpano.tech/archives/76

 

最新博客地址:http://blog.turenlong.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM