解决OD有时候修改某些EXE文件,没有"全部修正"选项
本帖最后由 ibq00 于 2011-4-19 16:28 编辑1:说实话,我极少数情况下那个菜单能出来,大部分情况下都是只能修改部分代码.我麻烦阿麻烦阿的慢慢就习惯了
2:我发现,有壳或者脱壳不干净的时候,100% 不出来。不知道究竟何故。
3:关注中,碰到这种情况的 ,不知道原因
4:经常碰到这个情况,不知道为什么
以前找到解决办法了,但是后来又忘记在哪里看到的,现在又想起来啦,找了半天终于找到了
把下面的那几个跳转给nop掉就行了。我用的版本比较老。你看着自己找一下:
0042262D .68 9>push OLLYDBG.004B4290 ; /pItem = "*选择部分"
00422632 .68 8>push 8C ; |ItemID = 8C (140.)
00422637 .6A 0>push 0 ; |Flags = MF_BYCOMMAND|MF_ENABLED|MF_STRING
00422639 .8B95>mov edx,dword ptr ss: ; |
0042263F .52 push edx ; |hMenu
00422640 .E8 0>call <jmp.&USER32.AppendMenuA> ; \AppendMenuA
00422645 .833D>cmp dword ptr ds:,0
0042264C .74 2>je short OLLYDBG.0042267B
0042264E .8B0D>mov ecx,dword ptr ds: ;OLLYDBG.<ModuleEntryPoint>
00422654 .3B4E>cmp ecx,dword ptr ds:
00422657 .75 2>jnz short OLLYDBG.0042267B
00422659 .A1 2>mov eax,dword ptr ds:
0042265E .3B46>cmp eax,dword ptr ds:
00422661 .75 1>jnz short OLLYDBG.0042267B
00422663 .68 3>push OLLYDBG.004B4637 ; /pItem = "全部修正"
00422668 .68 8>push 8D ; |ItemID = 8D (141.)
0042266D .6A 0>push 0 ; |Flags = MF_BYCOMMAND|MF_ENABLED|MF_STRING
0042266F .8B95>mov edx,dword ptr ss: ; |
00422675 .52 push edx ; |hMenu
00422676 .E8 D>call <jmp.&USER32.AppendMenuA> ; \AppendMenuA
0042267B >68 4>push OLLYDBG.004B4649 ; /pItem = "复制到可执行文件"
00422680 .8B8D>mov ecx,dword ptr ss: ; |
00422686 .51 push ecx ; |ItemID
00422687 .6A 1>push 10 ; |Flags = MF_BYCOMMAND|MF_ENABLED|MF_STRING|MF_POPUP
00422689 .8B85>mov eax,dword ptr ss: ; |
用OD加载自身,就会只有一个菜单出现。我也没细看那几个跳转究竟比较的什么,反正测试了一下感觉效果不错。
用老罗的那个字符串插件竟然搜索不到 *选择部分 ,是不是bug之类的。汉
嫌麻烦的直接下载修改好后的 汗!差点发成没修改的!幸亏分析了下
谢谢分享。
已经下载,谢谢,有没有破解整套程序下载的地址发给就非常感谢了 有时候是会出现这样的情况,原来是BUG啊 {:301_994:}呵呵,发现问题,百度找答案,看雪找到结束{:301_1005:}{:301_995:}
页:
[1]