vin2809

Редактор прошивок Lenovo

8 posts in this topic

редактор.jpg

 

 

Для работы с устройствами Lenovo используются прошивки определенного формата, представляющие собой один файл с расширением .inb или .qsb. Чтобы облегчить труд разработчиков я и создал редактор прошивок LenovoWinTools.

1. Структура прошивок фирмы Lenovo типа *.inb и *.qsb

 

Требования:

- Windows 7;

- пакет .NET 4.0

Возможности:

- разбирает прошивки типа QSB и INB;

- позволяет сохранять все файлы прошивки;

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

- позволяет собирать части файлов в один (обрабатываются файлы system, cache, preload, persist, userdata);

- позволяет просматривать файлы rawprogram.xml и patch.xml.

Свежая версия:LenovoWinTools_v1.02.7z

Инструкция пользователя:Инструкция пользователя приложения LenovoWinTools_102.pdf

Edited by psihipofigist
добавил баннер
22 people like this

Share this post


Link to post
Share on other sites

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

post-58708-0-06413500-1415173907_thumb.ppost-58708-0-20376300-1415173940_thumb.ppost-58708-0-89617300-1415173961_thumb.p

Редактор имеет многоязыковую поддержку, на сегодня имеется возможность работать с русским и английским интерфейсом. Язык интерфейса определяется автоматически при запуске редактора по установкам Вашей операционной системы. При желании его можно сменить в процессе работы оперативно без перезагрузки. Если Ваша система имеет настройки на язык, не поддерживаемый редактором, то установится язык по умолчанию (английский).

Интерфейс пользователя стандартный для Windows-приложений, поэтому трудностей при пользовании недолжно возникнуть. Но, тем не менее, воткраткая инструкция:

1. Установка редактора.

 Просто распакуйте архив из первого поста в любом месте. Архив содержит непосредственно редактор и библиотеку для русского языка.

2. Запустите редактор и через меню "Файл" откройте файл прошивки. Тип Вашего файла определится автоматически и редактор разложит его содержимое "по полочкам".

3. Налюбовавшись содержимым, сохраните его при помощи команды "Сохранить все как..." меню "Файл".

4. Если прошивка содержала файлы, поделенные на куски (типа system_1,img, system_2.img и т.д.), то сложите их при помощи команды "Сложить файлы..." того же меню "Файл".

5. Для анализа разметки можно просмотреть файлы rawprogram.xml и patch.xml.

Думаю, что для начала информации достаточно.

4 people like this

Share this post


Link to post
Share on other sites

@vin2809, Благодарю за огромный труд и потраченное время! Утилита просто нет слов...
Провел с ней уже несколько экспериментов - имею заводскую прошивку для Vibe Z2 в двух форматах - qpst (для прошивки с ПК с помощью утилиты Qpst 4.7) и qsb (для прошивки с внутренней памяти телефона); Итак, решил распаковать qsb- прошивку при помощи LenovoWinTools_1.02., а затем сравнить получившиеся после распаковки файлы с файлами прошивки qpst.

Результат таков - сравниваемые файлы одинаковы!!!

Несколько сриншотов в подтверждение:

post-53625-0-13014500-1415197596_thumb.ppost-53625-0-84081800-1415197596_thumb.p

[spoiler=Разобранный контейнер(прошивка) QSB программой LenovoWinTools]post-53625-0-00729900-1415198129_thumb.ppost-53625-0-51624700-1415198129_thumb.p

[spoiler=Файлы прошивки в формате QPST]post-53625-0-03395100-1415198130_thumb.ppost-53625-0-51658100-1415198130_thumb.p

[spoiler=Результаты сравнения файлов прошивки программой BeyondCompare]post-53625-0-10789400-1415199080_thumb.ppost-53625-0-56700100-1415199080_thumb.p

 

PS. Как правило в контейнере(прошивке) qsb отсутствуют образы userdata_Х.img, где Х - натуральное число (1, 2, 3, итд.)

Edited by SevenMaxs
3 people like this

Share this post


Link to post
Share on other sites

Для любознательных и разработчиков привожу структуру прошивок фирмы Lenovo.

 

Структура прошивок фирмы Lenovo типа *.inb и *.qsb

 

Спойлер

1.Введение.

Файлы-образы типа *.inb и *.qsb используются для прошивки (полной или обновления) мобильных устройств фирмы Lenovo на основе чипов Intel и Qualcomm.

Образ прошивки состоит из следующих частей (разделов):

  • - заголовок образа;
  • - таблица разделов образа;
  • - данные образа (разделы);
  • - ЭЦП.

Образы прошивок разных производителей чипов (Intel и Qualcomm) имеют одинаковую структуру, а различаются только составом заголовка.

 

Спойлер

2.Заголовок файла-образа.

Заголовок расположен вначале образа прошивки и имеет длину 256 (0х0100) байт.

 

2.1.Заголовок для чипов Intel.

Заголовок содержит следующие поля:


----------------------------------------------------------------------
Имя поля    Смещение    Длина    Значение
                   байт             байт
----------------------------------------------------------------------
Magic          0х0000          8           сигнатура файла
СS              0х0008          4           контрольная сумма образа
Size            0х000С          4           размер образа прошивки
Autor         0х0010         32          автор прошивки
Name         0х0030         32          название прошивки
Date           0х0050          4          дата создания образа прошивки
Number      0х0054          4          число файлов в образе прошивки
----------------------------------------------------------------------

Поле "Magic" содержит сигнатуру файла прошивки для чипов фирмы Intel - LmInBfMt.

