当前位置: 首页 > wzjs >正文

网站pv怎么统计国税网站建设现状

网站pv怎么统计,国税网站建设现状,怎么做祝福网站,网站备案流程及步骤1. 通过ELF文件可以做什么? (1)获取编译选项和编译参数 ELF文件中不会直接存储完整的编译命令(如gcc -O2 -I/usr/include demo.c),但可以通过以下方式间接获取部分信息: 查看编译器版本和基础…

1. 通过ELF文件可以做什么?

(1)获取编译选项和编译参数

ELF文件中不会直接存储完整的编译命令(如gcc -O2 -I/usr/include demo.c),但可以通过以下方式间接获取部分信息:

  • 查看编译器版本和基础选项
    ELF文件的.comment节可能包含编译器版本信息。
    示例

    readelf -p .comment demo  # 查看编译器和链接器版本
    

    输出可能类似:

    GCC: (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
    
  • 通过调试信息推测编译选项(需编译时添加-g选项):
    调试信息中可能包含优化级别(如-O2)或宏定义(如-DDEBUG)。
    示例

    objdump -g demo | grep "DW_AT_producer"  # 查看编译器参数片段
    

    输出可能包含:

    DW_AT_producer    : "GNU C17 9.3.0 -O2 -mtune=generic"
    

(2)查找ELF文件中的字符串

ELF的.rodata(只读数据)或.data节中可能包含硬编码的字符串(如日志信息、密钥)。
工具

  • 使用strings命令

    strings demo | grep "error"  # 查找包含"error"的字符串
    

    输出示例:

    error: invalid input!
    
  • 直接查看.rodata

    objdump -s -j .rodata demo  # 显示.rodata节内容
    

(3)其他实用功能
3.1 查看符号表(函数和全局变量)
readelf -s demo  # 列出所有符号

输出示例:

   Num:    Value          Size Type    Bind   Vis      Ndx Name55: 0000000000401126    42 FUNC    GLOBAL DEFAULT   14 main56: 0000000000601040     4 OBJECT  GLOBAL DEFAULT   23 global_var
3.2 反汇编代码(查看机器码对应的汇编指令)
objdump -d demo  # 反汇编.text节(代码段)

输出示例:

0000000000401126 <main>:401126:       55                      push   %rbp401127:       48 89 e5                mov    %rsp,%rbp40112a:       b8 00 00 00 00          mov    $0x0,%eax
3.3 查看动态链接库依赖
ldd demo  # 列出依赖的共享库

输出示例:

linux-vdso.so.1 (0x00007ffd45df0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1a2d200000)
3.4 调试程序崩溃问题(结合核心转储文件)
gdb demo core  # 分析崩溃时的堆栈和变量

GDB会直接显示崩溃位置(需编译时加-g选项):

Program received signal SIGSEGV, Segmentation fault.
0x0000000000401126 in main () at demo.c:20
20        printf("%s\n", (char*)0x0);  # 尝试打印空指针
3.5 修改ELF文件(谨慎操作!)
  • 替换字符串
    使用二进制编辑器(如hexedit)修改.rodata节中的字符串。
    示例:将"Hello World"改为"Hello Hacker":
    hexedit demo  # 搜索并修改二进制内容
    

2. 实际案例演示

案例1:从ELF文件中提取版本信息
strings demo | grep "Version"  # 查找版本字符串

输出示例:

Version: 1.0.0
Build Date: 2023-10-01
案例2:检查是否启用了栈保护(编译选项-fstack-protector
readelf -s demo | grep "__stack_chk_fail"  # 如果存在该符号,说明启用了栈保护

输出示例:

0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail@GLIBC_2.4 (3)
案例3:查看文件是否被Strip过(是否删除符号表)
file demo  # 如果显示"stripped",则符号表已被删除

输出示例:

demo: ELF 64-bit LSB executable, x86-64, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, **stripped**

总结

功能工具/命令示例
获取编译器版本readelf -p .comment查看GCC版本
查找字符串strings + grep提取硬编码的错误信息
反汇编代码objdump -d分析函数逻辑
查看动态库依赖ldd检查缺失的.so文件
调试崩溃问题gdb + 核心转储文件定位空指针崩溃位置
检查编译优化选项objdump -g + DW_AT_producer确认是否启用-O2优化

如果有更多具体场景,欢迎进一步提问! 😊

http://www.dtcms.com/wzjs/568057.html

相关文章:

  • 大庆开发网站公司王店镇建设中学网站
  • 网站目录有什么意义建立网站怎么赚钱
  • 网站推广的公司站长网站查询
  • 传奇手游大型网站服装微商城网站建设
  • 一级a做爰片不卡的网站梅西网页设计作业
  • 中国建设行业网站云南网络公司排名
  • 白色网站配色大数据精准获客软件
  • 上海网站开发培训03173软件开发工具
  • 网站开发上线流程响应式模板网站建设
  • 为什么网站建设wordpress发不了邮件
  • 网站制作尺寸金融软件开发公司前十
  • 佛山网站seoWordPress国外主机
  • 优化网站作用做购物网站怎么赚钱
  • 网站收录地址网页设计有哪些内容
  • 建筑直聘网单纯做seo能否提升网站流量
  • 网站角色权限福建省建设厅招标网站
  • 食品网站应该怎么做wordpress注册邮件发送设置
  • 网站 网页区别个人做信息分类网站需备案吗
  • 网站模板文件下载怎么做网站栏目
  • 广州网站建设怎样做网站信息做参考文献
  • 南通专业网站排名推广有哪些公司的网站做的很好看
  • 吴忠住房和城乡建设局网站网站做xss过滤
  • php 免费装修网站中学生设计制作图片
  • 免费网站seo排名优化上海网站维护
  • 在线课程软件网站建设费用购买完域名后怎么做网站
  • 反网站搭建一条龙新密市城乡建设局网站
  • 国外域名拍卖网站分类 网站模板
  • 有哪个网站教人做美食深圳西乡建网站
  • 网站建设公司初心wordpress官方安装主题
  • 爱站网关键词查询绍兴网站建设专业的公司