• 0

[Python] Removing Bytes at Particular Offsets in a File


Question

Howdy Folks,

I've done a fair share of Googling but to no avail so I thought I'd get some input on my current task here. I've got a file of raw packet data that I need to do some manipulation to. Basically, I need to delete the first several bytes of data in the file, then delete another set amount of bytes occurring at a particular offset, then another set of bytes at another offset, and so on and so forth.

The basic logic is this:

Delete first 1048 bytes of the file

Skip to offset 0x10000

Delete 68 bytes of data

Skip to offset 0x20000

Delete 68 bytes of data

Skip to offset 0x30000

Delete 68 bytes of data

I'd appreciate any thoughts or general pointers on how I should approach this in python. I've got a few other things I eventually want to do with this script but getting this figured out should point me in the right direction.

2 answers to this question

Recommended Posts

  • 0

I'm not sure how you could delete bytes in a file directly. What you could do is write the parts you want to keep in a temporary file, then delete the original and rename the temporary file to the original name.

The file object in python has all the methods you need to do this: open, read, seek, write. Oh and you'll need os.remove() to delete the temporary file.

  • 0
  On 21/04/2011 at 17:17, Dr_Asik said:

I'm not sure how you could delete bytes in a file directly. What you could do is write the parts you want to keep in a temporary file, then delete the original and rename the temporary file to the original name.

The file object in python has all the methods you need to do this: open, read, seek, write. Oh and you'll need os.remove() to delete the temporary file.

Probably even better would be using mmap this would negate the need for temporary file and deleting.

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

    • No registered users viewing this page.
  • Posts

    • MacBook Air M3 with 512GB SSD and 16GB RAM is now available for just $899 by Taras Buria Apple is infamous for its eye-watering storage and RAM upgrade prices in Macs, iPads, and iPhones. However, there is no denying that the company makes great hardware, especially for Macs with their powerful and efficient chips. If you want an affordable Mac with more than just 256GB of storage, check out this deal on the 2024 MacBook Air M3 with 512GB SSD and 16GB of RAM, which is now available for only $899 ($600 off the original MSRP). The MacBook Air needs no introduction. This 13-inch laptop with a full-metal body has a solid Liquid Retina display, a powerful eight-core M3 processor with a 10-core graphics, and a battery that lasts all day (Apple claims up to 18 hours of video playback). The chip supports Apple Intelligence features such as image generation, writing tools, ChatGPT integration with Siri, and more. It can also drive two external 5K displays with the lid closed (or one display with the lid open). The laptop also has a backlit keyboard with a fingerprint sensor, a massive haptic trackpad, a 1080p webcam (in the notch), and a powerful quad-speaker audio system with Spatial Audio support. Available ports include MagSafe for magnetic charging, a headphone jack, and two Thunderbolt 4 Type-C ports. All of that is packed into a half-inch-thick lightweight chassis that is easy to carry around. 2024 13-inch MacBook Air M3, 16GB, 512GB - $899 | 31% off on Amazon This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
    • This game is already dead and we all know it. "delayed indefinitely" my a**...
    • That's why it really depends to what extent they've tweaked it and if you can just easily switch to full Windows if you want. I'm sure lots of people who just game on their devices with some light web browsing etc, would love to have this Xbox version as a option though. It really depends on what you do with your device. Maybe they're only going to offer it to specific gaming devices like handhelds or mini-PCs you can put under your TV?
  • Recent Achievements

    • First Post
      Ian_ earned a badge
      First Post
    • Explorer
      JaviAl went up a rank
      Explorer
    • Reacting Well
      Cole Multipass earned a badge
      Reacting Well
    • Reacting Well
      JLP earned a badge
      Reacting Well
    • Week One Done
      Rhydderch earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      665
    2. 2
      ATLien_0
      267
    3. 3
      Michael Scrip
      217
    4. 4
      +FloatingFatMan
      188
    5. 5
      Steven P.
      145
  • Tell a friend

    Love Neowin? Tell a friend!