00000008.htm

来自「水木社区 embeded 版精华区 下载」· HTM 代码 · 共 71 行

HTM
71
字号
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>使用WIN32环境下的gcc及GNU 9(转载)    turbolinux </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人:&nbsp;sunno&nbsp;(民工☆五月天高人浮躁),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;使用WIN32环境下的gcc及GNU&nbsp;9(转载)&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Jul&nbsp;&nbsp;4&nbsp;04:38:10&nbsp;2000)&nbsp;<br />&nbsp;<br />(转载自笑书亭)&nbsp;<br />&nbsp;<br />最后可通过命令行&nbsp;<br />●&nbsp;objdump&nbsp;-d&nbsp;cprogram.exe&nbsp;<br />可看到最终的执行代码及相应的反汇编代码及重定位信息的回填情况:&nbsp;<br />绝对内存地址 机器代码     反汇编代码&nbsp;<br />00401000&nbsp;&lt;_mainCRTStartup&gt;:&nbsp;<br />401000:&nbsp;55&nbsp;push&nbsp;%ebp&nbsp;<br />...&nbsp;<br />00401040&nbsp;&lt;_addition&gt;:&nbsp;<br />401040:&nbsp;8b&nbsp;44&nbsp;24&nbsp;04&nbsp;mov&nbsp;0x4(%esp,1),%eax&nbsp;<br />401044:&nbsp;89&nbsp;c1&nbsp;mov&nbsp;%eax,%ecx&nbsp;<br />401046:&nbsp;b8&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;mov&nbsp;$0x0,%eax&nbsp;<br />...&nbsp;<br />00401080&nbsp;&lt;_main&gt;:&nbsp;<br />401080:&nbsp;55&nbsp;push&nbsp;%ebp&nbsp;<br />401081:&nbsp;89&nbsp;e5&nbsp;mov&nbsp;%esp,%ebp&nbsp;<br />401083:&nbsp;83&nbsp;ec&nbsp;10&nbsp;sub&nbsp;$0x10,%esp&nbsp;<br />401086:&nbsp;e8&nbsp;c1&nbsp;01&nbsp;00&nbsp;00&nbsp;call&nbsp;40124c&nbsp;&lt;___main&gt;&nbsp;<br />40108b:&nbsp;68&nbsp;50&nbsp;10&nbsp;40&nbsp;00&nbsp;push&nbsp;$0x401050&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />401090:&nbsp;e8&nbsp;c7&nbsp;01&nbsp;00&nbsp;00&nbsp;call&nbsp;40125c&nbsp;&lt;_printf&gt;&nbsp;<br />401095:&nbsp;83&nbsp;c4&nbsp;04&nbsp;add&nbsp;$0x4,%esp&nbsp;<br />401098:&nbsp;8d&nbsp;45&nbsp;fc&nbsp;lea&nbsp;0xfffffffc(%ebp),%eax&nbsp;<br />40109b:&nbsp;50&nbsp;push&nbsp;%eax&nbsp;<br />40109c:&nbsp;68&nbsp;69&nbsp;10&nbsp;40&nbsp;00&nbsp;push&nbsp;$0x401069&nbsp;<br />4010a1:&nbsp;e8&nbsp;ae&nbsp;01&nbsp;00&nbsp;00&nbsp;call&nbsp;401254&nbsp;&lt;_scanf&gt;&nbsp;<br />4010a6:&nbsp;83&nbsp;c4&nbsp;08&nbsp;add&nbsp;$0x8,%esp&nbsp;<br />4010a9:&nbsp;8b&nbsp;45&nbsp;fc&nbsp;mov&nbsp;0xfffffffc(%ebp),%eax&nbsp;<br />4010ac:&nbsp;50&nbsp;push&nbsp;%eax&nbsp;<br />4010ad:&nbsp;e8&nbsp;8e&nbsp;ff&nbsp;ff&nbsp;ff&nbsp;call&nbsp;401040&nbsp;&lt;_addition&gt;&nbsp;//4010b2&nbsp;+ffffff8e=401040&nbsp;<br />4010b2:&nbsp;83&nbsp;c4&nbsp;04&nbsp;add&nbsp;$0x4,%esp&nbsp;<br />4010b5:&nbsp;89&nbsp;c0&nbsp;mov&nbsp;%eax,%eax&nbsp;<br />4010b7:&nbsp;50&nbsp;push&nbsp;%eax&nbsp;<br />4010b8:&nbsp;68&nbsp;6c&nbsp;10&nbsp;40&nbsp;00&nbsp;push&nbsp;$0x40106c&nbsp;<br />4010bd:&nbsp;e8&nbsp;9a&nbsp;01&nbsp;00&nbsp;00&nbsp;call&nbsp;40125c&nbsp;&lt;_printf&gt;&nbsp;<br />4010c2:&nbsp;83&nbsp;c4&nbsp;08&nbsp;add&nbsp;$0x8,%esp&nbsp;<br />4010c5:&nbsp;89&nbsp;ec&nbsp;mov&nbsp;%ebp,%esp&nbsp;<br />4010c7:&nbsp;5d&nbsp;pop&nbsp;%ebp&nbsp;<br />4010c8:&nbsp;c3&nbsp;ret&nbsp;<br />4010c9:&nbsp;00&nbsp;00&nbsp;add&nbsp;%al,(%eax)&nbsp;<br />...&nbsp;<br />0040125c&nbsp;&lt;_printf&gt;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />40125c:&nbsp;ff&nbsp;25&nbsp;98&nbsp;40&nbsp;40&nbsp;jmp&nbsp;*0x404098&nbsp;<br />401261:&nbsp;00&nbsp;<br />401262:&nbsp;90&nbsp;nop&nbsp;<br />401263:&nbsp;90&nbsp;nop&nbsp;&nbsp;<br />&nbsp;<br />--&nbsp;<br />※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;162.105.16.253]&nbsp;<br /><a href="00000007.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a><a href="00000009.htm">下一篇</a></h1></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?