puti67 发表于 2008-9-16 04:03:45

你可以开两个OD对比一下!

Luckly 发表于 2008-9-16 08:41:51

BP CreateFileA

秋风四起 发表于 2008-9-16 11:20:42

原帖由 Luckly 于 2008-9-16 08:41 发表 https://www.chinapyg.com/images/common/back.gif
BP CreateFileA

想问一下,你这样子下断后,f9运行了到断点,是不是就f8单步对比走法??
可是我为什么就不能走得到这里呢???你要按多少次F8呢??
我下断后,F9后就到了kernel32程序中了,到了下面的地址
7C801A28 >8BFF            MOV EDI,EDI
7C801A2A    55            PUSH EBP
7C801A2B    8BEC            MOV EBP,ESP
7C801A2D    FF75 08         PUSH DWORD PTR SS:
7C801A30    E8 CFC60000   CALL kernel32.7C80E104
7C801A35    85C0            TEST EAX,EAX
7C801A37    74 1E         JE SHORT kernel32.7C801A57
7C801A39    FF75 20         PUSH DWORD PTR SS:
7C801A3C    FF75 1C         PUSH DWORD PTR SS:
7C801A3F    FF75 18         PUSH DWORD PTR SS:
7C801A42    FF75 14         PUSH DWORD PTR SS:
7C801A45    FF75 10         PUSH DWORD PTR SS:
7C801A48    FF75 0C         PUSH DWORD PTR SS:
7C801A4B    FF70 04         PUSH DWORD PTR DS:
7C801A4E    E8 9DED0000   CALL kernel32.CreateFileW
7C801A53    5D            POP EBP
7C801A54    C2 1C00         RETN 1C
7C801A57    83C8 FF         OR EAX,FFFFFFFF
7C801A5A^ EB F7         JMP SHORT kernel32.7C801A53

再F8单步走时,7C801A37    74 1E         JE SHORT kernel32.7C801A57这里不能实现跳转,
再运行到了这里7C801A54    C2 1C00         RETN 1C,
这一步会出错了,再按F8就到了
错误:不知如何处理单步,因为内存地址B81408E1不可读,请尝试更改EIP,或将异常传递给程序。

下断后进入到kernel32.exe这里后,好像不能返回到程序领空了,请问怎么操作呢??

老海 发表于 2008-9-21 19:45:27

它有三个自校验,BASE64、CRC32、MD5。这是用PPEID插件查到的。

hflywolf 发表于 2008-9-21 23:53:45

请问一下, 我为什么不能到达
----返回到程序领空,一路F8下来
00491FBC   .E8 DF2EF7FF   CALL dumped_.00404EA0
00491FC1   .75 12         JNZ SHORT dumped_.00491FD5;关键跳
;-------将jnz nop掉--去掉了自校验
00491FC3   .B8 E0930400   MOV EAX,493E0
00491FC8   .E8 3F13F7FF   CALL dumped_.0040330C

这里呢????

/:L 你是不是没有返回到程序领空就按F8了?

下GetFileSize断点
----断在这里
7C810B07 >8BFF            MOV EDI,EDI                              ; ntdll.7C910208
7C810B09    55            PUSH EBP
7C810B0A    8BEC            MOV EBP,ESP
7C810B0C    51            PUSH ECX
7C810B0D    51            PUSH ECX
7C810B0E    8D45 F8         LEA EAX,DWORD PTR SS:
7C810B11    50            PUSH EAX

这里断下后,OD是在系统领空的(一般可以看OD窗口的标题中"模块-"字样后面的名称,如果是调试程序的名称就是在程序领空)
你要按ALT+F9(一下不行就多几下,直到回到程序领空)
或CTRL+F9(一下不行就多几下,直到回到程序领空)
或在堆栈里找到返回程序领空的地方.双击一下就可以了.
到了系统领空后再按F8....

/:001 /:001 /:001 乱说一通,不知道听明白了没

[ 本帖最后由 hflywolf 于 2008-9-21 23:55 编辑 ]

秋风四起 发表于 2008-9-25 00:50:08

这样返回懂了。

只是这样对比二个窗口,好难。。。。。。。。。。。。

老海 发表于 2008-10-8 00:02:24

这个自校验是在网络上的,我用单机未联网,重新脱壳后就没有自校验了,而且也没有BASE64、CRC32、MD5,如果是用联网脱壳的程序在单机上运行就出错。
页: 1 [2]
查看完整版本: 修复文件表问题及去自检验问题,请指出我操作的不对之处