motofan logo
5 страниц V  1 2 3 > »         
> 

Моддинг прошивки в Linux, Или как создать своего монстра :D

whitemoto
сообщение 14.2.2007, 12:46


Ветеран
*****

Группа: Разработчики
Сообщений: 553
Регистрация: 22.12.2005
Пользователь №: 63 052
Модель телефона: Motorola ROKR E2
Прошивка: pre

Рейтинг: 165.5



Разбираем прошивку на кодовые группы
Скачиваем SBFCodec by lucrece (с возможностью сборки отдельных кодовых групп в sbf, для прошивки), и открываем любую прошивку.
SBFCodec разобьет прошивку на составляющие кодовые группы (как RSD Lite). Папка SMG.

Вся основная информация содержится в CRAMFS кодовых группах (это сжатые файл-образы, которые в последствии можно легко собирать/разбирать). Вот они:
CG34 - Медиа. картинки, заставки, рингтоны, звуки...
CG37 - Безопасность. флэксбит, сертификаты и т.д.
CG41 - Лэнг. шрифт, переводы, итап.
CG42 - Настройки. все основные настройки, так же профили соединения
CG43 - Система. бинарники, либы, скрипты загрузки, прочее
Можно в sbfcodec нажать Parse CG, что извлечет файлы из cramfs... так, по-исследовать). Для правки они не годятся, т.к. теряются права на файлы и портятся симлинки. Грузимся в Linux.....

Разбираем кодовые группы
CG34, CG41, CG42 можно сразу смонтировать командой (а потом скопировать в директорию):
mount -t cramfs файл_кодовой_группы -o loop /путь/монтирования
Но лучше сразу извлечь в папку:
fsck.cramfs -v -x путь_куда_извлекать файл_кодовой_группы

CG37 и CG43 перед извлечением через fsck.cramfs нужно предварительно подготовить, а именно удалить в hex-редакторе все FF в начале файла (4096 байт)
Или смонтировать командой, а потом скопировать...
mount -t cramfs файл_кодовой_группы -o loop,offset=4096 /путь/монтирования

Таким образом имеем файлы извлеченные из кодовых групп. Тут уж от вас зависит как вы захотите над ними извратиться.........
Замечу, что все действия нужно делать под root'ом, и обязательно назначать заменяемым файлам исходные права, например, так:
chgrp -v 99 *
chown -v 99 *
chmod -v 755 *


Обратный этап - сборка
mkfs.cramfs -v директория_на_сборку ваш_файл_группы.smg

И следите за размером получаемой группы, все группы нужно будет сделать изначального размера, и переименовать, чтобы без проблем добавить в sbf:
CG34_0x001A0000.smg 9 437 184 байт
CG37_0x01CA0000.smg 131 072 байт
CG41_0x01DE0000.smg 8 388 608 байт
CG42_0x025E0000.smg 131 072 байт
CG43_0x02600000.smg 27 262 976 байт
Размер можно поправить через WinHex. Через Ctrl+0 вставляем в начало нужное (для CG43 - 4096) кол-во байт, далее выделяем вставленные байты (Alt+1 начальная позиция выделения, Alt+2 конечная), жмем Ctrl+L и вводим FF. Теперь добавляем в конец необходимое кол-во байт, просто вычитаем из оригинального, текущий размер кодовой группы, перемещаемся в конец файла, вставляем Ctrl+0, выделяем и заполняем FF.

После того как имеем правленные CG нужного размера, вставляем в SBFCodec: открываем целую прошивку, и заменяем файлы. Сохраняем в новый *.sbf

вроде все, какой поставить линукс здесь не спрашиваем! я давно уже сказал, если хотите что-то сделать, то надо сперва с линуксом хоть немного разобраться
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sanyok_
сообщение 17.2.2007, 0:04


MotoTeam
********

Группа: Почетные МотоФаны
Сообщений: 2 080
Регистрация: 7.8.2005
Из: Кременчуг Украина
Пользователь №: 48 061
Модель телефона: Xiaomi Redmi Note 10 pro
Прошивка: пока 11 ведро :)
Победитель конкурса 2008

Рейтинг: 1171



whitemoto, если бы ты ещё написал как включать самбу и авторан в заводских прошивках, вообще было бы замечательно.

Хочу под себя перебрать заводскую прошивку 46 или 48 поправь меня если делаю неправильно
что бы сделать авторан создаём файл к примеру S80autorun в /etc/rc.d/rc2.d нём должно содержаться примерно такое
Код

#!/bin/bash

if [ -f /ezxlocal/download/mystuff/unKnown/startup.sh ]
then
 /ezxlocal/download/mystuff/unKnown/startup.sh &
elif [ -f /ezxlocal/download/mystuff/Others/startup.sh ]
then
 /ezxlocal/download/mystuff/Others/startup.sh &
fi

if [ -f /ezxlocal/download/mystuff/unKnown/startup.txt ]
then
 . /ezxlocal/download/mystuff/unKnown/startup.txt
elif [ -f /ezxlocal/download/mystuff/Others/startup.txt ]
then
 . /ezxlocal/download/mystuff/Others/startup.txt
fi

if [ -f /mmc/mmca1/autorun/startup.sh ]
then
 /mmc/mmca1/autorun/startup.sh &
fi