Поле "СS" содержит значение контрольной суммы, расчет которой производится простым суммированием заголовка, начная с 12 байта, и таблицы разделов по модулю u32.

Поля "Autor" и "Name" содержат текст длиной до 32 байт, дополненный нулями (0х0000).

Поле "Date" содержит дату создания файла прошивки в формате , т.е. содержит число секунд, прошедших от даты 01.01.1970.

 

2.2.Заголовок для чипов Qualcomm.

Заголовок содержит следующие поля:


----------------------------------------------------------------------
Имя поля    Смещение     Длина    Значение
                   байт             байт
----------------------------------------------------------------------
Magic		0х0000             8           сигнатура файла
СS		     0х0008             4           контрольная сумма образа
Size		 0х000С             4           размер образа прошивки
Autor		0х0010            32          автор прошивки
Name	   0х0030           32          название прошивки
Date		 0х0050		       4          дата создания образа прошивки
Number	  0х0054	        4          число файлов в образе прошивки
Unknow1	 0х0058		       4           rez1
Offset	     0х005С		      4           адрес начала раздела данных
Flag		 0х0060		       4           флаг прошивки
Unknow2	 0х0064		   156           rez2
----------------------------------------------------------------------

Поле "Magic" содержит сигнатуру файла для прошивки под чипы фирмы Qualcomm - LmQsBfMt ;

Поле "СS" содержит значение контрольной суммы, расчет которой производится простым суммированием заголовка, начная с 12 байта, и таблицы разделов по модулю u32.

Поля "Autor" и "Name" содержат текст размером до 32 байт, дополненный нулями (0х0000).

Поле "Date" содержит дату создания файла прошивки в формате , т.е. содержит число секунд, прошедших от даты 01.01.1970.

Поле "Offset" содержит смещение от начала образа до раздела данных прошивки в байтах.

Поле "Flag" может принимать значения writerflag.

Значения полей "Unknow" мне не известны.

 

Спойлер

3.Таблица разделов.

Таблица располагается следом за заголовком.

Это перечень содержимого прошивки в виде массива структур размером 256 байт. Каждая структура имеет следующие поля:


----------------------------------------------------------------------
Имя поля    Смещение    Длина    Значение
                   байт             байт
----------------------------------------------------------------------
Filename	0х0000		64	Имя файла
Label		0х0040		32	метка раздела
CS		0х0060		4	контрольная сумма
Date		0х0064		4	дата создания файла
OffsetImage	0х0068		4	смещение файла в образе прошивки
SizeImage	0х006С		4	размер файла в прошивке
EraseFlag	0х0070		4	флаг
WriteFlag	0х0074		4	флаг
Size		0х0078		4	размер файла в памяти
Offset		0х007С		4	смещение файла в памяти
Reserv		0х0080		128	rez1
----------------------------------------------------------------------

Поле "Filename" содержит имя файла размером до 64 байт, дополненное нулями (0х0000).

Поле "Label" содержит название раздела (метку) памяти размером до 32, дополненное нулями (0х0000).

Поле "СS" содержит значение контрольной суммы, расчет которой производится простым суммированием ВСЕГО файла-образа по модулю u32.

Поле "Date" содержит дату создания файла прошивки в формате , т.е. содержит число секунд, прошедших от даты 01.01.1970.

Поле "OffsetImage" содержит смещение от начала образа прошивки до начала файла внутри образа прошивки.

Поле "SizeImage" содержит размер файла в образе прошивки, т.е. размер файла в сжатом виде.

Поле "EraseFlag" содержит флаг разрешения операции очистки ("Erase").

Поле "WriteFlag" содержит флаг разрешения операции записи ("Write").

Поле "Size" содержит размер файла в памяти, т.е. размер файла в развернутом (несжатом) виде.

Поле "Offset" содержит смещение файла в памяти.

4. Данные.

Данные представляют собой последовательно размещенные файлы без промежутков между ними.

Данные располагаются:

- для Qualcoom, начиная с адреса, указанного в поле "Offset" заголовка прошивки;

- для Intel, адрес для каждого файла берется из поля "OffsetImage" таблицы разделов.

5.ЭЦП.

Цифровая подпись располагается следов за последним файлом данных, выровненная на границу сектора, т.е. 512 байт. Она может и отсутствовать.

8 people like this

Share this post


Link to post
Share on other sites

как можно заменить NON-HLOS.bin файл в qsb с помощью этого редактора???

Share this post


Link to post
Share on other sites
как можно заменить NON-HLOS.bin файл в qsb с помощью этого редактора???

Эта версия редактора только разбирает прошивку на составные части, но не собирает обратно.

Если Ваша прошивка не подписана. т.е. без ЭЦП в конце файла, то можно заменить ЛЮБУЮ часть прошивки вручную, воспользовавшись Hex-редактором. Или попробуйте выполнить сборку консольным средством LenovoWinTools_v1.1, оно СОБИРАЕТ прошивку из составных частей. 

4 people like this

Share this post


Link to post
Share on other sites

Здравствуйте Я немогу qsb собрать в QPST чтобы прошить с ПК (Телефон умер)  Эта программа не позволяеет Подскажите как это сделать

Заранее Спасибо

Share this post


Link to post
Share on other sites
Эта программа не позволяеет Подскажите как это сделать

Полностью согласен с таким утверждением: ЭТА не позволяет.Но одним постом выше я давал ссылку на средство, работающее из командной строки. Вот оно все позволяет. Правда, лучше не торопитесь, т.к. я скоро выложу обновление, в котором устраню некоторые ошибки, и, может быть, добавлю новых функций.

3 people like this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.