Исследование H3000

Прошивки и их моды\ Кухни\ Игры и приложения\ Различные настройки\ Различные вопросы по ОС Android и WM и т.п.

Модераторы: Lunat, pvsurkov, AlexG1, KSAT

Исследование H3000

Сообщение Ответ:#1 » andryn » 31 мар 2011, 11:44

В этой теме я буду писать свои наблюдения и изыскания по телефону H3000.

Предупреждение: НЕ ПОВТОРЯЙТЕ ОПИСАННЫЕ ОПЫТЫ, если вы не понимаете смысла написанного или не отвечаете за свои поступки

Комментарии приветствуются.

Итак, что имеется:
Телефон H3000.
Версия андроида: 2.2.1
Модель e1000_klx3 2011/0/11 14:21:21
Версия ядра: 2.6.32.9
Версия ПО модуля связи: MAUI.10A.W10.48.MP.V0, 2010/12/18 14:13
Номер сборки: ALPS.10Y.W10.48.MP.V1.06
Root получен с помощью z4root
Установлен busybox. Версия инсталлера 3.4.6. Версия busybox: 1.18.4, установлен в /system/bin
 Про busybox


О железе и софте
 CPU

 RAM

 Конфиг ядра


 NAND flash


 Смонтированные устройства


Прошивка

 Общие сведения


 Про yaffs2


 Получение root


 Сливаем прошивку


 Ковыряем boot.img


 собираем продвинутый recovery


 про IMEI


 Разборка-сборка boot или recovery в командах с небольшими комментариями

Продолжение следует...
Последний раз редактировалось andryn 22 июл 2011, 15:37, всего редактировалось 11 раз(а).
  • 20

Аватара пользователя
andryn
Пользователь
 
Сообщения: 104
Зарегистрирован: 14 фев 2011, 11:59
Репутация: 51

Re: Исследование H3000

Сообщение Ответ:#2 » f_mulder » 03 апр 2011, 16:14

Классная тема, буду внимательно следить.
  • 0

Аватара пользователя
f_mulder
Специалист
 
Сообщения: 668
Зарегистрирован: 19 мар 2011, 03:20
Репутация: 223

Re: Исследование H3000

Сообщение Ответ:#3 » pvsurkov » 04 апр 2011, 11:47

andryn писал(а):собираем продвинутый recovery

Продвинутый recovery уже давно лежит в теме H3000 - http://forum.china-iphone.ru/viewtopic. ... 04#p269904, только я так понимаю он нафиг не кому не нужен.
andryn писал(а):Слепем новый recovery.img../tools/../mkbootimg --kernel recovery_original_kernel --ramdisk recovery_a5000_rootfs.gz -o new_recovery.img

