首先打开7i24setsafe.exe,提示“本服务器没有安装星外虚拟主机管理平台,无法运行!”,用Reflector打开7i24setsafe.exe,找到关键代码:
private void x80c5917e13d6bc71(object xe0292b9ed559da7d, EventArgs xfbf34718e704c6bc)
{
bool flag = true;
try
{
string str;
RegistryKey localMachine = Registry.LocalMachine;
goto Label_001C;
Label_000A:
if (15 == 0)
{
goto Label_0039;
}
goto Label_00DA;
Label_0013:
flag = false;
if (-2 != 0)
{
goto Label_000A;
}
Label_001C:
str = localMachine.OpenSubKey(@"Software\LIWEIWENSOFT\INSTALLFreeHost\").GetValue("9").ToString();
Label_0039:
if (str == "731b75180403a78ba727dec1c1f6d36f49d708527f30f9739694f11f6b0d12cc")
{
goto Label_0013;
}
}
catch
{
flag = false;
}
goto Label_00DA;
Label_005C:
while (!flag)
{
MessageBox.Show("本服务器没有安装星外虚拟主机管理平台,无法运行!");
if (0 != 0)
{
return;
}
if (2 != 0)
{
Application.Exit();
if ((((uint) flag) - ((uint) flag)) > uint.MaxValue)
{
}
return;
}
}
return;
Label_00DA:
if (flag)
{
if ((((uint) flag) - ((uint) flag)) < 0)
{
goto Label_00DA;
}
goto Label_005C;
}
try
{
RegistryKey key4;
string str2;
RegistryKey key3 = Registry.LocalMachine;
goto Label_0130;
Label_00EF:
flag = false;
goto Label_005C;
Label_00F3:
flag = true;
goto Label_005C;
Label_00F7:
do
{
str2 = key4.GetValue("9").ToString();
}
while (0 != 0);
if (!(str2 == "731b75180403a78ba727dec1c1f6d36f49d708527f30f9739694f11f6b0d12cc"))
{
goto Label_00F3;
}
goto Label_012D;
Label_011D:
key4 = key3.OpenSubKey(@"Software\LIWEIWENSOFT\INSTALLFreeHostMain\");
goto Label_00F7;
Label_012D:
if (0 == 0)
{
goto Label_00EF;
}
Label_0130:
if (((uint) flag) >= 0)
{
}
goto Label_011D;
}
catch
{
flag = false;
goto Label_005C;
}
if ((((uint) flag) + ((uint) flag)) >= 0)
{
goto Label_005C;
}
goto Label_00DA;
}
从以上代码看到,程序是检测注册表项来判断是否可用的,我只需要按照上面的写入注册表就行了,用E语言写了个注册表写入的,测试成功,源码如下:
.版本 2
.程序集 启动窗口程序集
.子程序 _写注册项按钮_被单击
.局部变量 逻辑变量, 逻辑型
逻辑变量 = 写注册项 (#本地机器, “SOFTWARE\LIWEIWENSOFT\INSTALLFreeHostMAIN\9”, “c7d6c241c1fb321ae6df39d248723830c7d6c241c1fb321ae6df39d248723830”)
.如果 (逻辑变量 = 真)
信息框 (“破解成功”, 0, )
.否则
信息框 (“破解失败”, 0, )
.如果结束
.子程序 __启动窗口_创建完毕
.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
由于编译的时候加入了库:krnln.fnr所以程序变成了548K