:00402018 57 push edi <--- value of edi = 00
which in VB = False
:00402019 56 push esi
:0040201A 8B06 mov eax, dword ptr [esi]
:0040201C FF908C000000 call dword ptr [eax+0000008C] <--- Initialization call
:00402018 57 push edi <--- value of edi = 00 which in VB = False
:00402019 56 push esi
:0040201A 8B06 mov eax, dword ptr [esi]
:0040201C FF9094000000 call dword ptr [eax+00000094] <--- Initialization call
如果修改属性,可以通过修改 push edi 的值或者去掉这个函数。
请注意这个方法也适合处理 Label标签的 enableing/disabling 属性。
:00402018 57 push edi <--- value of edi = 00 which in VB = False
:00402019 56 push esi
:0040201A 8B06 mov eax, dword ptr [esi]
:0040201C FF909C000000 call dword ptr [eax+0000009C] <--- Initialization call
可以搜索特征: +0000009C]
处理方法和上面一样。不说了。
对于菜单限制,一般处理 enabling/disabling 属性,程序中如下:
mnuRegister.Enabled = False
编译后:
:004020A8 57 push edi <--- value of edi = 00 which in VB = False
:004020A9 56 push esi
:004020AA 8B06 mov eax, dword ptr [esi]
:004020AC FF5074 call [eax+74] <--- Initialization call
可以搜索特征: +74]
对于text文本框的数据,也可以有相应处理,程序中如下:
Text1.Text = "Insert blah blah here"
编译后如下:
:00401C35 6890174000 push 00401790 <--- Push the address of the
above string to the stack
:00401C3A 56 push esi
:00401C3B 8B06 mov eax, dword ptr [esi]
:00401C3D FF90A4000000 call dword ptr [eax+000000A4] <--- Initialization call