? ?? ?玩破解的朋友用WIN7系统的多吗?我是一直在用WIN7的。用过的朋友应该知道在WIN7系统下,用OD破解或者脱壳的时候,BP CreateFileA无论怎么样都断不下来。但这个断点对我们来说太重要了,去文件自校验,你得用到它吧,破解KEYFILE验证你还得用到它吧,WIN7下下不了这个断点是很纠结的事情。
我们先在OD里CTRL+G来定位一下CreateFileA这个API
75EB62D1 >? ? 8BFF? ?? ?? ? mov edi,edi? ? 来到这里
75EB62D3??/.??55? ?? ?? ?? ?push ebp
75EB62D4??|.??8BEC? ?? ?? ? mov ebp,esp
75EB62D6??|.??51? ?? ?? ?? ?push ecx
75EB62D7??|.??51? ?? ?? ?? ?push ecx
75EB62D8??|.??FF75 08? ?? ? push dword ptr ss:[ebp+8]
75EB62DB??|.??8D45 F8? ?? ? lea eax,dword ptr ss:[ebp-8]
75EB62DE??|.??50? ?? ?? ?? ?push eax
75EB62DF??|.??E8 3127FDFF? ?call KERNELBA.75E88A15
75EB62E4??|.??85C0? ?? ?? ? test eax,eax
75EB62E6??|.??75 05? ?? ?? ?jnz short KERNELBA.75EB62ED
75EB62E8??|.??83C8 FF? ?? ? or eax,FFFFFFFF
75EB62EB??|.??EB 2A? ?? ?? ?jmp short KERNELBA.75EB6317
75EB62ED??|>??56? ?? ?? ?? ?push esi
75EB62EE??|.??FF75 20? ?? ? push dword ptr ss:[ebp+20]? ?? ?? ?? ?? ?? ?? ???; /hTemplateFile
75EB62F1??|.??FF75 1C? ?? ? push dword ptr ss:[ebp+1C]? ?? ?? ?? ?? ?? ?? ???; |Attributes
75EB62F4??|.??FF75 18? ?? ? push dword ptr ss:[ebp+18]? ?? ?? ?? ?? ?? ?? ???; |Mode
75EB62F7??|.??FF75 14? ?? ? push dword ptr ss:[ebp+14]? ?? ?? ?? ?? ?? ?? ???; |pSecurity
75EB62FA??|.??FF75 10? ?? ? push dword ptr ss:[ebp+10]? ?? ?? ?? ?? ?? ?? ???; |ShareMode
75EB62FD??|.??FF75 0C? ?? ? push dword ptr ss:[ebp+C]? ?? ?? ?? ?? ?? ?? ?? ?; |Access
75EB6300??|.??FF75 FC? ?? ? push dword ptr ss:[ebp-4]? ?? ?? ?? ?? ?? ?? ?? ?; |FileName
75EB6303??|.??E8 6044FDFF? ?call KERNELBA.CreateFileW? ?? ?? ?? ?? ?? ?? ?? ?; \CreateFileW

