能力值:
( LV3,RANK:30 )
|
-
-
2 楼
od不是会自动断在入口函数那里吗
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
没加壳的情况下
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
楼上正解
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
??
你用的ollydbg是什么版本的?我的是 1.10
我调试的程序里,在打开的对话框里选择了要调试的PE文件后,我按 F7 或者 F8 后,它会开始执行第一条语句,但不是 _main.......
我的PE文件是在vc6.0++里面编译链接的(应该没加壳吧?)。在 ida pro 里看,_main的地址为 0x401005;但按照上面的方式(F7或F8),开始地址为 0x42c000。
|
能力值:
( LV3,RANK:30 )
|
-
-
6 楼
我的是1.0.10 不过和版本没关系的
发一个看雪大大的教程给你
http://bbs.pediy.com/showthread.php?t=196797
看完后算入门吧
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
http://bbs.pediy.com/showthread.php?t=184679
|
能力值:
( LV9,RANK:175 )
|
-
-
8 楼
OD载入一般会停在EP处,如果设置了停在WinMain 有时就能达到跟IDA一样了,再说了就算没停在你说的什么_main,你根据RVA地址找找不就行了
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
EP处是什么地方?
此外,因为之前是在 linux 下使用gdb调试的,它可以很方便的使用 disassemble main 来反编译main 函数,马上就可以知道main的地址并设置断点。
在windows下,我知道ida pro可以找到main的地址,然后在ollydbg中设置断点。然而,我很想所有的工作在 ollydbg中完成,但我不太清楚如何可以找到 main 的地址(之前的帖子说到的程序在ollydbg中运行时会自动停在“入口”处,但我发现这个“入口”并不是main的地址)。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
谢谢你提供的链接(里面包含几乎所有ollydbg的调试信息),但我只想知道如何在 ollydbg中找到main的地址并设置为断点(其它的信息暂时未能用到)...
|
能力值:
( LV9,RANK:175 )
|
-
-
11 楼
你得去了解一下什么才是exe真正的入口地址,你用ida找到main的地址后转化成rva来ctrl+G定位od中的va地址就行了
|
能力值:
( LV3,RANK:30 )
|
-
-
12 楼
在不加壳的情况下 od会自动找到main函数 并自动断在main函数的入口处
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
谢谢你的回复。
你可能没有看我之前的帖子,你上面提到的方法正是我之前使用的.......
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
你所指的“不加壳”是指什么?编译成EXE文件一定会加PE头(如:ELF文件会加ELF header),这算加壳吗(例子中的PE文件test 是直接从 vc6++ 中编译生成的)?
|
能力值:
( LV3,RANK:30 )
|
-
-
15 楼
你直接编译出来的是没有加壳的 PE头不是壳
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
楼主,你其实是想找到main函数的起始地址吧,严格意义上这不是程序首址。其实对于现在这些编程语言,有前人的成果,对应不同语言写的程序找到main函数起始,网上搜索一下都有。
你目前这个方法,对于开启了ASLR的程序就不行了。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
我其实并不想用 ida pro,因为它的作用(以我所使用到的功能来算)仅仅是获取main的地址,或其他函数的地址。
我在Linux下,只使用gdb就可以获取各个函数的地址(包括main),并且设置断点调试 等等,所有的工作只是使用 gdb 就行
我不清楚 ollydbg 是否也可以像gdb那样,如何可以,怎样实现?
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
只要有符号文件od也可以的。gdb可以是因为编译时后加了调试选项,生成的代码带有调试信息。你说的这个功能,是个调试器应该都有吧,用的上的前提是要有符号文件。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
.......
如果ollydbg可以实现,那该如何操作?
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
很简单,你编译程序会产生和程序同名的pdb文件,把它放在和od一个目录就行了。
|
|
|