转:IrisSkin换肤软件 DotNET的一次破解过程
IrisSkin,这是为DotNET程序做的一个换皮肤插件。发布此版只是为了共同交流研究,如果感觉好,请大家支持正版软件。
个人感觉此换肤软件的免费皮肤多,而且漂亮,但是刷新有点儿慢。
目前官方最新版本为:V3.6 版 官方网址:http://www.sunisoft.cn/
未破解前,有一个对话框,破解思路,去掉显示的对话框,再重新编译
破解工具:ildasm ilasm UEDIT(个人习惯使用,这个随便了) [注] ildasm[vs2003版]可以到看雪下载修改版,原版的有限制
1. 用ildasm打开IrisSkin.dll,然后转存成aaa.il
2. 查找messagebox,找到如下代码
.method public hidebysig static void
xf4f948f95d7023bb() cil managed
{
// 代码大小 61 (0x3d)
.maxstack 3
.locals (string V_0)
IL_0000: ldstr "dkledamgeihfpboeepjfhbcgjocgabkgnakiimgjjgciofokac"
+ "pdgegekdnebeefoblfddcgocjgadahlmfhodhnffmoofmopeiocneaadmpglgkojkdmiccn"
+ "coaakdpikkmckbn"
IL_0005: ldc.i4 0x70eafb
IL_000a: call string xb9d8bb5e6df032aa.x1110bdd110cdcea4::_xaacba899487bce8c(string,
int32)
IL_000f: call string [mscorlib]System.String::Intern(string)
IL_0014: stloc.0
IL_0015: ldloc.0
IL_0016: ldstr "cmfdlmmdimdebmkeiibfkhifhhpfmlggjlngglehkglhmkcilk"
+ "jibkajjjhjakojjjfknimkijdlpeklbibmjiimhepmohgneinniheophlomhcpbhjpmgaao"
+ "ghamcoa"
IL_001b: ldc.i4 0x419b355a
IL_0020: call string xb9d8bb5e6df032aa.x1110bdd110cdcea4::_xaacba899487bce8c(string,
int32)
IL_0025: call string [mscorlib]System.String::Intern(string)
IL_002a: call string [mscorlib]System.String::Concat(string,
string)
IL_002f: stloc.0
IL_0030: ldloc.0
IL_0031: ldstr " "
IL_0036: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]
System.Windows.Forms.MessageBox::Show(string,
string) // 试用版显示对话框的地方
IL_003b: pop
IL_003c: ret
} // end of method x448fd9ab43628c71::xf4f948f95d7023bb
3. 把显示消息框的地方注释掉,如下
.method public hidebysig static void xf4f948f95d7023bb() cil managed
{
// 代码大小 61 (0x3d)
.maxstack 3
.locals init (string V_0)
IL_0000: ldstr "dkledamgeihfpboeepjfhbcgjocgabkgnakiimgjjgciofokac"
+ "pdgegekdnebeefoblfddcgocjgadahlmfhodhnffmoofmopeiocneaadmpglgkojkdmiccn"
+ "coaakdpikkmckbn"
IL_0005: ldc.i4 0x70eafb
IL_000a: call string xb9d8bb5e6df032aa.x1110bdd110cdcea4::_xaacba899487bce8c(string,
int32)
IL_000f: call string [mscorlib]System.String::Intern(string)
IL_0014: stloc.0
IL_0015: ldloc.0
IL_0016: ldstr "cmfdlmmdimdebmkeiibfkhifhhpfmlggjlngglehkglhmkcilk"
+ "jibkajjjhjakojjjfknimkijdlpeklbibmjiimhepmohgneinniheophlomhcpbhjpmgaao"
+ "ghamcoa"
IL_001b: ldc.i4 0x419b355a
IL_0020: call string xb9d8bb5e6df032aa.x1110bdd110cdcea4::_xaacba899487bce8c(string,
int32)
IL_0025: call string [mscorlib]System.String::Intern(string)
IL_002a: call string [mscorlib]System.String::Concat(string,
string)
IL_002f: stloc.0
//******************************* 去掉显示的对话框 ***********************************//
//IL_0030: ldloc.0
//IL_0031: ldstr " "
//IL_0036: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]
System.Windows.Forms.MessageBox::Show(string,
//
string)
//IL_003b: pop
//***************************** 去掉显示的对话框结束 ***********************************//
IL_003c: ret
} // end of method x448fd9ab43628c71::xf4f948f95d7023bb
4. 完成后,用ilasm 重新编译程序 ilasm /dll /resource=aaa.res aaa.il得到的aaa.DLL 即为破解的DLL
5. 破解完毕
6. 关于VS2005版(IrisSkin2.dll)的破解过程,基本相同,这里就不再重复
注:在破解中发现:.custom '<Modual>'处编译不了,注释掉,编译dll成功,目前能够正常使用,不知有没有bug。
使用DotNet Helper 反编译更方便,并且可以去除强命名

浙公网安备 33010602011771号