string V_1,
valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult V_2,
class EMS_card.reg V_3,
string V_4,
class EMS_card.computer V_5)
IL_0000: newobj instance void EMS_card.function::.ctor()
IL_0005: ldstr "pblist"
IL_000a: call instance string EMS_card.function::getappvalue(string)
IL_000f: ldstr "eid03423dkdso2323k00iir9434"
IL_0014: call bool [mscorlib]System.String::op_Equality(string,
string) //字符串比较 (过期标志)
IL_0019: brfalse.s IL_0026 //不相同就跳
IL_001b: ldarg.0
IL_001c: call instance void [System.Windows.Forms]System.Windows.Forms.Form::Close()
IL_0021: br IL_0226
IL_0026: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now()
IL_002b: ldc.i4 0x7d9 //过期日期得16进制值
IL_0030: ldc.i4.3
IL_0031: ldc.i4.1
IL_0032: newobj instance void [mscorlib]System.DateTime::.ctor(int32,
int32,
int32) //获取系统日期时间
IL_0037: call bool [mscorlib]System.DateTime::op_GreaterThan(valuetype [mscorlib]System.DateTime,
valuetype [mscorlib]System.DateTime)
//比较是否过期
IL_003c: brfalse.s IL_005d //没过期就跳
IL_003e: newobj instance void EMS_card.function::.ctor()
IL_0043: ldstr "pblist"
IL_0048: ldstr "eid03423dkdso2323k00iir9434"
IL_004d: call instance void EMS_card.function::SetAppSettings(string,
string) //过期标志保存
IL_0052: ldarg.0
IL_0053: call instance void [System.Windows.Forms]System.Windows.Forms.Form::Close()
IL_0058: br IL_0226
。。。。。。
。。。。。。
IL_0220: ldarg.0
IL_0221: call instance void EMS_card.Form1::rg_eventdel_send_list() //这里正确启动窗口了
IL_0226: ret
所以改
IL_0019: brfalse.s IL_0026 为 brfalse.s IL_0021
IL_001b: ldarg.0
IL_001c: call instance void [System.Windows.Forms]System.Windows.Forms.Form::Close()
IL_0021: br IL_0226 为 br IL_0220
就可以破解了!
保存!
3.用ilasm ppp.il /RESOURCE=ppp.res 编译为 ppp.exe
运行ppp.exe 不需要注册了 ,破解完成!
不要看到全部都是代码就晕了,当然对于门外汉来说真是太烦人了,一句都看不懂,不过相信熟悉代码的人都知道这些并不是什么难懂的东西,大家都学会了吗?