Немного не корректный recovery получится. :-(
Для более корректного recovery разбираем rootfs от A5000 и rootfs от H3000 , правим файл default.prop на предмет правильного отображения версии прошивки телефона.
 "default.prop H3000"
При необходимости можем исправить заложенные в recovery сценарии, например можно в файле backuptool.sh поменять список и расположение файлов для бекапа.
 backuptool.sh
Собираем rootfs и затем действуем по указанному Вами сценарию.

Аналогично можно пересобрать файл boot.img заменив в файле default.prop значение getprop ro.secure=1 на getprop ro.secure=0.
 default.prop
После собираем boot.img и заливаем его телефон. После проведения данной операции должна стать доступной прошивка телефона с помощью обычного кабеля программкой fastboot. http://forum.china-iphone.ru/viewtopic. ... 43#p264543

ЗЫ. Все созданное делал в целях самообразования. В телефон не заливал, пока у меня в этом нет ни какой необходимости.
Чтобы получить правильный ответ, сформулируйте правильный вопрос.
  • 0

Аватара пользователя
pvsurkov

Модератор
 
Сообщения: 7153
Зарегистрирован: 13 авг 2009, 08:30
Откуда: Россия
Репутация: 4217

Re: Исследование H3000

Сообщение Ответ:#4 » andryn » 04 апр 2011, 12:54

pvsurkov писал(а):
andryn писал(а):собираем продвинутый recovery

Собираем rootfs и затем действуем по указанному Вами сценарию.

Я пока не понял предназначения 512 байт перед ядром и перед rootfs. Можешь прояснить зачем они там и как их туда добавлять?
  • 4

Аватара пользователя
andryn
Пользователь
 
Сообщения: 104
Зарегистрирован: 14 фев 2011, 11:59
Репутация: 51

Re: Исследование H3000

Сообщение Ответ:#5 » begemotaa » 04 апр 2011, 13:35

извините, а теоретически возможно для данного тела создание update.zip с возможностью прошиваться через рекавери меню? Как я понимаю это оптимальный вариант, для тех кто не в теме или нет шнурка.
SmartQ S7, ZTE V970
  • 0

Аватара пользователя
begemotaa
Пользователь
 
Сообщения: 116
Зарегистрирован: 02 фев 2011, 19:28
Репутация: 19

Re: Исследование H3000

Сообщение Ответ:#6 » pvsurkov » 04 апр 2011, 13:52

begemotaa писал(а):извините, а теоретически возможно для данного тела создание update.zip с возможностью прошиваться через рекавери меню? Как я понимаю это оптимальный вариант, для тех кто не в теме или нет шнурка.

Теоретически - возможное. Практически - не знаю, станет-ли кто-то этим заморачиваться.
andryn писал(а):Я пока не понял предназначения 512 байт перед ядром и перед rootfs. Можешь прояснить зачем они там и как их туда добавлять?

Вот, где-то так, из личной переписки:
pvsurkov писал(а):ЗЫ. На всякий случай, и boot.img я то же пересобирал, процесс разборки сборки для китайца немного отличается от везде описанного, только пока у меня в нем нет особой необходимости.
z8080 писал(а):Опишите процесс, пожалуйста, (или ссылку дайте, если уже). Это ценная информация.

Я все думаю, где эту информацию лучше разместить и как обозвать. Распылять по темам, а потом ссылаться на отдельные сообщения не хочется.
Общий смысл. есть файл boot.img Смотрим заголовок этого файла и видим интересную информацию(для примера использую Ваш mtd4, он же boot.img):
Изображение
По полученной информации выделяем из файла ядро - kernel.img, ищется по сигнатуре KERNEL, и ram-disk в файле boot.img по сигнатуре ROOTFS и сохраняем эти куски с размером файлов полученным выше.
Читаем заголовок отделённого ram-disk, находим размер области данных и отделяем ее с заданным размером от заголовка(размером 200h)
Изображение
Полученный файл назовем, к примеру, ramdisk.gz

Дальнейшие операции я проделывал под Ubuntu

Распаковываем файл ramdisk.gz
Код: Выделить всё
md ram
cd ram
gunzip -c ../ramdisk.gz | cpio -i

В каталоге ram находим файл default.prop
Код: Выделить всё
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=0
и заменяем в нем ro.secure=1 на ro.secure=0

Собираем файловую систему:
Код: Выделить всё
find . | cpio -o -H newc | gzip > ./ramdisk-new.gz


С помощью шестнадцатеричного редактора возвращаем файлу заголовк(размером 200h) и указываем в этом заголовке реальный размер нового файла ramdisk-new.gz

Собираем файл newboot.img с помощью mkbootimg:
Код: Выделить всё
mkbootimg --kernel kernel.img --ramdisk ramdisk-new.gz -o newboot.img

В результате сборки формируется заголовок файла newboot.img и его контрольная сумма(цифровая подпись).
newboot.img - собран.
(mkbootimg вроде собирает нормально. в ручную разделил свой boot.img на kernel.img и ramdisk.gz, а затем собрал их с помощью mkbootimg. получил тот-же самый boot.img)

Теперь его можно залить в телефон через консоль ADB, даже прошивочного кабеля не нужно.
Качаем flash_image - http://www.2shared.com/file/sfPPeA5G/flash_image.html
Закидываем flash_image и newboot.img на карточку и прошиваем.
Код: Выделить всё
adb push flash_image /sdcard/               //push the flash_image file onto the SD card
adb push newboot.img /sdcard/               //push newboot.img onto the SD card
adb shell                     //enter the device native shell
$ su                        //enter the secure shell
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock8 /system   //mount partition 8 as '/system' in r/w using 'yet another file system 2'
# cat /sdcard/flash_image > /system/bin/flash_image      //catenate the flash_image file from the SD to '/system/bin'
# chmod 755 /system/bin/flash_image            //change permissions of flash_image file to rwxr-xr-x
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock8 /system   //mount partition 8 as '/system' in r/o using 'yet another file system 2'
# flash_image boot /sdcard/newboot.img            //flash the boot partition with boot.img from the SD card
# reboot                     


ЗЫ. Заливать в тело newboot.img не пробовал. Пока в этом не было необходимости.

После заливки нового newboot.img должна появиться возможность простой прошивки через кабель через windows-утилиту fastboot - http://www.2shared.com/file/4l7HKE3O/fastboot.html
Код: Выделить всё
fastboot flash preloader /sdcard/preloader.img      //wait for 'sending...OKAY / writing...OKAY'
fastboot flash nvram /sdcard/nvram.img      //wait for 'sending...OKAY / writing...OKAY'
fastboot flash seccnfg /sdcard/seccnfg.img   //wait for 'sending...OKAY / writing...OKAY'
fastboot flash uboot /sdcard/uboot.img      //wait for 'sending...OKAY / writing...OKAY'
fastboot flash boot /sdcard/boot.img   //wait for 'sending...OKAY / writing...OKAY'
fastboot flash recovery /sdcard/recovery.img   //wait for 'sending...OKAY / writing...OKAY'
fastboot flash secstatic /sdcard/secstatic.img   //wait for 'sending...OKAY / writing...OKAY'
fastboot flash misc /sdcard/misc.img   //wait for 'sending...OKAY / writing...OKAY'
fastboot flash system /sdcard/system.img      //wait for 'sending...OKAY / writing...OKAY'
fastboot flash cache /sdcard/cache.img   //wait for 'sending...OKAY / writing...OKAY'
fastboot flash logo /sdcard/logo.img      //wait for 'sending...OKAY / writing...OKAY'
fastboot flash expdb /sdcard/expdb.img      //wait for 'sending...OKAY / writing...OKAY'
fastboot flash userdata /sdcard/userdata.img      //wait for 'sending...OKAY / writing...OKAY'
fastboot reboot   
Чтобы получить правильный ответ, сформулируйте правильный вопрос.
  • 3

Аватара пользователя
pvsurkov

Модератор
 
Сообщения: 7153
Зарегистрирован: 13 авг 2009, 08:30
Откуда: Россия
Репутация: 4217

Re: Исследование H3000

Сообщение Ответ:#7 » andryn » 04 апр 2011, 13:57

begemotaa писал(а):извините, а теоретически возможно для данного тела создание update.zip с возможностью прошиваться через рекавери меню? Как я понимаю это оптимальный вариант, для тех кто не в теме или нет шнурка.

1. Теоретически никаких препятствий для создания ubdate.zip нету. В первом посте про update.zip немного написано.
2. Специальный кабель нужен только для прошивки preloader и восстановления IMEI(пока не найден другой способ). Для прошивки всех остальных частей нужен только стандартный кабель.
  • 0

Аватара пользователя
andryn
Пользователь
 
Сообщения: 104
Зарегистрирован: 14 фев 2011, 11:59
Репутация: 51

Re: Исследование H3000

Сообщение Ответ:#8 » pvsurkov » 04 апр 2011, 14:01

andryn писал(а):2. Специальный кабель нужен только для прошивки preloader и восстановления IMEI(пока не найден другой способ). Для прошивки всех остальных частей нужен только стандартный кабель.

В темах других телефонов описано, что если вовремя забекапить IMEI телефона то для их восстановления прошивочный кабель не понадобится.
Чтобы получить правильный ответ, сформулируйте правильный вопрос.
  • 0

Аватара пользователя
pvsurkov

Модератор
 
Сообщения: 7153
Зарегистрирован: 13 авг 2009, 08:30
Откуда: Россия
Репутация: 4217

Re: Исследование H3000

Сообщение Ответ:#9 » andryn » 04 апр 2011, 16:29

pvsurkov писал(а):В темах других телефонов описано, что если вовремя забекапить IMEI телефона то для их восстановления прошивочный кабель не понадобится.

Для восстановления IMEI достаточно файла /nvram/md/NVRAM/NVD_IMEI/MP0B_001(или /data/nvram/md/NVRAM/NVD_IMEI/).
Формат его я пока не знаю, но если его сохранить и потом восстановить, то IMEI восстанавливаются.
  • 0

Аватара пользователя
andryn
Пользователь
 
Сообщения: 104
Зарегистрирован: 14 фев 2011, 11:59
Репутация: 51

Re: Исследование H3000

Сообщение Ответ:#10 » andryn » 08 апр 2011, 23:56

В первом посте описал алгоритм расчета файла MP0B_001
  • 3

Аватара пользователя
andryn
Пользователь
 
Сообщения: 104
Зарегистрирован: 14 фев 2011, 11:59
Репутация: 51

Re: Исследование H3000

Сообщение Ответ:#11 » IliaV » 09 апр 2011, 23:50

andryn писал(а):В первом посте описал алгоритм расчета файла MP0B_001

Супер! Теперь логичный шаг - писать его в нужное место прямо со зверька (конечно при наличии рутовых прав). Вы не собираетесь программку написать? Очень бы помогла... :co_ol:
Ciphone C6 V3.5.3 Eng + Rus V2
  • 0

Аватара пользователя
IliaV

Модератор
 
Сообщения: 238
Зарегистрирован: 29 мар 2010, 01:43
Репутация: 49

Re: Исследование H3000

Сообщение Ответ:#12 » z8080 » 10 апр 2011, 09:15

IliaV писал(а):Вы не собираетесь программку написать? Очень бы помогла... :co_ol:


Так человек ведь УЖЕ её прямо в шапке написал. Её скомпилировать для ARM - и полетели! Ничего экзотического там нет, скомпилиться должна на раз-два.

А писать это на жабе, ИМХО, не стоит совсем. А то "пойдёт в народ" и китайцы, чего доброго, в новых прошивках начнут IMEI реально шифровать, а не просто XOR'ить, как сейчас.

Да и вообще, учитывая низкоуровневость и специфику применения этой проги, это уже "атомный реактор с человеческим лицом" получился. Прикручивать к нему кнопку "Сделать зашибись" -- это уже совсем перебор.
  • 0

Аватара пользователя
z8080
Пользователь
 
Сообщения: 111
Зарегистрирован: 22 фев 2011, 04:40
Репутация: 34

Re: Исследование H3000

Сообщение Ответ:#13 » IliaV » 10 апр 2011, 10:29

z8080 писал(а):
IliaV писал(а):Вы не собираетесь программку написать? Очень бы помогла... :co_ol:


Так человек ведь УЖЕ её прямо в шапке написал. Её скомпилировать для ARM - и полетели!

Так вот я и спрашиваю, мне самому компилить или кто-то это сделает по человечески... :-): Ведь не зря он ее в шапке написал, значит уже скомпилил...

