润乾报表软件破解流程

原创 2016年08月29日 11:27:26

注解:本文仅作为技术学习,如果他人利用本文做非法商业活动与作者无责。


总体破解思路,分析软件读取 授权文件 流程,查找授权文件中哪些字段被用作检验正版的标识。修改这些标识,按照分析出来的流程生成授权文件,测试成功。

 

技术难点:授权文件分3部分,1、未作加密部分(5字节)

2、对下面证书信息hash+ 机器码

3、证书信息(如授权单位、供应商单位、系统类型、 润乾服务电话、润乾单位名称)

          其中 23、部分内容分别作RSA 公钥加密。Class文件中存放有公钥,但   是没有私钥,这就要求找到合适的RSA公私钥对,用自己的私钥加密明文   授权文件,把原来软件中的公钥(ne)替换成我们自己的公钥。替换公钥       需要修改class二进制文件,需要保证class文件结构不被破坏。


1、查找程序入口,下图中类为入口函数。


查看函数可知public static void loadConfig(ServletContext paramServletContext, String paramString, Context paramContext, boolean paramBoolean)为检测授权文件入口点。




下图为loadConfig 方法中读取授权文件内容到揭秘以后放入把各字段放入ExtCellSet 类中。





2、查找解析授权文件流程,ExtCellSet.get()  下图读取授权文件代码。


 

按字节读取授权文件,并进行解密,验证MD5 等工作。



查找关键代码

已经省略了MD5验证,明文格式转换等细节问题,最关键的就是这处公钥加密算法,用自己的公钥(ne)替换图中的公钥。


3、授权文件结构解析。下图为我自己机器生成的授权文件,即各段信息的解析



防破解建议方案的话,目前也没有更好的,将加密逻辑用c++编写,这样破解者只能分析二进制,进行修改代价比较大。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

润乾报表中常见的打印类问题的总结| 润乾软件

在解决润乾报表的打印类问题时,首先要知道打印与哪些文件相关,下面就列出了与打印相关的文件及位置: 1.runqianReport4Applet.jar 位置:应用根目录下 2.report4.ja...

润乾报表数据分组时通过“根格”将数据分组后再分组

作者:lianghc 需求描述 将项目信息按照部门汇总,然后根据起止日期计算出新增的和存续的规模总和。 需求如图: 其中技术难点是:备注中的存续规模合计和新增规模合计是在业务部门分组的基础上再分组,...

简易Brio报表制作流程

  • 2013-08-20 21:52
  • 326KB
  • 下载

润乾报表-jboss性能优化

jboss服务器在做性能优化的时候,一般有以下几点: 1.设置jvm 参数 安装jboss-native  2.降低jboss输出日志的等级  3.起用了jboss内的tomcat对传输数据...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)