用于在 linux 上搜索 utf16le 中的字符串的 Hexeditor

Posted

技术标签:

【中文标题】用于在 linux 上搜索 utf16le 中的字符串的 Hexeditor【英文标题】:Hexeditor for searching strings in utf16le on linux 【发布时间】:2017-02-05 08:43:20 【问题描述】:

我正在尝试为简单的字符串搜索找到一个简单的 hexeditor。 hexeditbless 是 good candidates,但是基于字符串的面板(右侧)主要是基于 ASCII 的。

我想以一种灵活的方式(我使用iconv utf16le)在一个非常大的二进制文件中搜索字符串以找到一些有趣的字符串。但我现在想在文件中找到与这些字符串匹配的偏移量。

我知道我可以搜索 K.E.R.N.E.L.B.A.S.E. 而不是 KERNELBASE,但这听起来很荒谬。

有没有办法使用 vim + xxd ? bless 有插件吗?

【问题讨论】:

【参考方案1】:

你可以直接:edit ++bin ++enc=utf-16le filename,然后使用 Vim 的内置搜索命令来定位“有趣的字符串”。然后,:echo line2byte('.') + col('.') - 2 将打印光标位置的(从 0 开始的)字节偏移量。

您还可以在您的 'statusline' 中获得一个(基于 1 的)偏移量:

:set statusline+=\ %o

【讨论】:

以上是关于用于在 linux 上搜索 utf16le 中的字符串的 Hexeditor的主要内容,如果未能解决你的问题,请参考以下文章

在UTF-16中,UTF-16BE,UTF-16LE,UTF-16的端点是计算机的字节序吗?

为啥 Windows 使用 UTF-16LE?

JAVA利用commons.net.ftp.FTPClient的storeFileStream方法TXT文件上传. 已经转码UTF-16LE,上传后内容乱码

使用C ++将越南语字符编码为USASCII,ISO88591,UTF8,UTF16BE,UTF16LE,UTF16

Windows API:ANSI 和宽字符字符串——是 UTF8 还是 ASCII? UTF-16 还是 UCS-2 LE?

如何使用 C# 将 powershell 脚本编码为 base64 UTF16-LE 字符串