Ремонт: Ноутбуков, Компьютеров
https://vlab.su/

Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов
https://vlab.su/viewtopic.php?f=294&t=136639
Страница 1 из 2

Doc [ 23 авг 2023, 20:09 ]
Заголовок сообщения:  Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

ПОСЛЕДНЯЯ ВЕРСИЯ 0.4.5

Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов: дампы или распакованные файлы обновлений

Надо понимать, что где-то эти прошивки внутри есть, а где-то их нет - и ничего там не найдется.

upd ECFinder 0.4.5
добавлены еще несколько вариаций
снижения ложных срабатываний антивирусов


upd ECFinder 0.4.4
Добавлен размер 512kb
Фиксы "ложных срабатываний"

upd ECFinder 0.4.3
Добавлен детект ряда huawei xiaomi ITE EC
Исправлена ситуация с двойным преобразованием asus cap to bin
Исправлены некоторые ложные срабатывания

Исследовались и добавлялись алгоритмы поиска для:
- ENE, ITE, Nuvoton, MEC (некоторые)
- клавиатурных контроллеров (KBC) типа it8171 / it8176 56kb., it829x 120kb
- как вариант имеется полностью консольный режим работы
- автоматически преобразует обновление "предыдущего поколения" с оф сайта Asus либо в полноценную прошивку bios, либо его часть - то есть заменяет утилиту cap to bin; если попадется AMI PFAT, напишет, что не может. Если нужна/есть только прошивка bios, размер мульта указываем любой из предлагаемых
- автоматически вырежет полноценную прошивку bios, либо его часть (не забываем, что далеко не всегда лежит полная прошивка) из распакованных файлов обновлений insyde h2o, которые любят acer, lenovo, xiaomi, huawei и пр (то есть надо добраться до *.fd, isflash.bin и тп)
- автоматическое преобразование SPD DDR3 в SPD DDR3L: алгоритм срабатывает при открытие файла размером строго 256 байт (размер eeprom SPD 24c02/34c02), дальше идет проверка, что это SPD DDR3 и если да - изменяется в DDR3L (с правкой CRC), файл сохраняется в папку исходного файла; если нет - выход.
В консольном режиме файл открывать без параметров: ECFinder.exe filepath-путь-к-файлу

Системные требования: Win7x64 и новее

Использование: при простом запуске утилиты будет предложено указать файл путем его перетаскивания в окошко (drag and drop) или, нажав Enter, откроется файловый менеджер. В конце будет предложение перейти на сайт - проверить обновление, ну и заодно задонатить автору и что-то купить )
Консольный режим работы:
Usage: ECFinder.exe -x filepath-путь-к-файлу
x = 128, 160, 192, 256, 384, 512 or 1004 (не забываем про дефис перед цифрой)
Example/Пример: ECFinder.exe -128 d:\file.bin
после выполнения программа автоматически закроется

При запуске программы идет фоновая проверка на наличие новой версии (без интернета этот этап будет пропущен) и если таковая будет, программа встанет с предупреждением "a new version available" с обязательным переходом на сайт, после чего она продолжит свою работу

Любимый вопрос многих мастеров: зачем {программа}, когда можно {нарезать} самому? - Можно, но количество алгоритмов и шаблонов поиска возрастает и часть простых маркеров (типа "ene haru") пропадает, увеличивается и время поиска и вероятность ошибки, когда в ряде прошивок можно найти несколько кусков очень похожих на требуемое, но верным будет только один; ну и вообще автоматизация труда ведет к росту прибыли и сокращению издержек.
Учитывая вышесказанное естественно могут быть какие-то баги и что-то упущено - будет добавляться и исправляться.

-------------------
соответственно, где прошивка мульта в дампе есть, а софт не ищет - значит смело подробно пишем (ну если не лень) )

кто не может скачать тут, можно у меня на сайте тут

