![]() |
Пакетная замена HEX значений в файлах. Прошу помощи!
Добрый вечер, нужна Ваша помощь...
Прошу извинить за непрофессионализм, может, неправильные термины, далек от программирования, к сожалению. Старался максимально рассказать, чтобы мне хотелось. Занимаюсь экспериментами со звуковыми файлами, музыкой. Провожу свои исследования, суть которых, в нескольких словах - меняю в бинарном (если правильно) музыкальном файле несколько строк с какими-то значениями. Меняю эти значения на другие, прослушиваю результат, делаю выводы для себя, и дальше так же. Уже 2 месяца, как без работы остался - эксперементирую - есть даже план экспериментов...:). Есть, например 100 разных файлов в папке №1, которые я нагенерил в какой-либо программе. Обычный порядок моей работы - открываю первый файл в HEX редакторе, нахожу первую нужную строку, меняю ее (подменяю данные в 16ричном коде), нахожу следующую строку, меняю, и т.д. Для одного файла таких замен может быть много, но, допустим, ограничюсь 12ю заменами, для простоты. Строки, которые ищу, обычно все разные, но известные мне. То есть, я знаю их значения. Кстати, в редакторе ищу-меняю не по смещению, если я правильно понимаю, то есть не по адресу, а именно по значению. То есть, ищу строку 9D F5 07 A6 52 D9 C7 F2 00 34 67 A4, меняю ее на такого же размера, но с другими значениями 6A F3 C7 A6 52 D9 C9 F2 00 34 B7 C8. Ищу в этом же файле следующую строку, с другими значениями, меняю ее, и тд. Сохраняю файл под другим именем в другой папке №2. Открываю следующий файл и опять та же процедура. Большинство из 12 строк, которые я ищу в файле, мне известны. То есть, их можно забить в настройки программы, или в текстовой файл ,CSV, XML и т.д.. откуда программа и будет их брать. Не всегда нужно менять все 12 строк, по разному, иногда, достаточно и 4 поменять. Но есть строки, которые я ищу по 4-8 первым значениям, а менять нужно значения последующие. Например, я ищу 5D F9 67 AC 82 , а меняю только 2-4 значения после этих чисел, 5D F9 67 AC 82 55 А3 Часть строк ищу в текстовом виде, то есть ищу не в HEX, а текстом, типа "String567", меняю текстом с такой же длиной, например, на "Value3721"... Для подстановки в строку №1 берем значения из CSV№1, для строки №2 из CSV№2 и т.д. Но ведь в файле CSV много значений, разделенных какими либо разделителями. Хотелось бы такой алгоритм: Кнопка "Старт" - - программа берет из папки №1 файл, меняет в нем все 12 строк на то, что есть в 12 файлах CSV (каждый CSV для каждой строки) - - сохраняет измененный файл в другую папку №2 - - берет из папки №1 следующий файл - - меняет в нем все 12 строк на то, что есть в 12 файлах CSV, но берет уже значения из других строк, можно рандомно - до тех пор, пока не изменит все 100 файлов из папки №1. Пусть это будет называться, условно, "циклом". В следующем цикле то же самое - но в строки подставляются другие значения, может задействовать генератор случ. чисел, по номеру строки, например. Еще раз прошу извинить за непрофессионализм, может, неправильные термины, Сейчас меняю в Hex Editor Neo и еще другой программе - UltraEdit Professional Text and HEX Editor. Там есть куча возможностей по созданию макросов, сценариев, но не могу никак разобраться - не мое. Оплату могу сделать, но, к сожалению, чисто символическую, пока не работаю. Может пару тысяч в благодарность. Занимался ЧПУ, есть лазер и фрезер небольшой, без проблем сделаю что нибудь Вам в подарок. Надеюсь на Вашу помощь. Это может быть скрипт для готовой программы, какой нибудь bat или отдельная программа. |
Спасибо заранее!
|
Эксперименты подразумевают что-то неизведанное и непонятное. Форматы медиа-файлов все известны, включая тэги, где хранится текстовое описание. Видимо, нужно заменять значение какого-то тэга, но для этого есть разный готовый софт.
|
это не файлы wav, mp3 midi / Это файлы созданные в музыкальных программах, например Fl, Cubase, Ableton
|
Вчера скачал SFK.
sfk replace 1.DAT /AL467392/DO873520/ /BE638401/BG734084/ -yes Это работает. В файле 1.DAT ищутся строки AL467392 и BE638401 и заменяются на DO873520 и BG734084. Как мне сделать чтобы измененный файл сохранялся с именем 10.DUX и в новой папке DIR2? |
Подсказали на форуме SFK
|
Время: 23:47. |
Время: 23:47.
© OSzone.net 2001-