理解程序运行-BITNETLABHome.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学网络信息安全课程 理解程序运行 使用 本文档以通关方式撰写,完成一关进入下一关,请将需要填写的内容写在空白处。 概述 这个文档用来帮助大家理解程序运行原理。 GATE 1 基础环境 请安装32位CentOS 操作系统,安装版本6.6 安装后以root用户执行: yum install gcc yum install gdb 静态二进制分析 使用linux命令 date. 启动控制台窗口,输入如下命令。 date date --date=”4 hours ago” date --date=”2 years ago” +%Y%m%d date 程序在Linux操作系统的什么位置?你用什么指令找到的该位置? (这里是“空白处”) 简要介绍一下objdump 的功能. 在控制台输入如下指令,用找到的地址替换指令中的{loc},简要解释你看到的内容。 objdump -d {loc}/date | less GATE 2 输入如下指令,比较该指令与之前指令在输出上的区别,解释-xtrds 的功能. objdump -xtrds {loc}/date | less 在控制台输入如下命令,将输出复制到空白处. objdump -xtrds {loc}/date | grep bugs GATE 3 将 date 文件拷贝到你自己的目录中,用vim打开文件(也可以用其他工具),输入如下命令: :%s/bugs/dogs/g #注:进入vim后,使用shift+ :,然后输入本行内容(首个:不需要输入) 该命令将date文件中的bugs字符串替换成dogs字符串,保存后退出( shift + : 然后输入wq),然后输入如下命令 ./date –help 解释你看到的输出。 课后熟悉使用vim工具(或其他编辑工具,建议使用十六进制编辑器)对该程序进行其他更有意思的修改,请将课后完成的内容填写在下面的空白处。(此处为必须完成的内容) (必做内容) GATE 4 另外一个有用工具是readelf. ELF是Linux系统的目标文件格式,相当于windows系统中的PE格式。依次执行如下命令,在空白处依次解释各命令的基本功能: readelf -l {loc}/date readelf -S {loc}/date readelf -W -s {loc}/date readelf -x 16 {loc}/date GATE 5 使用 gdb 在命令行输入如下命令: gdb (gdb) help 利用这个help命令了解gdb的使用,例如:help running。 请把你做过的练习(只保留命令)填写在空白处。 (必做内容) GATE 6 分析程序 在控制台输入如下命令: gdb date (gdb) run (gdb) quit 再输入如下命令,体会该工具的作用: gdb date (gdb) set args “--help” (gdb) break __libc_start_main (gdb) run (gdb) frame (gdb) bt (gdb) info frame (gdb) info registers (gdb) x /16xw $esp 探索更多寄存器内容。对于代码和堆栈位置,你有何发现? GATE 7 尝试如下内容: gdb date (gdb) set args “--help” (gdb) maintenance info sections 记录.rodata 段的起始地址 (gdb) break __libc_start_main (gdb) run (gdb) x/20s {.rodata address} 记录字符串 “GNU coreutils”的真实地址, {start} (gdb) set *{start} = 0x554c4200 (gdb) c 上述代码做了些什么?你能否做类似修改证明你理解上述指令含义?请将你的解释和可能的修改写在下面。 GATE 8 下课了。

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档