• 0

[VB.Net][C#] Replacing some bytes with another bytes in binary file


Question

  • 0

Simple one byte example:

//
// open file.bin (in local directory) for read/write access
//

BinaryWriter bw = new BinaryWriter(
	File.Open(@"file.binFiFileMode.Open, FileAccess.ReadWrite));

//
// write byte (character 'b') at offset 1234
// and close the file
//

bw.BaseStream.Seek(0x1234, SeekOrigin.Begin);
bw.Write(0x62);
bw.Close();

Simple multi-byte example:

//
// not a real patch, this is JMP EIP;p
//

byte[] patch = { 0xEB, 0xFE };

//
// open file.bin (in local directory) for read/write access
//

BinaryWriter bw = new BinaryWriter(
	File.Open(@"file.binFiFileMode.Open, FileAccess.ReadWrite));

//
// write byte (character 'b') at offset 1234
// and close the file
//

bw.BaseStream.Seek(0x1234, SeekOrigin.Begin);
bw.Write(patch);
bw.Close();

7 answers to this question

Recommended Posts

  • 0

ok never mind, i managed to replace the byte with your code, thanks again :)

However it seems that i MUST replace bytes with same length. I can't replace 2 bytes with 7 bytes for example.

Edited by Elagizy
  • 0
  Elagizy said:
ok never mind, i managed to replace the byte with your code, thanks again :)

However it seems that i MUST replace bytes with same length. I can't replace 2 bytes with 7 bytes for example.

No, BinaryWriter cannot "insert" bytes. Most binary files, like executables, cannot change in size without having to alter a bunch of other information (i.e. PE header). Your best bet is to explain what you're trying to do; we'll try to determine what the best solution is.

  • 0

I managed to record LIVE MMS streams, unfortunately after saving streams, it only works on VLC player. One of the issues i'm working on, is to fix ASF header "play_duration" to get the exact duration of the file. But the file will still be playable on VLC player only, but I can now see the file play length and can drag the seek bar.

Some LIVE MMS streams plays well on all media players, so i'm trying to compare asf headers with each other and fill up the gap.

It seems to be working, i use UltraEdit to mess with ASF header and i got some files partially fixed. All i need at the moment is to edit bytes freely programmatically.

But your code also helps me alot, ASF header has some values with fixed length like "packet length" "play duration" ...etc

  • 0
  Elagizy said:
I managed to record LIVE MMS streams, unfortunately after saving streams, it only works on VLC player. One of the issues i'm working on, is to fix ASF header "play_duration" to get the exact duration of the file. But the file will still be playable on VLC player only, but I can now see the file play length and can drag the seek bar.

Some LIVE MMS streams plays well on all media players, so i'm trying to compare asf headers with each other and fill up the gap.

It seems to be working, i use UltraEdit to mess with ASF header and i got some files partially fixed. All i need at the moment is to edit bytes freely programmatically.

But your code also helps me alot, ASF header has some values with fixed length like "packet length" "play duration" ...etc

You should use a bit stream library which will allow you to write and read stuff at a bit level.

http://www.codeproject.com/csharp/bitstream.asp

This should be pretty straight forward.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Microsoft takes unreliability to reliable levels, ffs...
    • It's a feature, not a bug: Windows Hello face unlock no longer works in the dark by Usama Jawad Windows Hello is a security mechanism offered by Microsoft in compatible Windows PCs that allows customers to use biometric authentication mechanisms such as facial or iris recognition, fingerprint, or a PIN to access their accounts. Although it's a great feature when it works correctly, that is not always the case. Now, Microsoft has changed the way this feature works, and people aren't exactly pleased. As spotted by Windows Central, Windows Hello hasn't been working as people would expect since at least April's Patch Tuesday update. Since then, the mechanism requires both an infrared (IR) sensor and a color webcam to function correctly. Previously, Windows Hello relied on IR sensors to create a 3D facial map, just like the iPhone. IR sensors work quite well in low-light environments, but Microsoft does not allow customers to rely on them anymore due to a patch for a security vulnerability. It is important to note that most webcams don't illuminate the environment on their own and rely on external light. This essentially means that Windows Hello simply doesn't work in low-light environments for many users. In our own testing, Windows Hello seems to be working in low warm light, shown below: However, it now fails to work in an even dimmer environment, such as that with red light: That said, it seems that Microsoft has not implemented the change perfectly. Users have reported that if they disable their webcam through Device Manager, Windows Hello falls back to using IR sensors only and continues to function the way it used to. While that may act as a workaround for users right now, it'll be interesting to see if Microsoft patches this loophole down the line, too; it certainly wouldn't be surprising now that it's more widely known. Source: Windows Central
    • I know Windows DHCP and DNS servers get teased a lot, but those services were at least created at a time when MS cared more than they do now, and they work mostly as expected. I actually use both in a multisite professional setting, not really because I love them, but because we use Active Directory and those services go hand-in-hand with it. A few times when I have needed to configure some more advanced features, I was worried Windows might not support them, but so far it has not let me down. I can only image the horror a Windows 11 era DHCP server would be, probably fewer options than the basic service on a Netgear router.
    • Since the article doesn't cover it: >Pinned Tabs allow you to always keep your favorite tabs open and just a click away. Pinned Tabs are small, can't be closed accidentally, and open automatically when you start Firefox. from https://support.mozilla.org/en...keep-favorite-websites-open
    • CapCut 6.4.0 (offline installer) by Razvan Serea CapCut is a versatile video editing app that offers a range of features such as multi-layer editing, keyframe animations, special effects, and more, to create professional-quality videos. With CapCut, users can edit and enhance their videos with a variety of tools such as filters, transitions, effects, and text overlays. CapCut's extensive library of pre-designed templates and visual effects also allows users to create unique and eye-catching videos in just a few clicks. Users can also adjust video speed, crop, and merge multiple clips, among other features. CapCut is available for both mobile devices and Windows, making it accessible for everyone. CapCut key features: User-friendly interface for easy video editing A wide range of editing tools, including trim, split, cut, and merge Music library with a wide range of tracks to choose from Customizable text and fonts to add captions and titles Multi-layer timeline for seamless editing and layering Filters and effects to enhance video quality and style A variety of transitions to choose from Multiple aspect ratio options for different platforms Green screen/chroma key for adding custom backgrounds Overlays and stickers to add to your videos Easy exporting to different video formats and resolutions Large library of pre-designed templates and visual effects Customizable video thumbnails for branding Keyframe animation to add movement to your video Speed adjustment for slow motion or time-lapse effects Customizable transitions between clips Reverse video playback for creative effects Voiceover recording and editing for narrating your video Color grading tools and much more... Download: CapCut 6.4.0 | 709.0 MB (Freeware) Links: CapCut Website | CapCut Screenshot | CapCut Online Editor Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Week One Done
      patrickft456 earned a badge
      Week One Done
    • One Month Later
      patrickft456 earned a badge
      One Month Later
    • One Month Later
      Jdoe25 earned a badge
      One Month Later
    • Explorer
      Legend20 went up a rank
      Explorer
    • One Month Later
      jezzzy earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      642
    2. 2
      ATLien_0
      279
    3. 3
      +FloatingFatMan
      171
    4. 4
      Michael Scrip
      156
    5. 5
      Steven P.
      131
  • Tell a friend

    Love Neowin? Tell a friend!