gcc常用的编译选项对代码的影响

gcc常用的编译选项对代码的影响

ID:8807760

大小:46.00 KB

页数:10页

时间:2018-04-08

gcc常用的编译选项对代码的影响_第1页
gcc常用的编译选项对代码的影响_第2页
gcc常用的编译选项对代码的影响_第3页
gcc常用的编译选项对代码的影响_第4页
gcc常用的编译选项对代码的影响_第5页
资源描述:

《gcc常用的编译选项对代码的影响》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、gcc常用的编译选项对代码的影响原始文档:http://www.xfocus.net/articles/200112/320.html创建时间:2001-12-21浏览次数:78原创:alert7(sztcww_at_sina.com)来源:http://xfocus.org/gcc常用的编译选项对代码的影响byalert72001-12-21测试环境redhat6.2★前言本文讨论gcc的一些常用编译选项对代码的影响。当然代码变了,它的内存布局也就会变了,随之exploit也就要做相应的变动。gcc的编译选项实在太多,本文

2、检了几个最常用的选项。★演示程序[alert7@redhat62alert7]$cat>test.c#includevoidhi(void){printf("hi");}intmain(intargc,char*argv[]){        hi();        return0;}★一般情况[alert7@redhat62alert7]$gcc-otesttest.c[alert7@redhat62alert7]$wc-ctest  11773test[alert7@redhat62alert7]$g

3、db-qtest(gdb)disassmainDumpofassemblercodeforfunctionmain:0x80483e4

:      push  %ebp0x80483e5:    mov    %esp,%ebp0x80483e7:    call  0x80483d00x80483ec:    xor    %eax,%eax0x80483ee:    jmp    0x80483f00x80483f0<

4、main+12>:    leave0x80483f1:    ret....Endofassemblerdump.(gdb)disasshiDumpofassemblercodeforfunctionhi:0x80483d0:        push  %ebp0x80483d1:      mov    %esp,%ebp0x80483d3:      push  $0x80484500x80483d8:      call  0x8048308

5、>0x80483dd:      add    $0x4,%esp0x80483e0:      leave0x80483e1:      ret0x80483e2:      mov    %esi,%esiEndofassemblerdump.来看看部分的内存映象                  (内存高址)                              +--------+                              

6、bffffbc4

7、

8、argv的地址(即argv[0]的地址)                  0xbffffb84+--------+                              

9、00000001

10、argc的值                  0xbffffb80+--------+                              

11、400309cb

12、main的返回地址                  0xbffffb7c+--------+<--调用main函数前的esp                   

13、           

14、bffffb98

15、调用main函数前的ebp                  0xbffffb78+--------+<--main函数的ebp                              

16、080483ec

17、hi()的返回地址                  0xbffffb74+--------+                              

18、bffffb78

19、调用hi()前的esp                  0xbffffb70+--------+    

20、                          

21、08048450

22、"hi"的地址                  0xbffffb6c+--------+                              

23、......

24、                  (内存低址)le

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。