А чтобы не разлеталась, вполне можно всунуть вопрос на русском, типа того-же дня недели на русском языке. Да и зачем это китайцам? Менялок имеев по шнурку полно...
Ciphone C6 V3.5.3 Eng + Rus V2
  • 0

Аватара пользователя
IliaV

Модератор
 
Сообщения: 238
Зарегистрирован: 29 мар 2010, 01:43
Репутация: 49

Re: Исследование H3000

Сообщение Ответ:#14 » Pily » 10 апр 2011, 15:19

Спасибо, просто супер, :ya_hoo_oo:
Получилось "скормить" своему телефону (A5000) свои имеи коды без прошивочного кабеля
(давно были различные телефоны, так я записывал их имеи, которые сейчас в белом списке)
Последний раз редактировалось Pily 10 апр 2011, 17:52, всего редактировалось 1 раз.
"Если при словосочетании «китайский смартфон» у вас в голове возникает образ поддельной NokLa с двумя SIM-картами и телевизором, это значит, что в своих представлениях о Китае и китайской хай-тек-индустрии вы задержались в середине 2000-х"
  • 0

Аватара пользователя
Pily
Интересующийся
 
Сообщения: 46
Зарегистрирован: 05 апр 2011, 22:57
Откуда: UA
Репутация: 24

