Ok, I am stuck in a problem here. I know how to read a string from a file and then write it as a string. I can't do it as bytes for some reason. What I want it to do it go to and offset (r.BaseStream.Position = 0xAC00 then read the next 50 bytes and then these bytes will be a variable in my lower portion of code a few lines down where it will write these bytes (basically like copy and paste) to a different offset of null bytes. (overwritting these null bytes with the variable from the binaryreader). If you get what I am saying, please help out. My code I was trying to do, was this: Code: BinaryReader r = new BinaryReader(new FileStream(textBox1.Text, FileMode.Open)); r.BaseStream.Position = 0xAC00; string data = r.ReadBytes(0x50).ToString(); r.Close(); BinaryWriter b = new BinaryWriter(new FileStream(textBox1.Text, FileMode.Open)); b.Write("Test File"); b.BaseStream.Position = 0xD000; b.Write(data); using textBox1.Text as my location. As you can see that code is flawed, it won't work the way I need it to. Also, everything is going in the same class so all the variables can be declared internally. Thanks for the help.