-
-
请教 机器码
-
发表于:
2010-12-2 00:39
3999
-
下面是我反汇编一个.net程序得到的部分代码,请教一下如何修改,我想在地址为IL_0021的地方无条件jmp到IL_003C,不知道机器码该如何修改,听说.net程序修改代码要注意保持堆栈平衡,我对这个不了解,希望各位高手赐教,谢谢
IL_001C: 28 3F 00 00 06 call Boolean Honeywell.HtsBlr.Aero.PcApex.License.LicenseValidator::DoesRegNameExist(Class Microsoft.Win32.RegistryKey, String, String)
IL_0021: 2C 09 brfalse.s IL_002C
IL_0023: 12 00 ldloca.s 0x00
IL_0025: 28 2C 00 00 06 call ValueType Honeywell.HtsBlr.Aero.PcApex.License.RetVal Honeywell.HtsBlr.Aero.PcApex.License.LicenseValidator::GetLicenseFeature(Int32 &)
IL_002A: 2D 10 brtrue.s IL_003C
IL_002C: 73 0C 00 00 06 newobj Void Honeywell.HtsBlr.Aero.PcApex.PCAPEXLauncher.DlgProductRegistration::.ctor()// <== IL_0021
IL_0031: 0B stloc.1
IL_0032: 07 ldloc.1
IL_0033: 6F 3D 00 00 0A callvirt ValueType System.Windows.Forms.DialogResult System.Windows.Forms.Form::ShowDialog()
IL_0038: 18 ldc.i4.2
IL_0039: 33 01 bne.un.s IL_003C
IL_003B: 2A ret
IL_003C: 73 1B 00 00 06 newobj Void Honeywell.HtsBlr.Aero.PcApex.PCAPEXLauncher.frmSplash::.ctor()// <== IL_002A, IL_0039
IL_0041: 28 3E 00 00 0A call Void System.Windows.Forms.Application::Run(Class System.Windows.Forms.Form)
IL_0046: 2A ret
[注意]APP应用上架合规检测服务,协助应用顺利上架!