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. Gulp:自动化构建工具

    一.介绍: gulp是一个基于流的构建工具,可以自动执行指定的任务,简洁且高效 二.优点: 开发环境下,想要能够按模块组织代码,监听实时变化 css/js预编译,postcss等方案,浏览器前缀自动补 ...

  2. webpack构建vue项目(再谈配置)

    webpack配置起来确实麻烦,这不,之前用刚配好了vue1+的版本,结果在(部分)安卓机上测试,发现存在开启热加载(dev-server)的情况下不能识别vue语法的问题,试了很多方法,都没能很好的 ...

  3. KMP算法实现

    链接:http://blog.csdn.net/joylnwang/article/details/6778316 KMP算法是一种很经典的字符串匹配算法,链接中的讲解已经是很明确得了,自己按照其讲解 ...

  4. 贝塔阶段html及pdf模块测试

    这次虽然工作内容是将c#的html及pdf处理程序移植到java中,但是由于重新编写代码使得先前的工作成果得不到利用,于是将其编写为dll,再在java端调用. 这使得在java端即便每个分支都到达, ...

  5. BZOJ 1876: [SDOI2009]SuperGCD

    1876: [SDOI2009]SuperGCD Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 3060  Solved: 1036[Submit][St ...

  6. 收集移动端HTML5/H5使用的插件

    日期: http://t.cn/R2UOFoW 地区: http://www.jq22.com/jquery-info8371 头像: http://fex.baidu.com/webuploader ...

  7. .net 过滤json等字符串里的特殊字符

    JSON现在是很常见的处理数据的方式了,但是在使用JSON的时候,有些特殊字符会让我们得到非预期的结果.JSon数据中常见的特殊字符有:引号,正斜杠,反斜杠,换行符号等.下面介绍JSON中的特殊字符该 ...

  8. Dev控件GridView单元格绑定控件

    Dev控件GridView单元格绑定控件 //文本按钮 RepositoryItemButtonEdit btnFields = new RepositoryItemButtonEdit();//创建 ...

  9. Windows10配置NFS服务端和客户端

    环境:Windows10企业版x64 安装服务端 安装hane win nfs server,版本1169(官方最新版1223经试验不成功). 设置如下: 以管理员身份重启服务(注:软件界面上&quo ...

  10. JavaScript 中 Number()、parseInt()、parseFloat()的区别

    Number(): 概述:Number 对象由 Number() 构造器创建,是经过封装的能让你处理数字值的对象.在非构造器上下文中 (如:没有 new 操作符),Number 能被用来执行类型转换. ...