LINUX.ORG.RU

Требуется программа или скрипт для сортировки данных

 , , ,


0

1

Здравствуйте. Если написал не в тот раздел просьба сильно не пинать. Не нашел более подходящего.

Суть проблемы. Есть файл с данными в которые подмешана лишняя информация. Нужно эту информацию оттуда удалить.

Теперь более подробно.

Файл является частью дампа с прошивки нанд памяти. Информация в нем не текстовая и строками не разделена. Нужно каждые 2048 байт удалять 64 байта информации со смещением остальных данных. Тобиш в сохраняемый файл должны записываться 2048 байт, далее из читаемого файла 64 байта пропускаем и начиная с 2113 байта следующие 2048 байт дописываем впритык к записанным, и.т.д...

WinHex к сожалению так не умеет. Возможно есть какие-нибудь приложения сортировщики способные выполнить такую задачу. Возможно есть скрипты вроде awk или sed способные сделать сортировку. Есть установленная IDA Pro 7 возможно через нее можно это сделать!?

Я немного понимаю в javascript и догадываюсь как это можно реализовать но знаний по обработке файлов не имею.

Спасибо.

#!/usr/bin/python

source = open('source_filename.bin', 'rb')
dest = open('dest_filename.bin', 'wb')

while True:
    data_in = source.read(2048+64)
    if not data_in: break
    data_out = data_in[:2048]
    dest.write(data_out)

anonymous ()

не сортировка, а фильтрация скорее

Нужно каждые 2048 байт удалять 64 байта

dd bs=2k count=1; dd bs=64 count=1 of=/dev/null <повторить>

есть скрипты вроде awk или sed

xxd -p -c64 | awk 'NR % 33' | xxd -p -r (не проверял)

еще есть ired - можно его заскриптовать, только наверное придется выводить, а значит в формате для (например) xxd -r

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.