|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。破解前阵子有网友叫我协助破解一个控件.用Dotfuscator搅浑了的,字符串也加密成这类情势
IL_2b19:ldstrbytearray(9FFA9AFC9EFE8B006E027104)//........n.q.
IL_2b1e:callstringa$PST06000001(string)
.net软件的回护办法不过就是限试用工夫,限会见IP,用licensekey,运转时显现版权提醒这几种.
限工夫或IP是最简单弄定的,不管有无被搅浑,他都要挪用framework的器材,而framework里的器材没法搅浑,以是查找DateTime,Request之类的字眼,几下就弄定.
假如用key,也简单跟踪,最少他对外曝露了一个类来吸收key.假如控件在反省到在不法利用时抛出个非常,那是个更愚昧的做法,由于.net会供应堕落时的挪用仓库,便利我跟踪.显现版权提醒并且字符给搅浑的就最难办了(没搅浑的却是简单,查找就是了)由于他历来不会像正式版那样事情.
独一难倒我的控件是IntersoftWebGrid.net3.5,由于他用RemotesoftProtector处置过.这Protector不算搅浑器,他是把.net的代码做成win32镜像,只把元数据保存.破他处置过的控件和破加了密的win32程序一样难,我没如许的本领.固然利用这器材的软件也很少,由于太贵了,要上千美金
此次破的是一个Chart控件的试用版,他在衬着图表时留下了淡淡的声明版权的水印.要破他只能从他搅浑字符串的函数动手了,就是stringa$PST06000001(string).要写个逆运算的函数
用反编译器反编译了这个函数:
privatestaticstringa(stringA_0)
{
char[]chs=newchar[(uint)A_0.Length];
inti=732379897;
for(intj=0;j<(int)chs.Length;j++)
{
charch=A_0.Chars(j);
byteb1=(byte)(ch&u00ff^i++);
byteb2=(byte)(ch>>^i++);
chs[j]=(ushort)(b2<<8|b1);
}
returnstring.Intern(newstring(chs));
}
第一眼看来,仿佛很难动手.搅浑历程居然又AND又移位又XOR又OR,另有两其中间变量,然后又混在一同...可是这个算法必定是可逆的,否则他怎样能被加密然后解密.公然,细心一看,内里有良多中央是恐吓人的.原本AND和OR基本是不成逆的,能够一定相干的运算是废的:
第一句byteb1=(byte)(ch&u00ff^i++);b1是8位整数,以是ch&ff基本不会改动甚么,因而能够简化为(byte)(ch^i++)
第二句byteb2=(byte)(ch>>^i++);没看到甚么不当,ch是16位的,右移8位大概会有影响
第三句chs[j]=(ushort)(b2<<8|b1);又在唬弄人了,b2是8位,右移8就是0了,0|b1就是b1
好了,简化后的函数是
privatestaticstringa(stringA_0)
{
char[]chs=newchar[(uint)A_0.Length];
inti=732379897;
for(intj=0;j<(int)chs.Length;j++)
{
charch=A_0.Chars(j);
chs[j]=(byte)(ch^i++);
i++;
}
returnstring.Intern(newstring(chs));
}
这下就复杂了,^的逆运算就是^,他自己就是加密办法!我能够依据水印的字符往il里查找了,不外这里另有个唬人的中央,由于这函数用byte来处置,以是搅浑后的高8位应当是0,可是il里搅浑的字符串高8位另有器材,分明是随机加上往的,对解密了局没影响.因而,我把加密后的字符用通配符来查找,比方9F??9A??.找到了显现版权信息的函数了,把它清空,弄定!
这居然仍是ms保举的搅浑器...
PostedbyYokatSeptember7,200409:48PM|TrackBack
Comments
Yok居然成为.Net破解妙手了?
</p>ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 |
|