ANTS Profiler的主要功能如下:
" Code profile .NET applications
" Profile application memory use
" Profile both .NET desktop applications and ASP.NET web applications
" Optimize your code
不废话了,直接来过程。
先运行一下,提示14天试用期,输入序列号。如果输入错误的序列号则提示Please enter a valid serial number"。用Reflector打开试试,运气好,发现软件混淆强度较弱(只有少部分使用了不可打印字符),再查发现有强命名。
目录下有两个文件很可疑,RedGate.Licensing.Client.dll和RedGate.Licensing.Helper.dll(发现这两个文件一是看目录下的文件名,二是调试时会发现有这两个模块,见下节)。同样,用Reflector载入。搜索字符串"valid serial",很容易就来到了判断序列号的地方。(晕,关键的东东不混淆,而且敏感字符串以明文出现,好久没遇到这么爽的.Net程序了。)
try
{
string text1 = this.?.Text.ToUpper().Trim();
if (text1 == "I NEED MORE TIME")
{
if (this.?.?())
{
this.?((?.?) 6);
return;
}
MessageBox.Show("Your trial could not be extended", "Trial extension failure", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
this.?.SerialNumber = this.?.Text;
}
catch (?)
{
MessageBox.Show("Please enter a valid serial number", "Invalid serial number", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
public string SerialNumber
{
get
{
return this.?;
}
set
{
value = value.Trim();
if (!Licence.?(value, this.?))
{
throw new ?();
}
this.? = value;
}
}