Mardekai [ 23 авг 2023, 20:28 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Потестил на асусовских прошивках. Сначала как дурак пытался писать размер мульта в килобайтах и нифига не работало, а оказалось что надо писать номер строки с размером :hi_hi_hi:
По-моему, этот момент надо как-то поправить, чтобы было более очевидно. А так прога безусловно полезная, спасибо.

Doc [ 23 авг 2023, 21:05 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Mardekai
Есть определенный парадокс, чем подробнее пишешь пояснения, тем сложнее и "вариативнее" становится восприятие отдельно взятым человеком. Я как-то привык немного к английскому и вообще к "консолям" и поэтому надпись Choose казалось бы явным образом говорит "выбрать вариант"... из имеющихся - так ведь и быстрее, а не задать его )
Но мы тут не англичане, допишу туда что-нибудь еще. Так-то можно будет вариант и с ручным вводом размера сделать - не знаю сейчас зачем правда. Пока в текстовое описание добавил

Ciber SLasH [ 24 авг 2023, 00:32 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Doc
Раз пошла такая пьянка, то не мешало бы искать прошивку мульта не только в дампе, но и в EXE-шниках обновлялках с офф. сайта. В каких-то обновлениях размер прошивки указан явно после строки "$_IFLASH_EC_IMG_".
Например: Acer A315-21G - Quanta ZAS. Bios ver. 1.23
Вложение:
BIOS_Acer_1.23_A_A.zip


ЗЫ: и Enter сделать не обязательным после Y/N, а также возможность запуска программы с передачей полного пути к файлу из консоли. В будущих версиях вообще предлагаю не только EXE, но и архивы программно распаковывать для поиска.

Doc [ 24 авг 2023, 00:54 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

поиск по ec_img в файлах обновлялках там есть среди шаблонов) а вот ограничение на размер да - надо доработать спс, забыл, что бывает криво и проверялось на ene..

Что такое exe и архивы - там тыщи вариантов их распаковки, часть из которых распаковывается только специальным софтом и прочими извращениями как ты знаешь. Или ты имеешь ввиду только простейшие как в примере выше? Потом тогда захочется сразу и биос вырезать заодно в подобных - хотя такая утиль давно-давно есть)

>и Enter сделать не обязательным после Y/N

в смысли не подтверждать Энтером выбранный вариант? так-то можно уже вообще на этом этапе закрыть нафиг и все))
---------- Добавлено спустя 18 минут 41 секунду: ----------
Ciber SLasH писал(а):
а также возможность запуска программы с передачей полного пути к файлу из консоли

например с точки зрения юзабилити как это может выглядеть? "батничек" запуска с прописанным режимом работы - проводник уберется, но будет строка ввода пути (куда перенесом файла путь подставится по аналогии с известными утилями)?
Я вообще сначала делал GUI, но потом понял, что в основном не алгоритмы пишу, а кнопочки и дизайн и все это ради одной простой автоматической функции - поэтому от gui остался только проводник выбора исследуемого файла, думалось большинству так будет удобнее

