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文件,可以参考这篇文章http://rentu.azurewebsites.net/post/2016/08/23/krpano-krpano-xml

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

【krpano】加密XML手动解密分析的更多相关文章

  1. KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  2. 【krpano】krpano xml资源解密(破解)软件说明与下载(v1.4)

    欢迎加入qq群551278936讨论krpano技术以及获取最新软件.   该软件已经不再维护,现在已经被KRPano资源分析工具取代,详情参见 http://www.cnblogs.com/reac ...

  3. SQLPROMPT5.3对各种加密对象的解密测试

    SQLPROMPT5.3对各种加密对象的解密测试 测试环境: SQL2005个人开发者版 SP4 SQLPROMPT版本:5.3.8.2 视图 CREATE VIEW aa WITH ENCRYPTI ...

  4. AS3读取加密XML

    首先要确定xml使用了哪些加密方式,这样在As3中就反过来解密. 我加密xml的方式是先将xml文件打包为一个压缩文件,然后将压缩文件进行RC4加密,最后用base64将加密过的压缩包转为base64 ...

  5. 易企秀H5 json配置文件解密分析

    最近需要参考下易企秀H5的json配置文件,发现已经做了加密,其实前端的加密分析起来只是麻烦点. 抓包分析 先看一个H5: https://h5.eqxiu.com/s/XvEn30op F12可以看 ...

  6. C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法

    因为C#的RSA加密解密只有公钥加密,私钥解密,没有私钥加密,公钥解密.在网上查了很久也没有很好的实现.BouncyCastle的文档少之又少.很多人可能会说,C#也是可以的,通过Biginteger ...

  7. des加密解密——java加密,php解密

    最近在做项目中,遇到des加密解密的问题. 场景是安卓app端用des加密,php这边需要解密.之前没有接触过des这种加密解密算法,但想着肯定会有demo.因此百度,搜了代码来用.网上代码也是鱼龙混 ...

  8. Java 前端加密传输后端解密以及验证码功能

    目录(?)[-] 加密解密 1 前端js加密概述 2 前后端加密解密 21 引用的js加密库 22 js加密解密 23 Java端加密解密PKCS5Padding与js的Pkcs7一致 验证码 1 概 ...

  9. C#DES加密,JavaDES解密,另转C#和Java实现Des完整代码

    C#DES加密,JavaDES解密,另转C#和Java实现Des完整代码 转载 2014年06月17日 17:36:09 标签: DES / C#DES / JavaDES / C#和Java交叉DE ...

随机推荐

  1. Stream与byte[]与Image与string

    public byte[] GetByteImage(Image img) { byte[] bt = null; if (!img.Equals(null)) { using (MemoryStre ...

  2. Android自定义九宫格图案解锁

    转自: http://blog.csdn.net/shineflowers/article/details/50408350

  3. bzoj3052: [wc2013]糖果公园

    又是一代神题. uoj测速rank10,bzoj测速rank26(截止当前2016.5.30 12:58) 带修改的树上莫队. 修改很少,块的大小随便定都能A 然而我一开始把开3次根写成了pow(bl ...

  4. ElasticSearch中bulkProcesser使用

    初次接触es,可能对增删改查很熟悉,以为能为得心应手,本次应用场景为 数据库变更一条记录,会触发更新es中的数据,每秒并发大概30条左右,测试环境一切工作正常(数据量较少),上线后发现日志中很多类似于 ...

  5. Markdown编辑器测试

    Markdown 我是二级标题 public void add(int a,int b){ } 我是引用 我是分割线 - - - 1.x小项目1 2.项目2 无标题 无标题 家畜 ''' 代码块 '' ...

  6. Android 热修复方案Tinker

    转自:http://blog.csdn.net/l2show/article/details/53925543 Android 热修复方案Tinker(一) Application改造 Android ...

  7. MSSQLServer 纵向表转横向表 横向表转纵向表 行转列 列转行

    MSSQLServer 纵向表转横向表  横向表转纵向表 建表语句及插入数据语句: CREATE TABLE Test_y( ) NULL, ) NULL, [Grade] [int] NULL ) ...

  8. Python Day17

    jQuery jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发,并且在 ...

  9. coreseek安装

    一.  Sphinx简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.Sphinx可以非常容易的与 ...

  10. redis 常用命令

    临时启动:redis-server.exe redis.conf/redis-server redis.windows.conf安装Windows服务:redis-server.exe --servi ...