怎么查看exe中的函数。函数本身是在exe模块中定义的。
有什么办法可以 查看吗?

解决方案 »

  1.   

    我其实我就是想
    看看一个EXE运行的时候,所用的所有函数的入口地址。
    现在我只能找到 EXE 加载的所有DLL的函数地址入口
    这个很容易实现,
    但是有一些函数是在EXE模块中定义的,
    这个有办法可以看一下吗?
      

  2.   

    看不到的,因为那些函数没有导出。汇编里都是call和jmp到一个地址,这样调用函数的。
      

  3.   

    如果是调用WINAPI的话,可以查看导入表~~
      

  4.   

    Win32 API可以看导入表看调用的地址。自己写的函数,反汇编跟踪到 push ebp子过程入口就行了
      

  5.   

    你想编程实现还是怎样?如果想查看可以用IDA反汇编exe查看里面的函数。
      

  6.   

    如果你实在有这个需求,可以尝试配合符号文件(.pdb),使用调试器(比如windbg)可以看到,当然,你也可以自己做一个调试器(其实使用dbghelp.dll并不算太难)。
      

  7.   

    记得有个Depends工具可以查看 dll 和 exe 相关函数名的.
      

  8.   


    纠正一下:
    Depends 可以查看 exe 依赖于哪些静态链接库(对于 LoadLibrary 动态调用的不可用),
    以及这些库里面使用到的函数,对自身 exe 本身的函数无能为力。
      

  9.   

    PE文件里面有EXE的输入模块名和输入函数名、EXE的导出函数名(一般情况EXE没有导出函数)
    结合pdb文件来获取函数名是一个通用的方法,不过需要有对应的pdb。
    如果没有pdb的话,就只能反汇编了。
      

  10.   

    反有函数经过编译后,函数名都会被直接的地址替换掉,对于调用WINAPI的函数可以通过导入符号表查看,从而知道它的功能。
    对于在exe中自定义的函数,可以通过反汇编,了解它的功能。