Ciber SLasH [ 24 авг 2023, 11:30 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Конечно, чем универсальней программа, тем больше багов... Возможно и не стоит замарачиваться с поиском прошивки мультов в обновлениях. Так то да, программы распаковки уже кое-какие есть.

У меня все утилиты встроены либо в кнопки на панели, либо в меню Start в Total Commander.
А в нём встал курсором на нужный файл, нажал кнопочку, полный путь передался приложению завязанному на кнопочку, действие совершилось, результат тут же появился. Если консольная утилита позволяет делать дела без диалогов, то действие почти не заметно происходит (там, моргнуло окно консоли и закрылось).

Doc [ 27 авг 2023, 16:31 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

-Пофиксил определение размера в алгоритме ec_img (в примере выше апдейта quanta ZAS, при этом и в самом биосе тоже есть эта же прошивка целиком на 128кб - данные идентичны само собой).
-добавлен поиск KBC типа it8171 / it8176 56kb - встречаются в прошивках/апдейтах редко, но если будет - сохранится автоматически на 56кб без всяких дополнительных действий
для примера viewtopic.php?p=957372#p957372
-в конце enter жать не надо - просто "y" (английская буква) )

Консоль сделаю, но без диалогов все равно не получится - кто-то должен указывать размер прошивки

Ciber SLasH [ 27 авг 2023, 16:36 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Doc писал(а):
кто-то должен указывать размер прошивки

Просто ключём в ком. строке. Типа: /size=128

Doc [ 17 сен 2023, 23:20 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

UPDATE version 0.2.1

-добавлен полностью консольный режим работы:

Usage: ECFinder.exe -x filepath-путь-к-файлу
x = 128, 160, 192, 256 or 384 (не забываем про дефис перед цифрой)
Example/Пример: ECFinder.exe -128 d:\file.bin
после выполнения программа автоматически закроется

-при простом запуске утилиты будет предложено указать файл путем его перетаскивания в окошко (drag and drop) или, нажав Enter, откроется файловый менеджер

-мелкие правки

Doc [ 29 сен 2023, 23:20 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

UPDATE version 0.3.1

- автоматически преобразует обновление "предыдущего поколения" с оф сайта Asus либо в полноценную прошивку bios, либо его часть - то есть заменяет утилиту cap to bin (я вспомнил только обрезку 800h, если есть другие варианты - добавлю); если попадется AMI PFAT, напишет, что не может)
Если нужна/есть только прошивка bios, размер мульта указываем любой из предлагаемых

- автоматически вырежет полноценную прошивку bios, либо его часть (не забываем, что далеко не всегда лежит полная прошивка) из распакованных файлов обновлений insyde h20, которые любят acer, lenovo, xiaomi, huawei и пр (то есть надо добраться до *.fd, isflash.bin и тп)

- с учетом современных бананотехнологий, искусственных интеллектов и многопоточности (тут серьезно) ускорен на порядок "движок", например у меня на тестах:

автонарезка основного биоса 32мб и прошивки мульта из обновы xiaomi
Found main BIOS part
Main BIOS part saved to file.
Search complete. ITE saved to file.
0.38196492195129395 (меньше секунды то есть)

guar33 [ 30 сен 2023, 07:55 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Doc писал(а):
то есть заменяет утилиту cap to bin

решил попробовать, взял asus h110m-k биос с оф.сайта закинул в прогу, не сработало, заругалось на AMI PFAT, понимаю что вы писали про AMI PFAT, но там только шапку подрезать, в cap to bin то сработало, а за прогу большое спасибо, очень экономит время

Doc [ 30 сен 2023, 12:49 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Спасибо guar33
Тут баг у меня да оказался - хотел (пока?) просто отделить ami pfat, которые надо отдельно декодировать, а вашем примере этого и не нужно. То есть мне нужно не просто, чтобы сработало или нет, а чтобы обрабатывались "исключения" (cap to bin их не обрабатывает) хотя бы простым сообщением
На моих тестовых файлах от балды взятых - таких случаев не было) Поправлю
---------- Добавлено спустя 2 часа 35 минут 33 секунды: ----------
исправил вроде)

igils [ 30 сен 2023, 17:21 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Doc писал(а):
я вспомнил только обрезку 800h, если есть другие варианты - добавлю

Попадались 4Кб заголовки.

Doc [ 30 сен 2023, 17:43 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

если вспомнишь конкретный пример - будет вообще хорошо, мне посмотреть же надо, чтобы как-то это автоматизировать)

igils [ 30 сен 2023, 17:59 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Быстрый поиск выдает тему про Asrock H87M Pro4.

Doc [ 01 окт 2023, 01:31 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

добавил asus 1000h

guar33 [ 11 окт 2023, 17:57 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

есть биос, ваша прога говорит что нет та прошивки ec
viewtopic.php?f=294&t=137626
можете посмотреть че не так, спасибо

Doc [ 11 окт 2023, 18:11 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

уже посмотрел сразу же )
добавлю
это нормальный процесс, периодически надо будет что-то добавлять
---------- Добавлено спустя 4 часа 39 минут 27 секунд: ----------
Добавил пример выше
надо будет видимо и "сигнализатор"/апдейтер новой версии прикрутить

Doc [ 14 окт 2023, 17:19 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

еще маленький фикс - отработка исключений EC not found оказывается поломалась с прошлого апдейта, забыл в коде скобки поставить))

А может мне даже дадут тут права какие-нибудь, чтобы я потом все лишнее потер....

igils [ 14 окт 2023, 21:30 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Doc писал(а):
А может мне даже дадут тут права какие-нибудь

Сделал куратором темы с полными правами.

guar33 [ 14 окт 2023, 22:41 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска и сохранения прошивок мультиконтроллеров внутри любых бинарных файлов

Честно, поччет и уважухаха, затикие проги, спасибо

Doc [ 15 окт 2023, 19:39 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

Свежая версия в первом сообщении темы - 0.3.6

неравнодушные люди подсказали)

- добавил детект kb9548 в ряде прошивок MSI (причем отдельно на сайте уже может и не быть) - по крайней мере, что показали
- переделал детект nuvoton, насколько корректно - коллективный опыт покажет

Serguz05 [ 25 окт 2023, 02:38 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

да тут спасибо за програмку.
Doc писал(а):
x = 128, 160, 192, 256 or 384 (не забываем про дефис перед цифрой)

а тут вопрос. есть плата NM-DD451 от леново T14 GEN2 а там мульт IT5679VG-1M - (1004 kb)
может можно добавить 1004 kb ?

Doc [ 25 окт 2023, 09:43 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

Да не вопрос, добавлю попозже, что надо

Doc [ 25 окт 2023, 19:15 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

Добавил
-вариант размера 1004кб для IT5679VG
-проверку наличия новой версии и сообщения об этом; обновление путем перехода на мой сайт и скачивание уже оттуда; я конечно мог бы сделать скачивание сразу, но пока так не надо)

свежая версия в первом сообщении темы

Doc [ 06 ноя 2023, 21:44 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

Не особо актуально, но почему-бы и нет

upd ECFinder 0.4.1
- добавлено автоматическое преобразование SPD DDR3 в SPD DDR3L: алгоритм срабатывает при открытие файла размером строго 256 байт (размер eeprom SPD 24c02/34c02), дальше идет проверка, что это SPD DDR3 и если да - изменяется в DDR3L (с правкой CRC), файл сохраняется в папку исходного файла; если нет - выход.
В консольном режиме файл открывать без параметров: ECFinder.exe filepath-путь-к-файлу

PS по идее, у кого версия 0.4.0 должно оповещение быть в утиле)

Ciber SLasH [ 17 ноя 2023, 16:48 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

Поставил последний ECFinder 0.4.1, хотя пишет, что 0.4.0.
Doc писал(а):
Консольный режим работы:
Usage: ECFinder.exe -x filepath-путь-к-файлу
x = 128, 160, 192, 256, 384 or 1004 (не забываем про дефис перед цифрой)
Example/Пример: ECFinder.exe -128 d:\file.bin
после выполнения программа автоматически закроется

Программа, запущенная из консоли: ECFinder.exe -128 "E:\tmp\bios.bin"
всё равно просит ввести y или enter. Можно это убрать, чтобы консольный запуск ничего не требовал нажимать?

Doc [ 17 ноя 2023, 21:28 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

не поставил, раз пишет 0.4.0 и говорит, прямо кричит Красным, что есть новая версия "A NEW VERSION AVAILABLE" )
Проверка именно по цифрам происходит: если < последней, значит включится блок перехода "check updates"

И именно поэтому она не дает дальше "нормально" работать - принуждая к обновлению, отправляя на мой сайт за новой версией. Логика прежней работы не менялась - только проверка и реакция на новую версию
Может темпы надо почистить

Ciber SLasH [ 17 ноя 2023, 21:54 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

Обновил. Видимо где-то затупил...

Doc [ 02 дек 2023, 18:52 ]
Заголовок сообщения:  Re: Программа ECFinder для поиска прошивок мультиконтроллеров и ряда биосов внутри любых бинарных файлов

Версия 0.4.2

- добавлена поддержка клавиатурных прошивок IT829x 120kb (размер мульта выбирать любой от балды - не влияет)
- мелкие правки

Страница 1 из 2 Часовой пояс: UTC + 4 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/