Re: Исследование H3000

Сообщение Ответ:#15 » xfn » 10 апр 2011, 15:39

Вопрос возник, точнее мысля :).

Если разобрать system.img, который в теле, вытянуть оттуда драйвера и пр. системные вещи, необходимые для наших тел, далее через SDK создать новое виртуальное устройство на базе андроид 2.3.3 (имбир.пряник), разобрать в свою очередь его system.img, закинуть ядро и библиотеки от наших тел, и, в итоге получить андроид 2.3.3 на наших телефонах. Такое возможно? Внесите, пожалуйста, ясность, может я что-то упускаю из виду.
 "Тел.ы"
  • 0

Аватара пользователя
xfn
Пользователь
 
Сообщения: 120
Зарегистрирован: 29 дек 2009, 15:47
Репутация: 15

Re: Исследование H3000

Сообщение Ответ:#16 » andryn » 10 апр 2011, 16:58

xfn писал(а):Вопрос возник, точнее мысля :).

Если разобрать system.img, который в теле, вытянуть оттуда драйвера и пр. системные вещи, необходимые для наших тел, далее через SDK создать новое виртуальное устройство на базе андроид 2.3.3 (имбир.пряник), разобрать в свою очередь его system.img, закинуть ядро и библиотеки от наших тел, и, в итоге получить андроид 2.3.3 на наших телефонах. Такое возможно? Внесите, пожалуйста, ясность, может я что-то упускаю из виду.

