fuxiaoye 发表于 2019-7-15 08:54

求一款已无厂商的报表软件破解思路

本帖最后由 fuxiaoye 于 2019-7-15 11:32 编辑

当前手里有一个09年的时候买的商用报表软件,现在该厂已倒闭,官网都没了。。。
很尴尬,当时买的时候是没有限制使用日期的,但是有配置限制,配置文件类似以下格式:
<?xml version="1.0" encoding="UTF-8"?>
<SystemLicense
   xmlns="http://schemas.actuate.com/license/v8">
    <Info
         XMLID="License">
      <LicenseInfo
             Mode="Enterprise"
             CPULimit="4"
             LicenseID="95966"
             UsageType="Production License"
             IsOfficial="true"
             LicenseType="NamedUser"
             ServicePack="4"
             IsNodeLocked="false"
             MajorRelease="11"
             IsDevelopment="false"
             BIRTOnlineWorkUnits="8"
             BIRTFactoryWorkUnits="1"
             BIRTDataAnalyzerWorkUnits="8">
            <LicensedOptions>
                <LicensedOption
                     Name="BIRTDataAnalyzer"
                     Users="10"/>
            </LicensedOptions>
      </LicenseInfo>
    </Info>
    <dsig:Signature
         xmlns="http://www.w3.org/2000/09/xmldsig#"
         xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
      <SignedInfo>
            <SignatureMethod
               Algorithm="http://algorithms.actuate.com/license/signature"/>
            <Reference
               URI="#License">
                <DigestMethod
                     Algorithm="http://algorithms.actuate.com/license/digest"/>
                <DigestValue>此处是摘要</DigestValue>
            </Reference>
      </SignedInfo>
      <SignatureValue>此处是很长很长的签名</SignatureValue>
    </dsig:Signature>
</SystemLicense>
如今想破解该软件,使得改动后的XML配置文件可以通过校验。安装的时候是./isinstall.sh,初步看了一下安装的时候就有几步license校验:

把acreadlicense拖入IDA分析main函数如图:



分别使用合法license和非法license(只改了配置没改摘要和签名)连接linux服务器远程调试,最后一步之前走的线路都一样。还发现两个函数ReadLicense和TestSignature走的线路不一样。
函数名实在太多有8000多个,不知从何分析起,希望有大神提供一下思路。
在linux下面acreadlicense可执行,./acreadlicense -f 证书文件,会输出status作为校验结果
附上acreadlicense和一个修改过的license文件,安装包比较老旧,需要安装在比较老版本的linux上,我安装的时候用的redhat5.9,调试的时候用的kali(因为kali内核版本高安装不上软件,5.9libc版本太低装不上IDA调试服务器程序linux_server程序)
链接:https://pan.baidu.com/s/1xeSmhrPa4yeJObSA_GhrcA
提取码:atv2


软件安装包:
链接:https://pan.baidu.com/s/1veC3d8pmC5ULTUUlBTud4w
提取码:yqm2

1. 求破解思路,是应该想办法写注册机生成摘要和签名,还是应该分析走的线路更改走的判断分支?或者有其他的思路求各位大神不吝赐教
2. 这个软件安装完之后先在服务器执行start_srvr.sh startPostgreSQL.sh,然后是在浏览器执行http://ip地址/acadmin/config启动,启动后也有更新license的入口,所以我担心是不是就算acreadlicense更改分支绕过判定了软件也不能成功执行?
3. 如果是生成摘要和签名,摘要可能好弄一点,但是如果是我写签名的话,应该是会用私钥加密摘要作为签名的,校验的时候都用公钥解密就可以了,但这样的话该如何破解?

小白第一次破解,求思路,求指点

fuxiaoye 发表于 2019-7-15 13:02

huzpsb 发表于 2019-7-15 12:28
安装包来一份盘一下?

主贴里有写:
附上acreadlicense和一个修改过的license文件,安装包比较老旧,需要安装在比较老版本的linux上,我安装的时候用的redhat5.9,调试的时候用的kali(因为kali内核版本高安装不上软件,5.9libc版本太低装不上IDA调试服务器程序linux_server程序)
链接:https://pan.baidu.com/s/1xeSmhrPa4yeJObSA_GhrcA
提取码:atv2


软件安装包:
链接:https://pan.baidu.com/s/1veC3d8pmC5ULTUUlBTud4w
提取码:yqm2

fuxiaoye 发表于 2019-7-15 10:15

小猫猫 发表于 2019-7-15 09:08
软件名是??

Acuate iServer
该厂已倒闭,能搜到的资料不多,我百度+谷歌也只是找到了一些软件文档。我可以提供安装包,但不能提供可用license

keephappy 发表于 2019-7-15 09:07

来过来学习一下

小猫猫 发表于 2019-7-15 09:08

软件名是??

yjn866y 发表于 2019-7-15 09:11

路过,,,来学习一下

shghe 发表于 2019-7-15 09:21

都知道 “私钥加密摘要作为签名的,校验的时候都用公钥解密就可以了”,还是小白马?

fuxiaoye 发表于 2019-7-15 10:13

shghe 发表于 2019-7-15 09:21
都知道 “私钥加密摘要作为签名的,校验的时候都用公钥解密就可以了”,还是小白马?

科班出身,理论学的多,没搞过逆向
求助啊

fuxiaoye 发表于 2019-7-15 10:49

yjn866y 发表于 2019-7-15 09:11
路过,,,来学习一下

真诚求思路,求帮助

fuxiaoye 发表于 2019-7-15 10:51

keephappy 发表于 2019-7-15 09:07
来过来学习一下

求思路求帮助,目前有点卡住了。。。只能先学学IDA权威指南,但是具体分析思路不太明白。我更新了软件包,请您帮帮我

huzpsb 发表于 2019-7-15 12:28

fuxiaoye 发表于 2019-7-15 10:15
Acuate iServer
该厂已倒闭,能搜到的资料不多,我百度+谷歌也只是找到了一些软件文档。我可以提供安装 ...

安装包来一份盘一下?:lol
页: [1] 2
查看完整版本: 求一款已无厂商的报表软件破解思路