“LeadOA协同办公平台”是一个很好用的OA办公系统平台,由成都领讯科技有限公司开发。此系统我同学两年前推广安装过,非常推崇它强大的二次开发功能,通过二次开发能实现很多不同的系统功能,实用性、通用性都比较强。
LeadOA协同办公平台试用版下载地址:http://www.doeip.com/
[hidden]最近朋友使用的此系统到期了,经过一番研究(其实原来研究过),了解了其中的注册授权方式,并实地进行了破除。本想写一个注册机出来,后来想想也算了,没必要将这个好用的商业软件置于大量的盗版之中。
实际上它的注册授权方法来源于对被授权者的名称、日期、域名及版权信息的字串进行MD5加密,以此来判断使用者的合法信息。
主要判断代码如下:
[code js=lang]FormsAuthentication.HashPasswordForStoringInConfigFile(list2[0].ToString() + list2[1].ToString() + list2[2].ToString() + list2[3].ToString() + list2[4].ToString() + list2[5].ToString(), “MD5”) != “B57A3655631BD1714D959E9E45B9F42A”[/code]
加密的主要信息有:
“company+num+limit+usecms+domain+ProductCompany”
这些信息通过Web.Config在获取。
由于MD5加密工具生成结果有些不一样,与此软件加密相同的地址:
最近查看了“LeadHouse房源信息管理系统”,都是一个公司开发,加密方式也是一样的:
[code js=lang]FormsAuthentication.HashPasswordForStoringInConfigFile(list2[0].ToString() + list2[1].ToString() + list2[2].ToString(), “sha1”) != “7F3827874A258391F5B040574119423B8B52E564″[/code]
“company+num+limit ”
这些信息通过Web.Config在获取。
由于sha1加密工具生成结果有些不一样,与此软件加密相同的地址:
再注意一个问题是,本程序因是开发的比较早,花费了开发公司数年时间,所以是用的.Net1.0,如果使用.Net 2.0将会出错,而出错提示会被转到软件自定义错误,让人难发现错误的原因。
logon模块下的a()中代码有:
if ((FormsAuthentication.HashPasswordForStoringInConfigFile(list2[0].ToString() + list2[1].ToString() + list2[2].ToString() + list2[3].ToString() + list2[4].ToString() + list2[5].ToString(), “MD5”) != “B57A3655631BD1714D959E9E45B9F42A”) == null)
{
goto Label_01AD;
}
MD5码具体位置十六进制的00590416处
[/hidden]