objdump导出文件查看方法
本帖最后由 lgbxyz 于 2013-03-16 20:50:57 编辑
※这是一个通过objdump命令导出的文件的一部分。
① 内容被分成3列,除了第三列是汇编外,前2列是什么有 ?
② 当程序执行到
9fc04时产生了
SIGABRT信号,有什么原因?
PS:__stack_chk_fail_local应该是linux系统的函数吧,程序中没有调用过,什么情况系统会自动调用该函数?
------------------------------------------------------------------------------------
0009fbf0 <__stack_chk_fail_local>:
__stack_chk_fail_local():
9fbf0: 55 push %ebp
9fbf1: 89 e5 mov %esp,%ebp
9fbf3: 53 push %ebx
9fbf4: e8 37 a0 f6 ff call 9c30 <__i686.get_pc_thunk.bx>
9fbf9: 81 c3 fb 5c 00 00 add $0x5cfb,%ebx
9fbff: e8 40 9c f6 ff call 9844 <__stack_chk_fail@plt>
9fc04: 90 nop
9fc05: 90 nop
9fc06: 90 nop
9fc07: 90 nop
9fc08: 90 nop
------------------------------------------------------------------------------------
------解决方案--------------------
①这个应该是都被load进去了吧。。另一方面linux系统下的文件系统采用的引用计数的方式,打开一个文件后会+1,,rm一下会-1..只有当引用计数为0时,才真正删除了文件。。正在运行中的文件处于打开状态+1了,所以rm后虽然看不到了,但确实存在。当运行结束后-1,,才会真正删除。
比如用lsof恢复误删除的文件就是利用的此方法。http://tech.ccidnet.com/art/302/20071203/1294921_1.html
②对。