FRF list

osoTEC: конвертер FRF в ODX

Друзья, этой публикацией открывается целая серия заметок, посвященных обновлениям нашего сервера, а начнем мы с обзора такой операции, как преобразование файлов FRF в ODX, которая часто становится первичной операцией при работе с файлами прошивок.

Задача преобразования FRF в ODX несложная и в сети давно представлены различные варианты ее решения, как с использованием оригинального ПО, так и с помощью сторонних утилит, например, VAS FRF FILE DECODER.

FRF файл представляет собой шифрованный ZIP архив, поэтому, для того чтобы извлечь из него данные, достаточно провести его расшифровку, после чего станет возможной его распаковка практически в любом архиваторе.

К сожалению, ни один из известных нам вариантов не был применим для использования в серверном сценарии, поэтому логичным выходом стала собственная реализация конвертера FRF в ODX/ODX-F. Так в нашем арсенале появилась библиотека с названием FRF.dll, которую можно было использовать как в классических приложениях под .Net, так и серверных.

Исходный код библиотеки FRF написан на C# под платформу Microsoft Framework .NET 4.7.2. Основная особенность библиотеки заключается в том, что для буферизации используется исключительно оперативная память. Такой подход дает существенный прирост в производительности при распаковке FRF файлов, что позволяет уменьшить время обработки задачи на сервере. Единственный минус такого подхода, заключающийся в более жестких требования к ОЗУ, в современных реалиях, на наш взгляд, не является существенным.

Чтобы понять разницу, давайте сравним скорости обработки FRF файлов. Сравнение проведем с помощью VAS FRF FILE DECODER и FlashTool (наша технологическая программа, использующая FRF.dll для преобразования FRF в ODX/ODX-F).

В качестве входных FRF файлов (несущих ODX и ODX-F соответственно) будут использоваться следующие файлы из общего доступа:

  • FL_5NA920791___1460_S.frf размером 281МБ;
  • FL_4KE907107AC_0291_SYS1111_V001_S.frf размером 217МБ.

Итак, смотрим что у нас получилось…

Распаковка файла FL_5NA920791___1460_S.frf в программе VAS FRF FILE DECODER. Процесс занял порядка 55 секунд.

Тот же файл FL_5NA920791___1460_S.frf, но, используя FRF.dll в программе FlashTool. На распаковку потребовалось порядка 20 секунд.

Аналогичная ситуация происходит и файлами типа ODX-F.

Распаковка файла FL_4KE907107AC_0291_SYS1111_V001_S.frf в программе VAS FRF FILE DECODER. Процесс занял порядка 45 секунд.

А чтобы получить из файла FL_4KE907107AC_0291_SYS1111_V001_S.frf ODX-F программе FlashTool потребовалось порядка 10 секунд.

Думаю, дополнительные комментарии не требуются. Библиотека работает достаточно шустро и это заметно.

В общем, если у Вас есть необходимость в преобразовании FRF файлов в ODX/ODX-F, то  Вы можете воспользоваться нашим бесплатным онлайн конвертером FRF. В конвертере есть ограничение: размер FRF файла, загружаемого на сервер, не может превышать 100 МБ. Однако, замечу, что это ограничение установлено не со стороны библиотеки, а со стороны сервера и касается любых файлов, загружаемых на сервер, т.к. обработка бОльших по объему файлов на сервере в настоящее время нам кажется нецелесообразной задачей, лишенной практического смысла.

Также, Вы можете загрузить FRF.dll и использовать библиотеку самостоятельно в собственных приложениях, написанных под .NET, но помните, что в этой версии библиотеки мы ввели ограничение на размер FRF файла, который не может превышать ~10 МБ. Если Вам нужно больше, то воспользуйтесь формой обратной связи =)

Пожелания, замечания и вопросы, касательно обработки FRF файлов, как с помощью онлайн конвертера, так и библиотеки FRF.dll, Вы можете оставить в соответствующей ветке на нашем форуме. Там же доступно небольшое описание как использовать библиотеку…

На этом пока все.

Оставайтесь с нами.