首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在linux上的二进制文件中提取特定偏移量后的字符串到x00。

在linux上的二进制文件中提取特定偏移量后的字符串到x00。
EN

Stack Overflow用户
提问于 2016-06-18 11:02:08
回答 1查看 431关注 0票数 1

我寻求在linux (命令行)中提取二进制文件中字符串的最简单方法。例如,在我的示例中,字符串以偏移量138开头,以第一个十六进制00结尾。

在过去的几天里,我试着使用十六进制,并阅读了大约几次文档。可悲的是,在我尝试的所有东西中,我只得到了与字符串一起的十六进制值,而不是干净的字符串。

所以我的问题是,最简单的解决办法是什么?我应该更多地关注像python、php这样的脚本语言,还是有一些我不知道的东西可以更容易地实现呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-18 11:20:09

您可以简单地从偏移量138处的文件读取到缓冲区,直到您像这样到达0x00 .

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Open the file for read
$fp = fopen($fileName, "rb");
// Set the file pointer to a byte offset of 138 to begin reading
fseek($fp, 138);
$reached = false;
$buffer = "";
// Read into the buffer until we reac 0x00
do {
    $buffer .= fread($fp, 8192);
    $end = strpos($buffer, "\x00");
    if ($end !== false || feof($fp)) {
        $str = substr($buffer, 0, $end);
        $reached = true;
    }
} while(!$reached);

// $str will contain the string you're looking for
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37900616

复制
相关文章
linux 上查找包含特定文本的所有文件
原文链接:https://rumenz.com/rumenbiji/linux-find-strings.html
入门笔记
2021/11/24
3.9K0
Linux 上无痛文件提取
从 Linux 系统的存档中提取文件没有拔牙那么痛苦,但有时看起来更复杂。在这篇文章中,我们将看看如何轻松地从 Linux 系统中可能遇到的几乎所有类型的存档中提取文件。
用户8639654
2021/09/14
1.4K0
jmeter正则表达式提取器提取特定字符串后的全部内容
jmeter进行JDBC请求时,请求后的响应结果在传递给下一个请求使用时,需要用到关联,也在jmeter中,关联通过正则表达式提取器实现。
流柯
2018/08/31
3.5K0
jmeter正则表达式提取器提取特定字符串后的全部内容
linux 上查找包含特定文本的所有文件
grep > grep -rnw '/path/to/somewhere/' -e 'pattern' -r或者-R是递归的, -n 是行号,并且 -w 代表匹配整个单词。 -l (小写 L) 可以添加只给出匹配文件的文件名。 -e 是搜索过程中使用的模式 除了这些, --exclude, --include,--exclude-dir标志可用于高效搜索: 只搜索那些具有 .c 或 .h 扩展名的文件 > grep --include=\*.{c,h} -rnw '/path/to/somewhere/'
入门笔记
2022/06/02
3.4K0
linux 上查找包含特定文本的所有文件
原文链接:https://rumenz.com/rumenbiji/linux-find-strings.html
入门笔记
2022/07/21
3.6K0
在字符串中删除特定的字符
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。 首先我们考虑如何在字符串中删除一个字符。由于字符串的内存分配方式是连续分配的。我们从字符串当中删除一个字符,需要把后面所有的字符往前移动一个字节的位置。但如果每次删除都需要移动字符串后面的字符的话,对于一个长度为n的字符串而言,删除一个字符的时间复杂度为O(n)。而对于本题而言,有可能要删除的字符的个数是n,因此该
猿人谷
2018/01/17
9K0
Linux 上无痛文件提取 | Linux 中国
从 Linux 系统的存档中提取文件没有拔牙那么痛苦,但有时看起来更复杂。在这篇文章中,我们将看看如何轻松地从 Linux 系统中可能遇到的几乎所有类型的存档中提取文件。
用户1880875
2021/10/11
1.7K0
Python 中 \x00 和空字符串的区别,以及在 Django 中的坑
事情是这样的,我有一个守护进程,不停地从 RabbitMQ 消费数据,然后保存到 MySQL。操作数据库使用的是 Django 的 ORM 语法。
AlwaysBeta
2020/11/26
3.1K0
如何使用DDexec在Linux上隐蔽运行二进制文件
DDexec是一种能够在Linux上使用无文件技术和隐秘技术运行二进制文件的方法,它可以使用dd工具来将Shell替换为其他进程。
FB客服
2022/06/08
3.3K0
如何使用DDexec在Linux上隐蔽运行二进制文件
基于OpenCV的特定区域提取
今天我们将一起探究如何使用OpenCV和Python从图像中提取感兴趣区域(ROI)。
小白学视觉
2020/08/28
2.9K0
Python数据处理 | 批量提取文件夹下的csv文件,每个csv文件根据列索引提取特定几列,并将提取后的数据保存到新建的一个文件夹
的基础文件操作、Pandas的读取数据、索引指定列的数据、保存数据就能解决(几分钟的事儿)。读取 csv 可能会编码错误,加参数 engine=“python”,或者指定编码 encoding=“utf-8/gbk/gb2312”,多试试就可以解决。保存数据到 csv 文件里,有中文列名 Excel 打开会乱码,指定 encoding=“gb2312” 即可。
叶庭云
2022/05/09
7.6K0
Python数据处理 | 批量提取文件夹下的csv文件,每个csv文件根据列索引提取特定几列,并将提取后的数据保存到新建的一个文件夹
binfmt_misc
  binfmt_misc是内核中的一个功能,它能将非本机的二进制文件与特定的解析器自动匹配起来,进行二进制解析。
yaohong
2023/10/14
4960
binfmt_misc
在 Linux 上为特定的用户或用户组启用或禁用 SSH
由于你的公司标准规定,你可能只能允许部分人访问 Linux 系统。或者你可能只能够允许几个用户组中的用户访问 Linux 系统。那么如何实现这样的要求呢?最好的方法是什么呢?如何使用一个简单的方法去实现呢?
用户9104802
2021/11/22
2.6K0
js提取正则中的字符串
代码如下: var results = data.match(/(start=').*?(')/); if (results != null) { console.log(data[0]);
磊哥
2018/05/08
5.5K0
Alpine linux容器中运行go的二进制文件
将golang编译的二进制文件 opena 拷贝到容器的 /usr1 下面,执行显示:
DifficultWork
2019/04/29
5.2K0
Python字符串中删除特定字符的方法
这篇文章主要介绍了Python字符串中删除特定字符的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 分析
全栈程序员站长
2022/06/28
6.5K0
Python字符串中删除特定字符的方法
点击加载更多

相似问题

linux上混合文件中的Grep特定字符串

50

字符串as \x03\x00\x00\x00到整数

21

\x00在二进制文件中是什么意思?

21

在linux日志文件中获取特定事件后的行

11

提取特定值后的字符串

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文