Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何制作固定十六进制编辑器?_C#_C++_Dll_Hex - Fatal编程技术网

C# 如何制作固定十六进制编辑器?

C# 如何制作固定十六进制编辑器?,c#,c++,dll,hex,C#,C++,Dll,Hex,所以。假设我要制作一个十六进制编辑器来编辑。。。哦比如说一个.DLL文件。如何使用C++或C++编辑.dll文件的十六进制?对于“固定部分”,我想使其能够从程序中浏览特定的.DLL,在编程文件中有一些预编码的按钮,当按下按钮时,它将自动执行请求的操作,这意味着该按钮已预编码,以便知道在.DLL中查找什么以及将其更改为什么。有人能帮我开始吗 另外,最好是C。谢谢大家! 如果要加载十六进制编辑框,可以使用以下方法: 编辑文件的“十六进制”只不过是更改其中的字节而已。预编程更改的部分将是更通用的类型。

所以。假设我要制作一个十六进制编辑器来编辑。。。哦比如说一个.DLL文件。如何使用C++或C++编辑.dll文件的十六进制?对于“固定部分”,我想使其能够从程序中浏览特定的.DLL,在编程文件中有一些预编码的按钮,当按下按钮时,它将自动执行请求的操作,这意味着该按钮已预编码,以便知道在.DLL中查找什么以及将其更改为什么。有人能帮我开始吗


另外,最好是C。谢谢大家!

如果要加载十六进制编辑框,可以使用以下方法:
编辑文件的“十六进制”只不过是更改其中的字节而已。预编程更改的部分将是更通用的类型。但是对于实际查看、查找并拥有更改任何您想要的内容的选项,Be.HexEditor是一个不错的选择。我在一年多前使用过它,我希望它有一些新功能,可以让你的生活更轻松。

基本原理非常简单

DLL或任何文件都是字节流

基本文件操作允许您读取和写入文件的任意部分。艺术术语基本上是“随机存取文件操作”

在C语言中,基本操作是read()、write()和lseek()

read允许您将字节流读入缓冲区,write允许您将字节缓冲区写入文件,lseek允许您在文件中的任何位置定位

例如:

int fd = open("test.dat", O_RDWR);
off_t offset = lseek(fd, 200, SEEK_SET);
if (off_t == -1) {
    printf("Boom!\n");
    exit(1);
}    
char buf[1024];
ssize_t bytes_read = read(fd, buf, 1024);
offset = lseek(fd, 100, SEEK_SET);
ssize_t bytes_written = write(fd, buf, 1024);
flush(fd);
close(fd);
它从文件的第200个字节开始读取1024个字节,然后以100个字节将其写回文件

一旦可以更改文件中的随机字节,就需要选择要更改的字节、如何更改它们,并执行适当的读/写操作来进行更改

请注意,这些是最基本的I/O操作,根据您的语言等,可能会有更好的I/O操作,但它们都基于这些基本操作


解释文件的字节,显示它们等等。这是读者的练习。但这些基本的I/O功能为您提供了更改文件的基础。

到目前为止您的方法是什么?还没有方法,因为目前我的时间有点短,但春假即将到来,我会感到无聊。该程序看起来不错,但我不知道如何将其用于我的想法:\它就像一个插件,为您提供一个小部件,它是一个十六进制编辑器框。就像我说的,编辑一个文件的“十六进制”只不过是改变它的字节而已。如果你只想这样做,而没有一个真正的编辑器(在谷歌中查找“十六进制编辑器”,看看你得到了什么),你将需要像C#类、文件流、BinaryReader和BinaryWriter这样的东西。这就是我想要的。从程序中调用函数来更改文件的字节。您知道如何在C#中使用OpenFileDialog吗?是的,我知道如何使用它,但这有什么帮助?