我需要一个适用于Linux的好的HEX编辑器,我的意思是:
你能提出什么建议?
什么是Mac的十六进制编辑器/查看器?我已经使用xxd查看hexdumps,我认为它可以反过来用于编辑.但我真正想要的是一个真正的十六进制编辑器.
在Windows机器上,有许多第三方编辑器可用于编辑二进制文件.我相信在*nix系统中应该有一些similer buildin.任何想法如何在unix上编辑二进制文件?
当我使用不同的编译器编译此代码并检查十六进制编辑器中的输出时,我希望在某处找到字符串“Nancy”。
#include <stdio.h>
int main()
{
char temp[6] = "Nancy";
printf("%s", temp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
的输出文件gcc -o main main.c
如下所示:
的输出g++ -o main main.c
,我无法在任何地方找到“Nancy”。
在 Visual Studio (MSVC 1929) 中编译相同的代码,我在十六进制编辑器中看到完整的字符串:
为什么(1)中的字符串中间会出现一些随机字节?
至于所有文件的末尾,特别是文本文件,有一个EOF或NULL字符的十六进制代码.当我们想要编写程序并读取文本文件的内容时,我们发送读取函数,直到我们收到该EOF十六进制代码.
我的问题:我下载了一些工具来查看文本文件的十六进制视图.但我看不到任何EOF(文件结束/ NULL)或EOT(文本结束)的十六进制代码
ASCII/Hex代码表:
这是Hex查看器工具的输出:
注意:我的输入文件是一个文本文件,其内容是"EOF"的十六进制代码在哪里?"
感谢您的时间和考虑.
我正在尝试使用hexl模式从文本文件中手动删除一些特殊字符,但是看不到如何在hexl模式下删除任何内容.
我真正想要的是删除回车并保持换行符.Hexl模式是正确的方法吗?
我过去多次使用"十六进制编辑器将DPB修改为DPx"来绕过旧的Excel VBA项目(.xls)上的VBA项目安全性,所以我肯定知道如何做到并知道我能做到.
但是我昨天刚尝试这样做,发现它似乎不再起作用了.我尝试使用Excel 2011(Mac)和Excel 2003(Windows),在这两种情况下,我都有相同的行为;
打开VBA编辑器会显示一条消息,指出项目已损坏,项目将被删除.然后打开VBA编辑器,当然,所有VBA都从模块和工作表中删除.
我尝试过这种方法: 有没有办法破解Excel VBA项目的密码?(即创建一个包含已知密码的电子表格,然后在相关字段中复制)
但是发现在我的'虚拟'电子表格上创建的"GC"键的长度比我希望访问的电子表格上的"GC"键("目标")短.我曾在其他地方读到,在"目标"键较长的情况下,你可以将"虚拟"键填充到相同的长度,但在相反的情况下我无法找到说什么做.
所以 - 我的问题;
编辑 现在解决了这个问题(在某种程度上),我想我会在这里添加一个摘要.
我HAVE NOT之所以能得到这个在Mac的Excel工作有关更改从filname.xlsm该文件fielname.zip 2011年的东西,然后再返回结果,其中的Excel 2011拒绝承认损坏的Excel文件.
我通过将.xlsm文件名修改为.zip,使用十六进制编辑器编辑vbaproject.bin文件中的DPB = AND GC =值然后保存,我设法让它在旧的Windows机器(XP/Excel 2007)上工作在将.zip重命名为xlsm之前,在.zip文件中.我使用了Ricko在底部给出的"测试"示例,它与ONE CAVEAT一起使用 - 我必须"填充"我的GC值,使其与我文件中的原始值相同.
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
Run Code Online (Sandbox Code Playgroud) 我下载了Hex Workshop,我被告知要读取.dbc文件.
如果读取偏移量0x04和0x05,它应该包含28,315
我不确定该怎么做?0x04是什么意思?
我有一个bin文件,其中包含我的Verilog项目的所有指令缓存和数据缓存,我希望看到它,因为Notepad ++十六进制编辑器显示其含义,十六进制表示视图.有没有办法配置这个?
或者可能是提供此功能的扩展程序?
我不希望vim以任何特定于编码的方式解释我的数据.换句话说,当我在vim中时,我希望我的光标所在的字符对应于实际字节,而不是该字节的utf*(等)表示.
我需要使用vim来分析由其他人(使用其他软件)所做的Unicode转换错误引起的问题,所以我看到实际存在的内容非常重要.
例如,在Cygwin的vim中,我已经能够看到UTF-8 BOM
[文件数据开始]
太棒了.我认为这是一个UTF-8 BOM,如果我想知道每个字符的十六进制是什么,我可以将光标放在字符上并使用'ga'.
我最近有一台合适的Linux机器(Fedora).在/ etc/vimrc中,此行存在
set fileencodings = ucs-bom,utf-8,latin1
当我在这台机器上查看UTF-8 BOM时,BOM被完全隐藏.
当我将以下行添加到〜/ .vimrc时
设置fileencodings = latin1
我知道了
AA»Â¿
前3个字符是BOM(当ga用于它们时).我不知道最后3个字是什么.
有一次,我甚至看到UTF-8 BOM表示为"feff" - UTF-16 BOM.
无论如何,你看到我的问题.我需要在没有vim为我解释字节的情况下查看文件中的确切内容.我知道我可以使用xxd,od等,但vim作为分析工具一直非常方便.另外,我希望能够编辑文件并保存它们,而不会出现任何转换问题.
谢谢你的帮助.
hex-editors ×10
hex ×4
linux ×2
binaryfiles ×1
c ×1
c++ ×1
compilation ×1
emacs ×1
excel ×1
excel-vba ×1
gcc ×1
java ×1
macos ×1
string ×1
text-files ×1
unicode ×1
unix ×1
utf-8 ×1
vba ×1
vim ×1