问题标签 [hex-editors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
885 浏览

c# - 用于打开大型二进制文件的十六进制编辑器

我想创建一个十六进制编辑器来打开大型二进制文件。这是我的代码。它适用于小文件。但是当我打开大文件时,十六进制编辑器面临问题。

0 投票
1 回答
613 浏览

java - .java 文件以什么十六进制代码开头?

我正在尝试获取“幻数”(说明文件格式的字节)......我确实尝试过自己在十六进制编辑器中打开文件。但我一开始只得到“70 75”。这是错误的。我正在做作业,找不到正确的十六进制代码。我对十六进制编辑器没有太多经验。

0 投票
0 回答
422 浏览

java - 如何截取整个窗口屏幕的屏幕截图,而不仅仅是可见的部分

我知道 Stack Overflow 上有这个问题回答了如何在 Android Android 解决方案中执行此操作,还有一个关于堆栈溢出的问题询问并回答了如何立即截取整个网页的截图,即使是不可见的部分Web 浏览器解决方案

现在我的问题是我正在构建一个十六进制编辑器,我想在打开文件时截取整个窗口的完整屏幕截图,而不仅仅是当前可见的部分。我最好如何在Java中做到这一点。

目前,我只能获取当前可见文件的一部分的屏幕截图

然而,我希望图片能够拍摄文件的每个部分,而不仅仅是当前可见的部分。

顺便说一下,图片使用的是我在线下载的免费十六进制编辑器。

0 投票
1 回答
106 浏览

python - c++中嵌入的python在十六进制编辑器中是什么样子的?

我的问题是,当你在编译程序后将 python 嵌入到 c++ 中时,你会得到一个 exe 文件,对吗?

如果有人在十六进制编辑器中打开我的程序并且我有一些 python 代码,例如“def add(x,y):return(x+y) “ python 代码会在十六进制编辑器中显示为纯英文吗?

0 投票
1 回答
598 浏览

emacs - 以 hexl 模式复制部分

在 emacs 中使用hexl-mode查看二进制文件时,有没有办法将一个部分复制并粘贴到另一个文件中?

我已经用标准试过了C-Spc,选择一个地区,M-w

但是将其粘贴到新文件中会将整个内容视为普通文本,即我得到一个看起来像很多这样的文本文件:

即它制作文本的文字副本,而不是复制它所代表的二进制数据

我想要做的是复制一个部分,将其粘贴到一个新文件中,以便我获得该部分的二进制表示

换句话说,我希望能够使用 hexl-mode 从原始二进制文件的一部分生成新的二进制文件,以查看原始二进制文件

希望这是有道理的..

0 投票
1 回答
586 浏览

java - 十六进制编辑 Java 字节码抛出 ClassFormatError

在研究 Java,尤其是字节码编辑时,我偶然发现了本教程,它指导了使用十六进制编辑器编辑已编译 Java.class文件的步骤。很感兴趣,我试了一下。

我确保我输入了正确的所有内容,检查并仔细检查,在我的十六进制编辑器中替换了正确的字节,等等。一切都很好。

我注意到的第一件事是我的十六进制转储与他的不同,但是,我预料到了这一点,因为不同的 Java 版本会产生不同的结果。

输入正确的字节后(将那些 for 替换为Hacking Java Bytecode!那些 for l33t hax0r bro,以及三个出现的00 16with 00 0E),我保存了文件并运行它。然而,l33t hax0r bro我没有像教程的作者那样得到 的输出,而是得到了一个相当丑陋的错误:

这是我正在使用的 Java 源代码:

未编辑 User.class文件的 hexdump :

已编辑 User.class文件的 hexdump :

这个问题的答案表明这ClassFormatError是 Java 8 编译器中的一个错误。我正在使用 Java 8,但是,答案还指出该错误已在 8u60+ 中修复。我正在使用 8u65。

最后,如何.class使用十六进制编辑器编辑文件以获得所需的输出?

其他系统规格:

  • 软呢帽 23
  • javac -versionjavac 1.8.0_65
  • java -version

    /li>
0 投票
3 回答
2723 浏览

c++ - 使用 hexeditor 更改 .exe

我用 C++ 写了一个小程序:

我已经建立了程序。工作程序在Release文件夹中。现在我想更改if语句,而不更改 C++ 代码。我下载了一个十六进制编辑器并打开了文件。里面.exe有很多。我用谷歌搜索了这个问题,发现这张非常漂亮的图片:

我在十六进制编辑器中搜索了我的输出Input == 5。我找到了。当我将其更改为不同的内容并执行文件时,程序会显示新输入的消息,而不是旧消息。

但现在我想改变代码的结构(if语句)。我搜索if,但没有找到任何东西。那么,代码部分(图像)在哪里?

0 投票
3 回答
2161 浏览

c# - 奇怪的 Notepad++ HEX 编辑器插件

目标是将字节数组写入文件。我有字节数组 fit[] 和一些字节,然后:

在写入文件之前 img[] 具有相同的值:

  • 图像[0]=0x31
  • 图像[1]=0x27
  • 图像[2]=0x31
  • img[3]=0xe2
  • 等等...

写入文件后,在十六进制编辑器中我看到

  • 00000000: 31 27 31 3f 和其他错误值。

有时,使用其他 fit[] 值,img[] 数组可以正确写入文件。我做错了什么?
测试 1.myf 的文件(产生错误的结果)https://www.dropbox.com/s/6xyf761oqm8j7y1/1.myf?dl=0 测试 2.myf 的文件(正确写入文件)https://www .dropbox.com/s/zrglpx7kmpydurz/2.myf?dl=0

我简化了代码:

在十六进制编辑器 img_correct.myf 中看起来像这样: bd 1​​9 bd 72 bd 93 bd f7

在十六进制编辑器 img_strange.myf 中看起来像这样:33 08 33 3f 3f 3f

0 投票
1 回答
284 浏览

visual-studio - 如何将“0x00000040 20 66 6F 72 6D 2D 64 61 74 61 3B 20 6E 61 6D 65 form-data; name”形式的十六进制编辑器输出转换为纯文本?

我从 Visual Studio 以字符串的形式获取输出:

这是来自 Web 性能测试发送请求后的响应视图窗口。不幸的是,在 Visual Studio 中没有更改视图格式的选项。我只需要将其视为纯文本。除了创建我自己的解析器之外,有没有办法将这种格式的文本转换为纯文本?


Meta:这个问题因为问得不好而变得一团糟。我已经完全重新提出了这个问题,希望能减少误导。我应该重新问一下吗?我将旧问题的表述保留在下面,以免使当前的答案和评论显得无关紧要。


问题的旧表述:

编辑3:我显然无法正确解释我的问题。当我运行 Visual Studio Web 性能测试时,我可以查看上述格式的响应。但是我需要将它视为纯文本,在 Visual Studio 中没有选项。所以我需要一种从上面显示的格式转换为纯文本的方法。

这是标准输出格式吗?“0x00000040”似乎不是实际数据的一部分,而只是行号。以下两个部分似乎是同一件事两次,首先是十六进制,然后是字符。我不认识这种格式,并且尝试搜索仅返回有关如何从十六进制转换为字符串的结果。是否有解析器可以将其拆分为 3 列,或者更好的是只有 3 个字符串(一个用于 eah 列)。我真的只需要字符输出。

当我在 Visual Studio 中运行 Web 性能测试时查看对请求的响应时,我得到了这些数据。实际响应本身不是这种格式,只是 Visual Studio 呈现它的方式。

编辑:添加了一些关于数据来源的说明。我真的只是想弄清楚是否有一种简单的方法可以从这种格式转换为纯文本,因为在 Visual Studio 中似乎没有将其视为纯文本的选项。

0 投票
0 回答
32 浏览

python - 使用内置函数或 3rd 方库在 Python 中获取下一个 utf8 字符大小?

我正在使用 PySide 在 Python 中开发一个十六进制编辑器,它的左侧面板是十六进制查看器,右侧面板是解码的文本查看器(通过不同的编码)。

我目前的工作功能是使用 utf8 编码将二进制数据显示为文本。当然,我可以使用解码整行

而通过这种方式,每个 utf8 字符之间将没有间距。


但是如果字符的字节大小大于 1,我需要在字符之间添加空格。

例如

字节“61 e4 bd a0 e5 a5 bd”解码为utf8将是3个字符:a(61),你(e4 bd a0),好(e5 a5 bd)所以我想显示的是:

(十六进制编辑器)

61 e4 bd a0 e5 a5 bd ... | a 你_ _ 好_ _ ...(下划线表示空格)


所以我需要获取下一个 utf8 字符的字节大小来决定需要添加多少空格。

假设函数调用nextUtf8CharSize (bytes)

解码一行字节的伪代码将是

是否有任何内置功能或 3rd 方库来完成这项工作?(否则需要自己实现)