mingw32分析pe文件

objdump=i586-mingw32msvc-objdump

cc=i586-mingw32msvc-gcc

exe=./aa.exe



编译gui程序:

$cc -mwidows  -o aa.exe aa.c


编译console程序:

$cc -o aa.exe aa.c


生成汇编代码:

$cc -o aa.S -s  aa.c


打印pe文件结构

$objdump -p  $exe     #此结构与用exeScope程序查看的结果完全一致.


打印pe文件的section头信息:

$objdump -h $exe    #可查看section大小,虚地址, 在文件中的偏移


反汇编.text节:

$objdump -dS    $exe    #查看.text中的反汇编代码

$objdump -dS -F $exe   #同上, 可查看文件的偏移量.


反汇编所有section:

$objdump -DS   $exe      #查看所有节的反汇编,其中只有.text的有实际意义,其它的节意义不大。

$objdump -D     $exe      #查看所有节的二进制数据,地址以虚地址的方式显示。要查到在文件中的位置需要参考section头信息。

$objdump ... -F  $exe     # 同上, 可显示文件的偏移量


查看exe的符号表:

$objdump -t   $exe



#########################

可选参数,可提供特殊的功能:

      1.   显示在文件中的偏移量:    -F                         #反汇编时可以显示文件偏移。

      2.   机器结构:      -m                                              #要编译gui程序就必须指定  -mwindows

      3.   只针对某一个节:    -j<section_name>        #例如: 与反汇编配合,查看某一节的反汇编

      4.    大小端:      -EB,  -EL

      5.    源代码文件:   -I<path>                              #指定源代码路径。

      6.    显示文件与行号:   -l

      7.    确定地址范围:         --start-address=<addr> --stop-address=<addr>



你可能感兴趣的:(mingw32分析pe文件)