润乾报表软件破解流程

原创 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++编写,这样破解者只能分析二进制,进行修改代价比较大。


微信小程序实战篇-购物车

哈喽,大家好,快半个月没写了,现在提笔都有点生硬了,一直没更新的原因,一个是代码君也要上班,加上最近工作比较忙,还有就是写文章一直未被认可,所以没什么动力再创作了,那时真的坚持不下去,打算放弃了,感谢...

JDBC连接超时问题

这两天遇到一个问题,早上来了登录我们的项目网站第一次登录总是登不上去,第二次就好了,我看了一下后台的报错信息是这样的: The last packet successfully received ...
  • Trigl
  • Trigl
  • 2016年07月28日 20:10
  • 5808

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

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

新中大报表使用流程及公式设置

  • 2015年08月07日 13:41
  • 290KB
  • 下载

润乾V4实现行式报表新增行内数据的校验

润乾V4 行式填报表 页面录入数据重复性校验

润乾报表v4中sql和参数信息输出到指定文件

有客户需要将报表名称、报表数据集sql、报表参数值、访问报表时间、登录人信息都输出到指定文件,这样可以追踪敏感报表被访问的情况。 分析 需求中提到的登录人信息、访问报表时间以及报表名称都可以直接获...

水晶报表制作流程(图解)

  • 2011年04月19日 12:46
  • 327KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:润乾报表软件破解流程
举报原因:
原因补充:

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