Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start at #147 #145

Closed
LSSoniX opened this issue Sep 26, 2018 · 23 comments
Closed

Start at #147 #145

LSSoniX opened this issue Sep 26, 2018 · 23 comments

Comments

@LSSoniX
Copy link

LSSoniX commented Sep 26, 2018

Start at #147

@vit9696
Copy link
Contributor

vit9696 commented Sep 30, 2018

В принципе код для паттернов уже есть, можно было бы добавить. Но есть одно но, сейчас я пытюсь, к сожалению, это наиближайшее к реальности слово, найти время заняться UEFITool NE, чтобы в ней работал билдер, и соответственно все утилиты.

Со старой кодовой базой работать уже не хочется. Недавно нам прислали патч извне, и сейчас в исходниках NE билдер есть, а утилиты я даже частично переписал. Однако при детальном рассмотрении стало понятно, что по существу билдер целиком и полностью сломан, и его только писать с нуля.

Я постараюсь что-нибудь придумать по этой и другой проблеме, но пока всё застопорилось, так как времени катастрофически не хватает.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 12, 2018

@vit9696
Проверил текущиую сборку, всё хорошо. Спсибо. :)

Теперь по пустой папке при ошибке в аргументах
Бивис для проверки https://cloud.mail.ru/public/64Lc/8vuiN6yVU
За пример возьмем извлечение ЕФИ ИРСТ., секция PE (-t 10)
И так
Извлекаем FFS как есть
uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_f -m file
Папка с FFS и код 0

Делаем ошибку в GUID
uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3A -o IRST_f -m file
Папки нет, код 1

Извлекаем все тела
uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_b -m body
Есть папка сбинарниками и код 0
Ошиька в GUID
uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3A -o IRST_b -m body
Ничего нет и код 1

В этих строках всё хорошо. Тепреь уже используеи аошуиент <-t>
Правильная строка
uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_b_t10 -m body -t 18
Пакпка, файлик и код 0.

Теперь путаем GUID
uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3A -o IRST_b_t10 -m body -t 18
Ничего нет и код 1.
Путаемся в указании Секции. То что нам надо это -t 10, но ошибёмся
uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_b_t18 -m body -t 18
Секции 18 в FFS нет, но папка рисуется пустая и код 0.
И подобный фокус везде где указан не правильный тип секции.

PS Хочу попросить, глянуть, может удастся хотя бы в качестве скрытой тестовой опции добавить возможность извлекать FFS (-m file), если есть Секция Compessed, извлекать как есть, но в сжатом виде, пока курится #150

Спасибо.

@vit9696
Copy link
Contributor

vit9696 commented Nov 12, 2018

Не воспроизводится. На твои примеры результаты у меня местами отличаются, в том числе на последний тест:

  • uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_f -m file — код 0, папка с ffs
  • uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3A -o IRST_f -m file — код 8, папки нет (другой код)
  • uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_b -m body — код 0, папка с body
  • uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3A -o IRST_b -m body — код 8, папки нет (другой код)
  • uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_b_t10 -m body -t 10 — код 0, папка с body (выше опечатка, но я исправил)
  • uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3A -o IRST_b_t10 -m body -t 18 — код 8, папки нет (другой код)
  • uefiextract bios.bin 91B4D9C1-141C-4824-8D02-3C298E36EB3F -o IRST_b_t18 -m body -t 18 — код 8, папки нет (другой код)

Код 8 — U_ITEM_NOT_FOUND, код 1 — U_INVALID_PARAMETER.

Также взял винду в виртуалке и попробовал твой последний пример, папка не создалась, но код 1, да. Видимо что-то кривое в винде:

PS C:\Desktop> .\UEFIExtract.exe .\bios.bin -o IRST_b_t18 -m body -t 18
parsePadFileBody: non-UEFI data found in pad-file
parsePadFileBody: non-UEFI data found in pad-file
findFitRecursive: real FIT table found at physical address FF2C0100h
---------------------------------------------------------------------------
     Address      |   Size    |  Ver  | CS  |          Type / Info
---------------------------------------------------------------------------
_FIT_             | 00000070h | 0100h | 00h | FIT Header |
00000000FFB80090h | 00007000h | 0100h | 00h | Microcode | LocalOffset: 00000000h, CPUID: 00050654h, Revision: 02000043h, Date: 26.01.2018
00000000FFB87090h | 00007400h | 0100h | 00h | Microcode | LocalOffset: 00000000h, CPUID: 00050652h, Revision: 80000037h, Date: 02.05.2017
00000000FFB8E490h | 00007800h | 0100h | 00h | Microcode | LocalOffset: 00000000h, CPUID: 00050651h, Revision: 8000002Bh, Date: 08.02.2016
00000000FFB95C90h | 00007800h | 0100h | 00h | Microcode | LocalOffset: 00000000h, CPUID: 00050650h, Revision: 8000002Bh, Date: 08.02.2016
00000000FFB9D490h | 00018000h | 0100h | 00h | Microcode | LocalOffset: 00000000h, CPUID: 000906E9h, Revision: 00000084h, Date: 21.01.2018
00000000FFBB5490h | 00017800h | 0100h | 00h | Microcode | LocalOffset: 00000000h, CPUID: 000506E8h, Revision: 00000034h, Date: 10.07.2016
PS C:\Desktop> echo $LASTEXITCODE
1

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

@vit9696 vit9696 closed this as completed Nov 12, 2018
@LSSoniX
Copy link
Author

