- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
gcc常用的编译选项对代码的影响 原始文档:/articles/200112/320.html 创建时间:2001-12-21 浏览次数:78 原创:alert7 (sztcww_at_) 来源:/ gcc常用的编译选项对代码的影响by alert72001-12-21测试环境 redhat 6.2★ 前言本文讨论gcc的一些常用编译选项对代码的影响。当然代码变了,它的内存布局也就会变了,随之exploit也就要做相应的变动。gcc的编译选项实在太多,本文检了几个最常用的选项。★ 演示程序[alert7@redhat62 alert7]$ cat test.c#include stdio.hvoid hi(void){printf(hi);}int main(int argc, char *argv[]){????????hi();????????return 0;}★ 一般情况[alert7@redhat62 alert7]$ gcc -o test test.c[alert7@redhat62 alert7]$ wc -c test??11773 test[alert7@redhat62 alert7]$ gdb -q test(gdb) disass mainDump of assembler code for function main:0x80483e4 main:?????? push?? %ebp0x80483e5 main+1:???? mov????%esp,%ebp0x80483e7 main+3:???? call?? 0x80483d0 hi0x80483ec main+8:???? xor????%eax,%eax0x80483ee main+10:????jmp????0x80483f0 main+120x80483f0 main+12:????leave0x80483f1 main+13:????ret....End of assembler dump.(gdb) disass hiDump of assembler code for function hi:0x80483d0 hi:????????push?? %ebp0x80483d1 hi+1:?????? mov????%esp,%ebp0x80483d3 hi+3:?????? push?? $0x80484500x80483d8 hi+8:?????? call?? 0x8048308 printf0x80483dd hi+13:??????add????$0x4,%esp0x80483e0 hi+16:??????leave0x80483e1 hi+17:??????ret0x80483e2 hi+18:??????mov????%esi,%esiEnd of assembler dump.来看看部分的内存映象?????????????????? (内存高址)??????????????????????????????+--------+??????????????????????????????|bffffbc4| argv的地址(即argv[0]的地址)?????????????????? 0xbffffb84 +--------+?????????????????????????????? argc的值?????????????????? 0xbffffb80 +--------+??????????????????????????????|400309cb|main的返回地址?????????????????? 0xbffffb7c +--------+ -- 调用main函数前的esp??????????????????????????????|bffffb98| 调用main函数前的ebp?????????????????? 0xbffffb78 +--------+ -- main函数的ebp??????????????????????????????|080483ec| hi()的返回地址?????????????????? 0xbffffb74 +--------+??????????????????????????????|bffffb78| 调用hi()前的esp?????????????????? 0xbffffb70 +--------+ ?????????????????????????????? hi
您可能关注的文档
- Excel常用技巧27例.doc
- Excel建立数据库教程.doc
- excel手动双面打印设置方法.doc
- Excel批量插入图片VBA代码.doc
- Excel操作技巧大全.doc
- EXCEL数据过大后几种提速的办法转帖.doc
- EXCEL文件转CAD文件.docx
- EXCEL汉字转拼音的方法.docx
- excel的使用方法函数使用.doc
- excel表中批量前移数据的宏程序.docx
- 2024年党组书记述责述廉报告.docx
- 领导干部2024年专题民主生活会、组织生活会对照检查材料.docx
- 2024年度民主生活会领导班子和个人征求意见建议汇总(123条).docx
- 机关党支部书记2024年抓基层党建工作述职报告.docx
- 在某某县2025年平安建设领导小组会议上的讲话.doc
- 在某某市2025年第一季度安全生产行动动员大会上的讲话.doc
- 在某某企业年末集体廉政谈话会上的讲话.doc
- 在中心组传达学习二〇二五年新年贺词以及在全国政协新年茶话会上的重要讲话精神时的讲话.doc
- 某某市文化和旅游局2025年新年贺词.doc
- 学习中纪委二十届四次全会重要讲话精神研讨发言.doc
文档评论(0)