首页
社区
课程
招聘
请教 机器码
发表于: 2010-12-2 00:39 3966

请教 机器码

2010-12-2 00:39
3966
下面是我反汇编一个.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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 157
活跃值: (416)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
br IL_003C
2010-12-2 01:09
0
雪    币: 66
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是说它对应的汇编机器码,我好直接用十六进制软件修改
2010-12-2 01:39
0
雪    币: 49
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
听说.NET程序不能用OD调试哇,期待高手。帮你顶
2010-12-2 12:36
0
雪    币: 7906
活跃值: (3086)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以直接改,何必再找IL码的16进制改呢?
2010-12-2 12:37
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感觉应该是 0xe9 1b
2010-12-2 14:54
0
游客
登录 | 注册 方可回帖
返回
//