LSSoniX commented Nov 12, 2018

Странно.. С кодом ладно, но у меня, хоть тресни, пуста папка всё равно папка создается. Хоть в PS, хть в cmd пускай. Даже в виртуалке ХР//

@vit9696
Copy link
Contributor

vit9696 commented Nov 12, 2018

Сейчас есть проблема с длиной пути на Windows вроде как, может, слишком длинный путь?

@LSSoniX
Copy link
Author

LSSoniX commented Nov 12, 2018

Да я уже до "C:\1\uefiextract bin бда-бла,". сократил и уже на буке проверил, таже картина.
ОСьки вин7 и ХП. Возможно, что на 8-10 такого и нет, но мне не проверить.

@vit9696
Copy link
Contributor

vit9696 commented Nov 12, 2018

Хм, я проверял действительно на 10. У меня должны быть виртуалки с этими операционками, я домой приеду вечером и посмотрю.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 12, 2018

Я вот что заметил, буквально только-только выдаются сообщения и окно начинает закрываться и буквально тут же создается папка. То есть получается на закрытии приложения.

@vit9696
Copy link
Contributor

vit9696 commented Nov 12, 2018

Воспроизвёл в конце концов. Отправил фикс. Винда не умеет удалять текущую папку, в отличие от макоси.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 12, 2018

?? 10-ка же улаляла..
Забрал А53. Спасибо. :)

PS Если не трудно, то компильни пожалуйста HexFind и FindVer, они в UBU-Helper находятся.. Я только под винду собрать могу. Спасибо.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 12, 2018

@vit9696
Запутали всё. Этот топмк был с предложениями, а проблемы решали в #147
Надо отсюда поудалять лишниие посты и переоткрыть заново на будущее..

@vit9696
Copy link
Contributor

vit9696 commented Nov 12, 2018

На десятке есть подозрение, что не создавалось. Потому что на маке у меня тоже не создаётся и даже не заходит в этот код. Какая-то ерунда в логике, но сейчас не очень хочу изучать.

Поудалять — проблематично. Лучше новый баг открыть, и туда записать то, что осталось.

Утилиты собрал: ubu-utils.zip. Кстати, у тебя hexfind.c неправильно назван, findhex.c вместо hexfind.c в репозитории.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 12, 2018

Да и бог с ним, главное, что работает как надо.

Хорошо, предложения тогда заново пересоздам попозже в новом топике, там не только мой интерес.

За утильки спасибо. А название изначально не я придумал. ;)

@LSSoniX LSSoniX changed the title UEFIExtract и UEFIReplace предложение новой функции Start at #147 Nov 13, 2018
@LSSoniX
Copy link
Author

LSSoniX commented Nov 13, 2018

Удали #145 (comment)

@LSSoniX
Copy link
Author

LSSoniX commented Nov 14, 2018

@vit9696
Приветствую!
Слушай, я косяк нашел. Сразу не посмотрел, а сейчас на питон начал переводить и обнаружил следующее.
У асусов и асроков есть Capsule Header по 2 и 4 кило.
Раньше при разделении
UEFIExtract bios.bin 4A3CA68B-7723-48FB-803D-578CC1FEC44D
Бивис https://cloud.mail.ru/public/64Lc/8vuiN6yVU
получали 3 файла header, body и info. Теперь body нема, только header и info

@vit9696
Copy link
Contributor

vit9696 commented Nov 14, 2018

Записал, постараюсь глянуть на днях.

@vit9696
Copy link
Contributor

vit9696 commented Nov 14, 2018

Должно быть исправлено.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 15, 2018

Появился. Спасибо. :)

@LSSoniX
Copy link
Author

LSSoniX commented Nov 17, 2018

@vit9696
Приветствую.
Извини, совсем запутался в этих сборках.
Перепроверил еще оаз.В общем текущая - рабочая, а предыдущая нет.
Оставляем как есть. Извни еще раз. :)

@vit9696
Copy link
Contributor

vit9696 commented Nov 17, 2018

Всё хорошо, едем.
Обрати внимание, я теперь https://github.com/LongSoft/UEFITool/releases/tag/A53 выложил официально.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 17, 2018

Хорошо, спасибо. Сегодня-завтра в пакете выложу, пока жду обноления МСЕ, да в питоне копаюсь.

@LSSoniX
Copy link
Author

LSSoniX commented Nov 18, 2018

@vit9696
Доброго здравия.
Маленькая мелочь, не существенная, но приятная при тестировании
Добавить к отображению версии у всех утилит build, к примеру
URFIExtract/Find/Tool Axx build xxxxxxxx.x
xx - основной релиз
хххххххх,х в виде даты 2018117 и после точки цифру очередной тестовой сборки.
или что то в этом роде. Проще ориентироваться при тестах будет.

И еще вопрос с оверов, по послдним релизам

при первом запуске лезет проверять доступные smb шары
Это нормально?

@vit9696
Copy link
Contributor

vit9696 commented Nov 18, 2018

Привет,
По поводу версии билда, сделай отдельно issue. Однако мне казалось, что при запуске без параметров версию должно печатать.

Про SMB шары ерунда какая-то. Никто туда сознательно не лез, так что либо случайное совпадение, либо винда сошла с ума. Чисто теоретически могу предположить, что какая-нибудь винапи функция, которую мы раньше не юзали, зачем-то подгружает эту информацию.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants