DBMOto不成功试用记

最近需要用到Informix,必须将Oracle数据库的数据移植到Informix环境下面,网上搜索,找到了DBMoto 6.5这个工具,据说定位于“Real-time data replication and data integration”,接下来,开始遭受重重打击了。
第一步,安装,安装程序包,大概12M左右,安装过程中居然要License,但是本人通过email申请的使用license还没有发过来,过了几天,收到一封email,里面提到XX销售代表通过电话未能联系到,所以不能发放License,唉,咱也就试用体验一下,至于这样吗?让我想起了以前的pointbase数据库,如果你想下载一份试用版,也必须销售人员电话与你确认才能下载,后来好景不长,pointbase被DataMirror收购,开始提供下载了,再后来,DataMirror被IBM收购,可惜IBM有cloudscape,从此Pointbase从地球上消失了....,想下载也没有了。

没办法,此处研究了一下安装程序,在解压到%temp%目录之后,其中有一个文件SetupHelper.dll文件,这个文件会判断lic文件是否正确,此处祭出ilasm/ildasm大法,轻松过关,安装完成了。

进入程序,打开EnterpriseManager.exe,需要有效的lic文件,由于拦路虎了,此处祭出Reflector,经过研判,了解了一些信息,lic文件采用RSA-SHA1签名的XML文件格式,首先验证RSA签名,至于公钥来自于assembly中的一张资源图片BMP,过程中咱有学习了一下BMP文件的LSB算法,至于怎么读出来的就没有细看了,反正从BMP中读到了RSA中的P*Q,可惜.net的密钥长度至少1024,不可能分解的了。

继续,查到某方法计算calc(company,type,key)得到=>product,license isValid,issuedate,expiredate,target db,source db,maxparis,allow script,allowsync等参数,实际可能赋值为
0x3ea,0,Date.Now,0,[enum数据库类型],[enum数据库类型],0,true,true,直接将该方法改写,直接返回上面的值,同时还有一个类似的方法一样修改掉,去掉XML验证签名算法,IL修改完毕。

接下来同步public token,将涉及到的dll,exe等的public token去掉,重新编译,看了一下,大概要修改13个文件,真费功夫啊!最后还得把EMUtil.dll中的资源名称修改一下,否则出现资源错误。随便做个 lic文件,终于可以进去了。

 

经过试用,选择source或者target,新增连接的时候怎么都找不到provider,不知道是否与我的电脑没有安装这些动西有关,我的电脑只安装了SDK,没有SQL Server或者Oracle的provider,

无奈放弃试用了,毕竟咱不是买的,不能寻求支持。卸载,删除软件及一切痕迹,最后特发文以记之。

通过该软件,我们了解了如下技术:RSA,RSA-SHA1,XML Sign/Verify,BMP LSB,Setup injection,Dotfuscator

posted @ 2008-10-30 16:31  在路上...  阅读(957)  评论(2编辑  收藏  举报