解决鼠标右键问题 (1千字)
4.去掉用鼠标右键菜单转换文件时的版权提示窗口用鼠标右键菜单转换文件时,调用的是acshext.dll(每次重启后,程序运行时的image base都有所改变,而w32dsm中的image base为10000000,所以下断点时要注意.):
* Reference To: audconv.CreateLicenseManager, Ord:0019h
|
:1000586A FF15BCF20010 Call dword ptr [1000F2BC]
:10005870 85C0 test eax, eax
:10005872 59 pop ecx
:10005873 7C4B jl 100058C0
:10005875 8B4DEC mov ecx, dword ptr [ebp-14]
:10005878 8B01 mov eax, dword ptr [ecx]
:1000587A FF501C call [eax+1C]
:1000587D 85C0 test eax, eax
:1000587F 7418 je 10005899 ;<--跳转到10005899
........
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:1000587F(C)
|
:10005899 8B4DEC mov ecx, dword ptr [ebp-14]
:1000589C FF7308 push [ebx+08]
:1000589F 8B01 mov eax, dword ptr [ecx]
:100058A1 FF5014 call [eax+14] ;<--呼叫协议窗口
:100058A4 85C0 test eax, eax ;<--按Agree按钮,eax=0;
; 按Cancel按钮,eax=1
:100058A6 740A je 100058B2 ;<--eax=0,则跳到100058B2,
; 否则,就game over
所以,将1000587F改为je 100058B2,即
:1000587F 7418 =>7431
5.去掉用鼠标右键菜单转换文件时的过期提示窗口
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:10005BB2(C), :10005BC1(C)
|
:10005C0B 8B4DEC mov ecx, dword ptr [ebp-14]
:10005C0E 3BCE cmp ecx, esi
:10005C10 7410 je 10005C22
:10005C12 8B01 mov eax, dword ptr [ecx]
:10005C14 FF7308 push [ebx+08]
:10005C17 FF5018 call [eax+18] ;<--调出过期提示窗口
所以,将10005C10的je 10005C22改为jmps 10005C22,即
:10005C10 7410 =>eb10