if [ -f /mmc/mmca1/autorun/startup.txt ]
then
 . /mmc/mmca1/autorun/startup.txt
fi

а для работы самбы всего лишь в папке /etc/samba/smb.conf выбросить из конфигурационного файла read only = no в стоке [system]
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
whitemoto
сообщение 17.2.2007, 0:11


Ветеран
*****

Группа: Разработчики
Сообщений: 553
Регистрация: 22.12.2005
Пользователь №: 63 052
Модель телефона: Motorola ROKR E2
Прошивка: pre

Рейтинг: 165.5



Sanyok_,
это уже в тему про ковыряние прошивки или куда там...
по авторану примерно так, да
а чтобы самба работала там много чего надо, бинарники, либы некоторые
в исходниках проши смотри
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sanyok_
сообщение 3.3.2007, 21:47


MotoTeam
********

Группа: Почетные МотоФаны
Сообщений: 2 080
Регистрация: 7.8.2005
Из: Кременчуг Украина
Пользователь №: 48 061
Модель телефона: Xiaomi Redmi Note 10 pro
Прошивка: пока 11 ведро :)
Победитель конкурса 2008

Рейтинг: 1171



whitemoto, небольшой вопрос к тебе можно ли пакетно менять права доступа и смену атрибутов файлов, а то по одному пока меняешь просто задалбываешься и ещё вопрос на щёт сим линков, если даёшь сим линк на файл то у него ведь получаються владелец root, а нужно 99 или всё равно будет работать или потом сим линку менять владельца через сhgrp и chown.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
whitemoto
сообщение 3.3.2007, 22:50


Ветеран
*****

Группа: Разработчики
Сообщений: 553
Регистрация: 22.12.2005
Пользователь №: 63 052
Модель телефона: Motorola ROKR E2
Прошивка: pre

Рейтинг: 165.5



Sanyok_,
Я записываю в файл какие права на какие файлы менять, а потом из этого файла вставляю и все. -R рекурсивно меняет права, т.е. в подкаталогах, а вообще можно и * указать
Симлинки и так работают. Но можно менять если требуется (если в оригинале изменена группа симлинка), у ln есть ключ какой-то для смены прав именно симлинка.... одним словом man'ы
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sanyok_
сообщение 4.3.2007, 1:08


MotoTeam
********

Группа: Почетные МотоФаны
Сообщений: 2 080
Регистрация: 7.8.2005
Из: Кременчуг Украина
Пользователь №: 48 061
Модель телефона: Xiaomi Redmi Note 10 pro
Прошивка: пока 11 ведро :)
Победитель конкурса 2008

Рейтинг: 1171



Цитата(whitemoto @ Сегодня, 0:50)

а вообще можно и * указать
*

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

Цитата(whitemoto @ Сегодня, 0:50)

одним словом man'ы
*

rolleyes.gif smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dimichxp
сообщение 5.3.2007, 14:50


Ветеран
*****

Группа: Разработчики
Сообщений: 639
Регистрация: 8.2.2005
Из: г. Иркутск
Пользователь №: 36 596
Модель телефона: zn5, e8
Прошивка: 00.28I, 02.07R
Победитель конкурса 2008

Рейтинг: 500



Sanyok_,

Пользуйся find, например
Код

find -type f -exec chmod 644 {} +


А права на симлинк нельзя изменить, читайте man chmod.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sanyok_
сообщение 5.3.2007, 15:05


MotoTeam
********

Группа: Почетные МотоФаны
Сообщений: 2 080
Регистрация: 7.8.2005
Из: Кременчуг Украина
Пользователь №: 48 061
Модель телефона: Xiaomi Redmi Note 10 pro
Прошивка: пока 11 ведро :)
Победитель конкурса 2008

Рейтинг: 1171



Всем спасибо за советы наконец то собрал себе монстр со своими картинка, мелодиями, рабочей самбой, телнетом и автораном, помогли в этом частично исходники от whitemoto, его монстра да и потрошение китайских монстров очень сильно подсобило, как оказалось ничего в этом сложного нет smile.gif кстати в нескольких китайских монстрах стоят на некоторые файлы неправильные права если их сравнивать с оригинальной прошивой.

Сообщение отредактировал Sanyok_ - 5.3.2007, 15:08
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dimichxp
сообщение 5.3.2007, 15:28


Ветеран
*****

Группа: Разработчики
Сообщений: 639
Регистрация: 8.2.2005
Из: г. Иркутск
Пользователь №: 36 596
Модель телефона: zn5, e8
Прошивка: 00.28I, 02.07R
Победитель конкурса 2008

Рейтинг: 500



Да и вообще, использовать виндовую программу для разбора/сборки sfb на кодовые группы, а потом править их под линуксом как-то не очень хорошо...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lelvisl
сообщение 5.3.2007, 15:34


Ветеран
*****

Группа: Пользователи
Сообщений: 484
Регистрация: 14.1.2007
Пользователь №: 116 837
Модель телефона: Milestone & A1200

Рейтинг: 103.5



dimichxp, а есть прога для распаковки сбф под линукс вообще в природе?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Моддинг прошивки в Linux, Или как создать своего монстра :D · Motorola ROKR E2, Motorola A910, Motorola E895 · Forum
 

5 страниц V  1 2 3 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20.10.2021, 19:07

Форум живёт: