MicroStation 插件tmatch破解流程纪要 tmatch 011.016

 MicroStation 是国际上和AutoCAD齐名的二维和三维CAD设计软件,terramatch (tmatch)是其一个插件,该插件需要注册,我们就来把它解除之。 

 

 

提示输入名字,注册码等信息。按照这个对话框至少可看出计算机名被绑定了。里面有试用时间的限制。

思路一:

因为试用时候跟正版的功能是一样的,首先可以考虑能否把试用时间设置为无限长。

对敏感的时间API下断看看:

FileTimeToSystemTime

SystemTimeToFileTime

FileTimeToLocalFileTime

LocalFileTimeToFileTime

GetLocalTime

localtime

结合自己更改系统时间,了解了系统每次load tmatch做了以下事情:

1,获得当前时间。

2,获得tmatch.dll,tmatchsb.dll已经当前运行的实例的时间,如果发现系统设置的当前时间早于文件时间,那么认为用户恶意地调整了系统时间,发出时间被调整的提示。并且此时不导入tmatch。

3,如果比较文件时间早于当前时间,那么认为系统时间是正常的,此时去读取tmatch.app的时间信息,如果发现系统当前时间早于tmatch.app的所读取出来的时间,那么仍然以tmatch.app的时间为准。

4,鉴于以上分析,如果要使文件使用时间无限延长,那么需要注意更改以下几个地方,使其协调工作:

A,GetLocalTime返回的时间点。

B,FileTimeToLocalFileTime的返回点。

C,读取tmatch.app的返回点。

只要把以上时间改成一致,那么试用的时间便无限延长了。

 

思路二:

只有在不能注册的情况下,才考虑试用时间的无限延长,因为试用毕竟是试用,看起来就不爽。那好吧,来看看对注册方面的验证信息。先随便填写注册信息,发现其保存为tmatch.lic。对tmatch.lic的文件读取设置断点,一步步跟踪,发现对注册码等信息的判断流程基本上是这样的:

1,首先获取计算机名,如果计算机名与lic里面的计算机名不一致的话,那么直接认为还没注册。

2,如果计算机名正确,那么由计算机名生成一段CODE,该CODE与lic中的code进行比较,如果不一致,认为没注册。

3,把CODE和NUMBER解析,还原为到期时间。判断到期时间是否到期,如果到期,直接提示。

 

根据以上流程,由于生成的CODE为明码,那么可以直接生成,难点在于CODE和NUMBER的解析逆向,有两种思路解除:

1,随便构造NUMBER,在最后生成到期时间时更改程序,该方法比较简单,但是还是要更改代码。

2,逆向NUMBER的值,从而到达生成注册机的作用。

稍微跟踪了下,不是使用大型算法,直接抠出来或dll注入运算都可得出正确的值。

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值