我一直在修补多个妖术编辑器,但是没有什么真正的效果。
我要找的是一种在实际二进制(而不是十六进制)中改变二进制的方法。这纯粹是为了教育目的,我知道这两者之间的转换是微不足道的,但我想要能够改变1和0,就像我会做十六进制一样。
我尝试过在%!xxd -b中使用vim,但是它不能使用%!xxd -r。我知道如何将文件转换为二进制文件,但我正在寻找一种方法来动态地以这种格式更改它并能够保存它。
更好的是,如果我能够找到一种方法,通过纯粹在实际二进制中编码来实际创建二进制。
如能提供任何帮助,将不胜感激:
发布于 2018-11-26 15:09:50
vim或gvim应该直接为您工作,而不需要xxd过滤器。
用(g)vim打开文件。将光标放在字符上,并键入ga以查看状态行中的字符代码。若要插入字符NNN,请将光标放置在需要的位置,进入插入模式并键入Ctrl-v,然后输入三位十进制代码值。使用Ctrl-v x HH输入字符的十六进制代码。
确保您的终端不被设置为使用UTF8,因为在UTF8中,键入Ctrl-v 128实际上会插入c280 (字符128个的utf-8编码),而不是80。
LC_ALL=C vim binary-file这是确保在vim中进行基于二进制字符的编辑的最简单方法,但是如果终端是utf-8,这可能会做一些奇怪的事情。
LC_ALL=C gvim binary-file应打开具有适当显示的独立窗口。
FYI,如果您想在utf-8中工作,Ctrl-v u HHHH就是如何使用十六进制代码点HHHH输入Unicode字符。
发布于 2018-11-26 17:01:01
窗口打开cmd.exe或notepad++或其他编辑器
启用numlock密钥
在笔记本电脑上,您需要使用函数键或字母键上方的蓝色/灰色银色数字(使用顶部的数字将无法工作,因为它们映射到不同的扫描代码。
按alt键+ 255将对应于0xff
按alt键+ 254将对应于0xfe
见下面的演示
C:\>copy con rawbin.bin
■²ⁿ√·∙⌂~}─^Z
^Z
1 file(s) copied.
C:\>xxd rawbin.bin
0000000: fffe fdfc fbfa f97f 7e7d c41a 0d0a ........~}....
C:\>

https://stackoverflow.com/questions/53477582
复制相似问题