使用记事本++作为十六进制编辑器

时间:2020-03-11 17:07:54

标签: plugins notepad++ hex-editors

我正在Windows 10上使用版本7.8.5 64bit的Notepad ++,我想将其用作十六进制编辑器。

我打开了一个二进制文件,但记事本以带有奇怪字符的文本的形式显示给我。为了形象化十六进制数,我选择了一部分文本,然后单击声音

Plugins/Converter/ASCII-->HEX 

,它向我显示所选部分的十六进制数字。现在,我想以十六进制形式查看整个文件,但是它不起作用。似乎选择了某些可行的部分,而其他无效了。

我需要以十六进制格式转换或可视化整个文件。

我也尝试过:

Plugins/Plugins Admin…

但是十六进制编辑器不存在。

感谢4个帮助

2 个答案:

答案 0 :(得分:4)

在我看来,您尝试安装十六进制编辑器并最终遇到了上述问题中提到的错误工具(插件)Converter(ASCII->十六进制)。

HexEditor的安装过程有些混乱,因为它目前仅在Plugins Admin中用于32位版本。

一种简单的解决方案是在USB记忆棒上安装Notepad ++ x32版本(例如,使用PortableApps)。

但是,还有thanks to Peter Jones,这里是x64 version.的下载链接以及实际执行手动安装的说明:

  • 解压缩相应的下载zip文件并打开包含该文件夹的文件夹(或在Windows资源管理器中打开该zip文件)
  • 在Notepad ++中,使用“插件”>“打开插件文件夹”。
  • 在新打开的plugins文件夹中,添加一个子文件夹HexEditor。
  • 将zip文件中的HexEditor.dll复制到HexEditor子文件夹中…因此它应该位于...\notepad++\plugins\HexEditor\HexEditor.dll
  • 关闭Notepad ++的所有打开的窗口。
  • 再次重新启动Notepad ++。
  • HexEditor应该在“插件”菜单中可用,并且HexEditor.dll应该在“?”中列出。 >调试信息插件列表。

已通过Windows 10上的Notepad ++版本7.8.5 64bit成功测试。有关更多信息,请参见上面的链接。请注意一个UAC问题,即以管理员身份运行Notepad ++。

答案 1 :(得分:2)

来自 help-info.de 的回答有效。

但是,如果您处于需要复制粘贴插件提供的十六进制输出结果的上下文中,那就不是很好了。


例如,假设 NPP_HexEdit 窗口显示以下字节:

<块引用>

00 06 12 0b

如果您从从左到右中选择,复制然后粘贴(在一个新的文本文件中),您将获得:

<块引用>

20 06 12 0b

出于某种原因,'0x00' 被转换为 UTF-8 '20',并且由于 '0x20' 也被转换为 UTF-8 '20',因此您无法真正在此处使用复制 + 粘贴功能。

如果您选择从右到左,复制然后粘贴(在一个新的文本文件中),您将获得:

<块引用>

12 01 0e 0d

我什至不会尝试转换这个,显然无法使用......


解决方案(Windows)

  • Plugins > Plugins Admin选择并安装NppExec,重启npp。

  • 选择 Plugins > NppExec > Npp Execute... 并输入以下内容:

     SET local OUTFILE = "$(FULL_CURRENT_PATH).hex.txt"
     cmd /c <XXD_DIRECTORY>\xxd.exe -p $(FULL_CURRENT_PATH) >$(OUTFILE)
     NPP_OPEN $(OUTFILE)
    
  • 从同一窗口保存您的脚本,例如 bin_to_hex

  • Plugins > NppExec > Advanced Options 中选择 Associated script: 中的脚本并添加 Add/Modify,然后按确定并重新启动 npp。

  • 在 npp 中,打开您的 bin 文件。

  • 选择 Plugins > NppExec > bin_to_hex 就大功告成了!,应该在新标签页中将您的 bin 设为 HEX。

xxd.exe 可以从多个位置恢复,例如:

  • C:\Program Files (x86)\Vim\vim74
  • (我在我这边用过这个,来自 Cmder C:\Cmder\vendor\git-for-windows\usr\bin

已编辑 您可以使用以下 powershell 方法(格式更好但执行时间更长)而不是使用 xxd.exe。将脚本替换为:

    SET local OUTFILE = "$(FULL_CURRENT_PATH).hex.txt"
    cmd /c powershell -command "format-hex $(FULL_CURRENT_PATH) > $(OUTFILE);exit"
    NPP_OPEN $(OUTFILE)
相关问题