能力值:
( LV9,RANK:3410 )
|
-
-
2 楼
Ollydbg
F7/F8
走
|
能力值:
( LV4,RANK:50 )
在线值:
|
-
-
3 楼
**入口地址:00425342,很明显的跨段地址**
或者你自己给记事本加个壳对比一下
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
4 楼
fly 老大
我用的就是od
可是按了F7 F8之后 并没有来到
00425342 55 push ebp ****真正的OEP,直接DUMP****
类似的地方而是来到了
77E6A4E1 E9 66170300 JMP kernel32.77E9BC4C
77E6A4E6 > FF7424 08 PUSH DWORD PTR SS:[ESP+8]
77E6A4EA FF7424 08 PUSH DWORD PTR SS:[ESP+8]
77E6A4EE E8 62FB0000 CALL kernel32.IsBadWritePtr
77E6A4F3 C2 0800 RETN 8
77E6A4F6 > 55 PUSH EBP
77E6A4F7 8BEC MOV EBP,ESP
77E6A4F9 51 PUSH ECX
77E6A4FA 51 PUSH ECX
77E6A4FB 56 PUSH ESI
77E6A4FC 33F6 XOR ESI,ESI
77E6A4FE 3975 10 CMP DWORD PTR SS:[EBP+10],ESI
77E6A501 74 31 JE SHORT kernel32.77E6A534
77E6A503 64:A1 18000000 MOV EAX,DWORD PTR FS:[18]
77E6A509 FF75 10 PUSH DWORD PTR SS:[EBP+10]
77E6A50C 8DB0 F80B0000 LEA ESI,DWORD PTR DS:[EAX+BF8]
77E6A512 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
77E6A515 50 PUSH EAX
77E6A516 FF15 8010E677 CALL DWORD PTR DS:[<&NTDLL.RtlInitAnsiSt>; ntdll.RtlInitAnsiString
77E6A51C 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
77E6A51F 6A 00 PUSH 0
77E6A521 50 PUSH EAX
77E6A522 56 PUSH ESI
77E6A523 FF15 7C10E677 CALL DWORD PTR DS:[<&NTDLL.RtlAnsiString>; ntdll.RtlAnsiStringToUnicodeString
77E6A529 85C0 TEST EAX,EAX
77E6A52B 0F8C 43FE0200 JL kernel32.77E9A374
77E6A531 8B76 04 MOV ESI,DWORD PTR DS:[ESI+4]
77E6A534 56 PUSH ESI
77E6A535 FF75 0C PUSH DWORD PTR SS:[EBP+C]
77E6A538 FF75 08 PUSH DWORD PTR SS:[EBP+8]
77E6A53B E8 44300100 CALL kernel32.CreateMutexW
77E6A540 5E POP ESI
这里,
是我跟踪错了,还是应该继续上面的代码,
是不是出现
00425342 55 push ebp 的地方就该dump了?
盼赐教,不胜感激!
|
能力值:
( LV9,RANK:3410 )
|
-
-
5 楼
BP 0054D3BF
F9
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
6 楼
我不是学语文的,表达有所欠缺,一直这位大哥大概是没明白我的意思
我的疑问就是
**入口地址:00425342,很明显的跨段地址**
是从那里看出来的或是从哪找到的?
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
7 楼
十分感谢诸位大哥的悉心指点!
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
8 楼
朋友,你将程序运行到这
0054D3BF C3 retn ***入口地址:00425342,很明显的跨段地址****
然后看看堆栈,栈顶是不是就是那个00425342
再按一下F7是不是就到了00425342
|
|
|