本帖最后由 cndml 于 2018-9-7 14:36 编辑 软件注册后才有的导出,打印功能正常。 2、第一步寻找破解注册突破口。 先运行一下程序: 作者非常好心,在登录窗口有一句提示 “注册后不显示密码,od加载程序,搜索字符串很容就找上述提示 在提示信息前面翻了翻,没有找到跳转可以跳过,注意看下面不远有个jnz,跳过的程序段是showwindows函数,很明显这个cmp地址是关键. 3、查找注册标志。 在关键地址上下硬件写入断点,重载运行,将内存地址强制改成2 运行起来,果然好像注册成功了。 注册标志找找对了,以为如此简单,那就大错特错,运行起来显示还是未注册。看来要跟踪注册流程。 4、查找注册关键call 想拦截注册事件,可是注册码窗口禁止输入,点击注册又需要输入注册码,知道肯定是程序运行改了窗口属性,搜索所有命令push 1;push 0xcf 找到10几个全部下断点,重载运行。最终找到修改窗口属性的关键点,前后对程序进行跟踪分析一下算法,发现单位名称只能输入中文且必须大于4个汉字,授权码根据单位名称进行计算,规律是,以字节为单位取补码,然后乘以位数的平方,累加和转换成10进制,头部加上两个字符ac,输入正确的授权码后,注册码就可以输入了。 5、跟踪注册过程,发现会先检查软件安装目录下有无注册文件reg.hrc,对注册文件的检查,有两个关键call 第一个关键call对注册文件进行解码,就是简单的xor一下,然后在\init目下释放链接库read.dll,该文件只有两个函数一个注册HRKT,一个检查CHECKP 第二个关键call对注册码进行复杂计算,然而比较只用了一个strcmpA,算法再复杂也没啥用。 6、对两个关键call进行跟踪,找到两个关键点,注册不成功eax=1,都改成2就可以骗过。见下图: 7、以为到此破解成功,没想到运行起来,导出功能正常,打印功能直接没有。 研究半天也没找到问题在哪,跟踪了一下注册过程,发现对注册码长度有要求,位数不够生成的注册文件没有打印功能,20位的注册码才有打印功能,但是找不到哪里写的标志。有空再找!最终测试一切功能正常!另外,注册信息保存在access数据库里,没有也是不行的。 8、总结:软件注册加密详细分析:此软件注册验证过程全部放在一个临时释放dll中,其实就是软件目录下的mfcdb.dat文件,但是前200H个字符也就是文件头被简单异或加密了(xor H19),注册过程就是先计算出序列号,然后根据单位名称计算出授权码控制注册码输入,前面已经说过;注册码是对序列号进行加密,解密后与序列号进行串比较,相等则注册成功,软件目下写入一个reg.hrc文件,此文件有序列号以及解密过程中执行到不同步骤写入的标志,最后按字节异或文件长度,再异或 H19进行简单加密存盘。程序每次启动先检查是否存在reg.hrc文件,解密后读取hr.mdb中存储的单位名称以及注册码,并与reg.hrc保存的进行比对,然后解密注册码与序列号比较验证,成功则写入相应标志。至于注册机,经过对算法详细跟踪分析以及采用密钥替换测试,最终发现确实使用的是rsa加密,由于模数只有80位,大数分解基本上是秒破,唯一闹心的就是公钥E使用的是40位,而标准rsa加密使用的65537,只能自己改写程序计算私钥,rsa注册机网上不少模板,这里用vb改写的rsa注册机,测试成功,总算是完美破解!有图有真相!关于版本,标准版与网络版程序完全相同,只有一个字节的版本标志不同,0是标准版,1就是网络版。 9、补充:看跟帖及评分好多人要注册机,看来这个软件很受欢迎,作者已经升级到8.0版了,并且好像把注册功能都给阉割了,5.3版本的注册机还能用于注册,具体方法在回复贴里有说明。
新动力注册机.rar
2018-9-7 14:30 上传 点击文件名下载附件 下载积分: 吾爱币 -1 CB19.23 KB, 下载次数: 2783, 下载积分: 吾爱币 -1 CB 新动力5.3注册机 免费评分 参与人数 47吾爱币 +53 热心值 +41 理由 查看全部评分 (责任编辑:) |