求一款已无厂商的报表软件破解思路
本帖最后由 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. 如果是生成摘要和签名,摘要可能好弄一点,但是如果是我写签名的话,应该是会用私钥加密摘要作为签名的,校验的时候都用公钥解密就可以了,但这样的话该如何破解?
小白第一次破解,求思路,求指点
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 小猫猫 发表于 2019-7-15 09:08
软件名是??
Acuate iServer
该厂已倒闭,能搜到的资料不多,我百度+谷歌也只是找到了一些软件文档。我可以提供安装包,但不能提供可用license 来过来学习一下 软件名是?? 路过,,,来学习一下 都知道 “私钥加密摘要作为签名的,校验的时候都用公钥解密就可以了”,还是小白马? shghe 发表于 2019-7-15 09:21
都知道 “私钥加密摘要作为签名的,校验的时候都用公钥解密就可以了”,还是小白马?
科班出身,理论学的多,没搞过逆向
求助啊 yjn866y 发表于 2019-7-15 09:11
路过,,,来学习一下
真诚求思路,求帮助 keephappy 发表于 2019-7-15 09:07
来过来学习一下
求思路求帮助,目前有点卡住了。。。只能先学学IDA权威指南,但是具体分析思路不太明白。我更新了软件包,请您帮帮我 fuxiaoye 发表于 2019-7-15 10:15
Acuate iServer
该厂已倒闭,能搜到的资料不多,我百度+谷歌也只是找到了一些软件文档。我可以提供安装 ...
安装包来一份盘一下?:lol
页:
[1]
2