А как быть с системными приложениями типа двухсимочного телефона или ТВ? Будут они работать с фреймворком 2.3?
  • 0

Аватара пользователя
andryn
Пользователь
 
Сообщения: 104
Зарегистрирован: 14 фев 2011, 11:59
Репутация: 51

Re: Исследование H3000

Сообщение Ответ:#17 » xfn » 10 апр 2011, 17:06

Для начала можно попробовать в том же эмуляторе. Взять, если не ошибаюсь, Phone.apk, закинуть в 2.3 и запустить. Кстати, сейчас сам и попробую.
 "Тел.ы"
  • 0

Аватара пользователя
xfn
Пользователь
 
Сообщения: 120
Зарегистрирован: 29 дек 2009, 15:47
Репутация: 15

Re: Исследование H3000

Сообщение Ответ:#18 » f_mulder » 10 апр 2011, 17:26

Извиняюсь за нескромность, но было приятно увидеть прибавление и в моём счётчике благодарностей :smu:sche_nie: ...
Как никак, я к этому коду тоже отношение имею.
  • 12

Аватара пользователя
f_mulder
Специалист
 
Сообщения: 668
Зарегистрирован: 19 мар 2011, 03:20
Репутация: 223

Re: Исследование H3000

Сообщение Ответ:#19 » hh85 » 10 апр 2011, 22:44

Изменения 08-05-2011
Выполнил пожелания коллег по созданию отдельной темы. См. http://forum.china-iphone.ru/viewtopic.php?f=31&t=12628&p=310233#p310233. Вложенный файл перенесен туда. Исходники, как выяснилось, полезны только для "клонировщиков", поэтому из архива удалены. Действительно нуждающимся в них, полагаю, несложно будет написать в личку.
Данный пост неактуален. Сохранен исключительно для истории :mi_ga_et:

IMEI - программа для восстановления "слетевших" IMEI в телефонах на базе MTK6515.