我们来在OD的模块窗口看一下这个地址是属于哪里的。
基址? ?? ? 大小? ? ? 入口? ?? ? 名称? ???(系统)? ?? ? 文件版本? ?? ?? ?? ?? ?? ?? ? 路径
00400000? ?000AC000? ?00447BEF? ?运行我? ?? ?? ?? ?? ?? ?? ?1.0.0.0? ?? ?? ?? ?? ?? ?? ???C:\Users\yangan\Desktop\运行我.exe
714E0000? ?00032000? ?714E37F1? ?WINMM? ? (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\WINMM.dll
72330000? ?00051000? ?7235988C? ?WINSPOOL (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\WINSPOOL.DRV
72390000? ?00084000? ?723919A9? ?COMCTL32? ?? ?? ?? ?? ? 5.82 (win7_rtm.090713-1255)? ?C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\COMCTL32.dll
75E80000? ?0004A000? ?75E87E30? ?KERNELBA (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\KERNELBASE.dll
760D0000? ?0007B000? ?760D1AEE? ?comdlg32 (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\comdlg32.dll
76270000? ?000D4000? ?762BCD6F? ?kernel32 (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\kernel32.dll
763E0000? ?000A1000? ?76412433? ?RPCRT4? ?(系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\RPCRT4.dll
766D0000? ?0000A000? ?766D136C? ?LPK? ?? ?(系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\LPK.dll
766E0000? ?00035000? ?766E145D? ?WS2_32? ?(系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\WS2_32.dll
76720000? ?000AC000? ?7672A472? ?msvcrt? ?(系统)? ?? ?? ???7.0.7601.17744 (win7sp1_gdr.??C:\Windows\system32\msvcrt.dll
767D0000? ?00057000? ?767E9BA6? ?SHLWAPI??(系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\SHLWAPI.dll
769A0000? ?000C9000? ?769BD711? ?USER32? ?(系统)? ?? ?? ???6.1.7601.17514 (win7sp1_rtm.??C:\Windows\system32\USER32.dll
76A70000? ?000CC000? ?76A7168B? ?MSCTF? ? (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\MSCTF.dll
76B40000? ?000A0000? ?76B549E5? ?ADVAPI32 (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\ADVAPI32.dll
76BE0000? ?0009D000? ?76C13FD7? ?USP10? ? (系统)? ?? ?? ???1.0626.7601.17514 (win7sp1_r??C:\Windows\system32\USP10.dll
76C80000? ?00C4A000? ?76D015C1? ?SHELL32??(系统)? ?? ?? ???6.1.7601.17514 (win7sp1_rtm.??C:\Windows\system32\SHELL32.dll
778D0000? ?0004E000? ?778D9C09? ?GDI32? ? (系统)? ?? ?? ???6.1.7601.17514 (win7sp1_rtm.??C:\Windows\system32\GDI32.dll
77AE0000? ?0015C000? ?77B2BA3D? ?ole32? ? (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\ole32.dll
77C40000? ?0013C000? ?? ?? ?? ???ntdll? ? (系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\SYSTEM32\ntdll.dll
77D90000? ?0001F000? ?77D91355? ?IMM32? ? (系统)? ?? ?? ???6.1.7601.17514 (win7sp1_rtm.??C:\Windows\system32\IMM32.DLL
77DB0000? ?00006000? ?77DB1782? ?NSI? ?? ?(系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\system32\NSI.dll
77DC0000? ?00019000? ?77DC4975? ?sechost??(系统)? ?? ?? ???6.1.7600.16385 (win7_rtm.090??C:\Windows\SYSTEM32\sechost.dll
77DE0000? ?0008F000? ?77DE3FB1? ?OLEAUT32 (系统)? ?? ?? ???6.1.7601.17676? ?? ?? ?? ?? ? C:\Windows\system32\OLEAUT32.dll

我们发现这个地址是属于KERNELBASE.dll,也就是我们在下BP CreateFileA断点的时候,实际上是断在了kernelbase.dll的CreateFileA函数了。学过一般脱壳的人都知道,一般程序调用里模块里是没有kernelbase.dll的。而只调用kernel32的CreateFileA. 我在XP环境下,用OD加载同一个程序,就没有kernelbase.dll这个模块。这里其实是在OD里,kernel32.dll里的CreateFileA被kernelbase.dll的CreateFileA给屏蔽掉了。其实不只CreateFileA, CreateThread也被屏蔽掉了。我相信还有其它的N多个,不过我还没发现,因为我今天才发现这个秘密。
其它OD里被他屏蔽掉,我们还是一样可以下断点的。我在NOOBY给别人回帖中找到了答案。
只要Ctrl+G, 输入”kernel32.CreateFileA”,我们就可以定位到kernel32的CreateFileA了,在这里下断,我们就可以拦下程序了。同理一样可以定位CreateThread.
希望此文能给在WIN7系统下玩脱壳破解的朋友带来一点帮助。
在此膜拜大牛前辈NOOBY。

转自:http://www.52pojie.cn/thread-149256-1-1.html

页面下部广告

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

鲁ICP备17018668号-1