Любой язык - [решено] Пакетная замена HEX значений в файлах. Прошу помощи!

Ответить
 • Просмотры: 1
Аватара пользователя
dixxia

Любой язык - [решено] Пакетная замена HEX значений в файлах. Прошу помощи!

Сообщение dixxia »

Добрый вечер, нужна Ваша помощь...



Прошу извинить за непрофессионализм, может, неправильные термины, далек от программирования,

к сожалению. Старался максимально рассказать, чтобы мне хотелось.



Занимаюсь экспериментами со звуковыми файлами, музыкой. Провожу свои исследования,

суть которых, в нескольких словах - меняю в бинарном (если правильно) музыкальном файле несколько

строк с какими-то значениями. Меняю эти значения на другие, прослушиваю результат, делаю

выводы для себя, и дальше так же. Уже 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 или



отдельная программа.
Аватара пользователя
dixxia

Re: Любой язык - [решено] Пакетная замена HEX значений в файлах. Прошу помощи!

Сообщение dixxia »

Эксперименты подразумевают что-то неизведанное и непонятное. Форматы медиа-файлов все известны, включая тэги, где хранится текстовое описание. Видимо, нужно заменять значение какого-то тэга, но для этого есть разный готовый софт.
Аватара пользователя
Sham

Re: Любой язык - [решено] Пакетная замена HEX значений в файлах. Прошу помощи!

Сообщение Sham »

это не файлы wav, mp3 midi / Это файлы созданные в музыкальных программах, например Fl, Cubase, Ableton
Аватара пользователя
dixxia

Re: Любой язык - [решено] Пакетная замена HEX значений в файлах. Прошу помощи!

Сообщение dixxia »

Вчера скачал SFK.

sfk replace 1.DAT /AL467392/DO873520/ /BE638401/BG734084/ -yes



Это работает. В файле 1.DAT ищутся строки AL467392 и BE638401 и заменяются на DO873520 и BG734084.



Как мне сделать чтобы измененный файл сохранялся с именем 10.DUX и в новой папке DIR2?
Ответить

Вернуться в «Скриптовые языки администрирования Windows»