Доходчиво разжеванную теорию см. выше по треду. Спасибо, andryn, f_mulder и pvsurkov.


Список файлов:
imei.c - исходник
imei.arm - исполняемый файл для телефона (не забудьте сделать chmod 755 imei.arm)
imei.i386 - бинарник под linux
imei.exe - бинарник для windows (не тестировалось под оригинальной ОС, только под wine!)
compile.sh - скриптик для компиляции под Debian

P.S. Кто живет под виндой, протестьте, плз, и сообщите, нормально ли работает EXEшник?

Дополнения 10-04-2011

updated 1

Свою ошибку в ридми пофиксил.
Разобрался c косметическим багом: мусор в конце выводимых на консоль IMEI. Достаточно было увеличить на один символ буфер для переменной и прописать туда признак конца строки 0x0.
Ну и главное - нашел, откуда берется лишний байт в генерируем файле. В оригинале файл открывается для записи без указания режима (текстовый или бинарный). Для *никсов оно пофиг, а вот винда открывает по умолчанию в текстовом, при этом символ перевода строки 0x0a меняется на пару 0x0d + 0x0a ("возврат каретки") - принятый в ДОС/Виндовз перевод строки. Т.е. когда (и если) в сгенерированной последовательности встречается данный символ, каждый раз он заменяется на два.
Пофиксил, проверяйте.

updated 2

Надеюсь, andryn тоже подправит исходник в шапке.

updated 3

IMEI телефона из шапки убрали. А вот заменить mode="w" и mode="a" на "wb" и "ab" соответственно, чтобы под виндой тоже корректно работало - забыли. ;)

New! Версия с хотелками и поправками.
Изменения по сравнению с оригиналом:
1. Проверка IMEI на валидность контрольной суммы (последняя цифра) .
Спасибо за идею, f_mulder! Автогенерацию считаю ненужной..
И без того клонов достаточно.
2. Добавлен параметр для задания имени файла.
3. Проверка на существование файла. Если есть, выход с ошибкой.
4. Проверка на возможность записи в файл на случай указания неправильного пути
или недостаточных прав доступа.
5. Имя файла по умолчанию теперь "MP0B_001".
6. Не позволяем использовать 2 одинаковых IMEI, чтобы не отрывать возможность
одновременной работы двух СИМ от одного оператора.

Багфикс 11-04-2011
    Убрана ошибка, приводившая к вылету при единственном параметре.
    Исправлена инфа об авторе.
    Удалена старая версия программы. Новая лучше ;)

Внимание! Файл архива в данном посте обновляется. Старые версии с глюками безжалостно удаляются нафиг!!!

Изменения 08-05-2011
Выполнил пожелания коллег по созданию отдельной темы. См. http://forum.china-iphone.ru/viewtopic.php?f=31&t=12628&p=310233#p310233. Вложенный файл перенесен туда. Исходники, как выяснилось, полезны только для "клонировщиков", поэтому из архива удалены. Действительно нуждающимся в них, полагаю, несложно будет написать в личку.
Данный пост неактуален. Сохранен исключительно для истории :mi_ga_et:
Последний раз редактировалось hh85 08 май 2011, 13:27, всего редактировалось 12 раз(а).
  • 18

Аватара пользователя
hh85
Интересующийся
 
Сообщения: 24
Зарегистрирован: 30 янв 2011, 21:13
Репутация: 143

Re: Исследование H3000

Сообщение Ответ:#20 » Pily » 10 апр 2011, 23:16

работает по виндой7 нормально, :co_ol: точно также как и мой экзешник скомпилированный под виндой
"Если при словосочетании «китайский смартфон» у вас в голове возникает образ поддельной NokLa с двумя SIM-картами и телевизором, это значит, что в своих представлениях о Китае и китайской хай-тек-индустрии вы задержались в середине 2000-х"
  • 0

Аватара пользователя
Pily
Интересующийся
 
Сообщения: 46
Зарегистрирован: 05 апр 2011, 22:57
Откуда: UA
Репутация: 24

След.

Вернуться в Программная часть КПК

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

x

#{title}

#{text}