gpt4 book ai didi

c# - 在 .bin 文件中查找 bmp

转载 作者:行者123 更新时间:2023-11-30 18:36:08 24 4
gpt4 key购买 nike

在搜索了数周之后,我似乎无法找到解决问题的方法。我想做的是打开一个带有 RichTextBox 的表单,按下加载按钮并加载 .bin要搜索的文件。然后,使用单选按钮选择 jpegbmp,并在 RichTextBox 中显示所有 jpeg 或 bmp——不是图像,只是偏移位置。

例如,“jpg found at 0x00002311”是 ÿØÿà 开始的偏移量,或者“bmp found at 0x00009382”是所选 .bin 文件中 BM 的开始位置。

这就是我所在的位置:它找到一个 bmpjpeg 并显示计数,但不显示偏移量。我需要它来查找所有图像和偏移量。

private void button7_Click(object sender, EventArgs e)
{
using (OpenFileDialog dlgOpen = new OpenFileDialog())
{
try
{
long count = 0; string line;
List<String> LinesFound = new List<string>();
dlgOpen.Filter = "All files(*.*)|*.*";
dlgOpen.InitialDirectory = "C://bin";
dlgOpen.Title = "Load";

if (dlgOpen.ShowDialog() == DialogResult.OK)
textBox5.Text = dlgOpen.FileName;
{
var sr = new StreamReader(dlgOpen.FileName, Encoding.Default);

while ((line = sr.ReadLine()) != null)
{
if (line.Contains("ÿØÿà"))
richTextBox1.Text = ("JPEG Found at address") + count++;
else if (line.Contains("BM"))
richTextBox1.Text = ("BMP Found at address") + count++;
}
}
}
catch (Exception)
{
MessageBox.Show("error in reading file");

}
}
}

最佳答案

您遇到的问题是 StreamReader.Readline正在寻找文本而不是二进制数据。

一行定义为一系列字符后跟换行符(“\n”)、回车符(“\r”)或回车符后紧跟换行符(“\r\n ”)。

您需要进行二分查找。尝试从以下开始:

byte[] bytes = File.ReadAllBytes(dlgOpen.FileName);

关于c# - 在 .bin 文件中查找 bmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14026860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com