Расширенный поиск

Прошивка "китайцев", часть заключительная

Вот и подходит к концу моя сага о самостоятельной прошивке китайских телефонов. Думал, управлюсь за пару месяцев, а получилось вон как… Ну да ладно, что сделано, то сделано. Вашему вниманию представляется заключительная часть из этой серии статей, и называется она – «русификация и ковыряние в прошивке». Самое интересное, так сказать. Приступим!

Прежде всего, что касается бесплатной русификации. В процессе подготовки этой статьи я перепробовал практически весь фришный софт, доступный на данный момент в РуНете. Перепробовал и пришёл к печальному выводу: бесплатный сыр бывает только сами знаете, где. Увы! (Философом становлюсь, однако!). И хоть я и стараюсь не рассказывать о платных аппаратно-программных решениях, но справедливости ради вынужден всё же заметить: лучше и удобнее  Infinity Box + Russian Language Pack Editor увы, не нашёл. Infinity Box – это такое устройство для прошивки телефонов, а Russian Language Pack Editor – программа к этому боксу. И всё бы хорошо, но на момент написания этой статьи бокс стоит порядка 10’000 рублей, а программа к нему – ещё три тысячи… Так что – будем изыскивать что-нибудь попроще да подешевле.

В принципе, на просторах Интернета валяются и бесплатные программки; только – многие из них работают либо плохо, либо никак. Один-два аппарата русифицировать с их помощью ещё можно, но в коммерческих масштабах… Тоскливо! К тому же, беда большинства бесплатных русификаторов в том, что они делают русификацию только для одного тела, в другое исправленная прошивка запросто может не подойти, хотя по всем параметрам телефоны - близнецы! Вот по этому поиск русифицированных фуллов в Е-Нете сильно затрудняется. Хотя, в процессе подготовки этой статьи я ради эксперимента попытался русифицировать фулл, слитый с китайского iPhone при помощи Infinity Box + Russian Language Pack Editor. И исправленный фулл подошёл как минимум, к двум телефонам: к тому, с которого, собственно, он и был слит, и ещё к одному точно такому же.

Ну да ладно, вернёмся к бесплатным (или условно-бесплатным) программным продуктам.

Наиболее известная программа из условно-бесплатных – это «RusLang». Почему я её назвал условно-бесплатной? Дело в том, что, вообще-то, это изначально не самостоятельная программа, а часть аппаратно-программного комплекса (бокса) GStar. Но, благодаря усилиям отечественных хакеров все могут оценить возможности этой программки, не покупая сам бокс. На момент написания этой статьи я в Сети нашёл версию «RusLang_2.2», вот о ней и пойдёт речь. Ищем (сначала – компромисс с собственной совестью, а потом – программу), скачиваем, устанавливаем. Вернее – устанавливать её, как раз не нужно: в моём случае оказалось достаточно просто запустить файл «RusLang for GStar_un.exe»; а вот антивирусником архив с программой проверить – лишним не будет: у меня вместе с архивом в компьютер попытался прорваться какой-то Троянец с нецензурным именем! Едва отбился!

Запустили программку – и видим такую вот картину:

Программа сама не умеет читать фулл из телефона (жаль, полезная была бы функция), а по сему – ей нужен фулл, слитый с телефона любым удобным способом (FlashTool, SpiderMan…). Уточнение: программа работает только с файлами с расширением *.bin, так что, возможно, придётся файл переименовать. Показываем путь к фуллу: кнопочка «Открыть», дальше – по смыслу…

Программа может просмотреть и сохранить как весь файл, так и отдельно языковой пакет; может осуществлять поиск подлежащих русификации слов, как по какому-то заданному слову, так и в автоматическом режиме, ориентируясь на интегрированные или подгружаемые словари (или ещё какую непонятную логику). Я бы порекомендовал начать с автоматического режима (галочка «новый режим») и с просмотра сразу всего фулла (галочка «Всю прошивку»). Шансы, что фокус получится – невелики, но если всё же сработает именно этот способ – жить будет немного проще. Но, скорее всего, программа ругнётся что, мол, «Русский язык не найден». Тогда можно попытаться задать ей какое-то ключевое слово, которое точно присутствует в прошивке (вспомните хоть одно полное название любого пункта меню или название любого файла, помещённого в память телефона и записанного русскими буквами…). Убираем галочку «Новый режим» и в поле «Слово для поиска» вписываем это самое слово. В моём случае, как видите, это слово «Ок» (оригинал, блин!).

В этом режиме программа «задумается» на несколько минут: это нормально, не надо её дёргать или прерывать. Такая вот она: задумчивая! По окончании процесса вам будет предложено «Если охота – прокомментируйте то, что получилось» и результат своей работы программа сохранит в файл с именем, отличающимся от исходного на * .Rus. Если интересно – произведённые программой замены можно посмотреть в файле «Zam_log.txt». Обратите внимание на цифры «Исходная длинна слов» и «Текущая длинна слов». В инструкции к программе сказано, что «Необходимо, чтобы исходная длинна слов была больше, чем текущая», только вот как это сделать – там не сказано. Интуитивно это понятно: если после перевода слова получатся длиннее и больше исходных – то они просто не поместятся на место старых, непереведённых слов; все адреса сдвинутся, размер файла прошивки получится больше исходного. Понятно-то оно, конечно, понятно… непонятно только, как этого добиться, если получится наоборот. Единственный вразумительный совет могу дать только такой: попробуйте предварительно откорректировать используемый словарь – внимательно проверить его на предмет длинны фраз исходных и фраз, полученных после перевода.

Да, и самое интересное: программа, разумеется, постарается перевести не только заданное вами слово, но и вообще все слова, какие она посчитает нужным: слово для поиска ей нужно всего лишь для локализации части прошивки, подлежащей русификации… только вот логика работы этой программки, мягко говоря, оставляет желать лучшего. Некоторые слова программа не признаёт словами вообще (и, соответственно, напрочь отказывается русифицировать), некоторые – даже приблизительно не соответствуют исходным… Ну и словарь, понятное дело, просто не может подходить сразу ко всем телефонам и ко всем прошивкам. Часто возникает необходимость вручную исправить словарь или добавить в него новые слова, выражения. А для этого есть кнопочка «Редактор».

Нажимаем её и снова ждём несколько минут: Причём, лучше всё делать именно в такой последовательности, как я описал: сначала русифицировать прошивку, а уже потом, не закрывая программу открыть словарь для редактирования. Так экономится время, нервы… ну, и просто нагляднее результат работы! Программа подгружает все слова, которые (по её мнению) есть в телефоне, и предлагает свой вариант их перевода. Думаю, что делать в этом окошке – догадаетесь сами. Менять всё, что не понравится. Добавлять все слова, которые программа «забыла» или не посчитала нужным переводить. Удалять повторы. Словом, приводить словарь в «приличный» вид. Уже изменённые слова будут подсвечиваться, программа сама будет пытаться откуда-то подгружать какие-то гипотетические  словари (на которые всё равно особо не стоит рассчитывать)… Названия кнопочек тоже в комментариях не нуждаются; не забудьте только после окончания работы нажать волшебную кнопочку «Сохранить». Кнопочка «Загрузить» служит для того, чтобы можно было подгрузить ранее созданный словарь. После этой процедуры желательно проверить всё на предмет наличия дублей и, соответственно, удалить всё лишнее (кнопка «Удалить дубли»).

Да, и последнее. После редактирования исправленный языковой пакет, разумеется, надо бы поместить обратно в телефон. Программа умеет и это. Переходим на вкладку «Флешер», выставляем номер СОМ-порта, скорость… Дальше – по смыслу. Там всего две кнопки и обе – на русском языке. Внимание: Программа почему-то отказывается заливать в телефон весь фулл целиком, но отдельно языковой пакет заливает нормально! Во всяком случае, так было с моей версией RusLang.

Ещё одна условно бесплатная программа для редактирования ленгпаов в китайских телефонах – это «MTK Resource Edit».

Софтинку эту корсары цифровых морей «отломали» от аппаратно-программного комплекса «Spiderman box». На момент написания статьи самая свежая версия программы была «MTK Resource Edit V 1.3». Ищем, скачиваем, устанавливаем… Выглядит она вот так:

Программа, в общем-то, тоже интуитивно понятная, хотя и на английском языке; но несколько слов о ней сказать всё же стоит.

Запускаем программу,  жмём кнопочку «Open», показываем путь к файлу прошивки… Эта программка работает гораздо резвее предыдущей, и уже через несколько секунд нашим глазам явится полный список языковых пакетов, присутствующих в телефоне. Причём, любое слово в любом из пакетов можно исправить! Но – не всё так просто (а иначе – было бы скучно!). Пункт номер раз: после исправления слова (или фразы) должны иметь длину равную или меньше, чем исходная фраза (причины я уже говорил выше). Пункт номер два; по моему – очень неприятный. Дело в том, что очень часто слова из разных столбиков, расположенные в одной строчке – не совпадают друг с другом! И приходится долго и мучительно думать: какая фраза к чему относится… Если «лечить» единственный аппарат, то ещё куда ни шло; ну а если заняться этим серьёзно – то на редактирование прошивки подобным образом ушло почти два часа, думайте сами! Ну и пункт номер три: программа почему-то (у меня) нашла не все слова, подлежащие русификации…

Иногда бывает нужно сохранить языковой пакет отдельно, без всей остальной прошивки. MTK Resource Edit поможет вам и в этом. Щёлкните мышой по первому слову – в окошке справа появится адрес первого символа этого слова. Запоминаем (записываем) эту цифру. Затем так же узнаём адрес последнего слова. А всё то, что между этими адресами – и есть языковой пакет! Можно его вырезать (любым HEX-редактором) и сохранить. Заливать только часть файла прошивки мы уже умеем (смотри предыдущие статьи!). Это полезно бывает, когда русифицируешь сразу несколько одинаковых телефонов, а заморачиваться с зоной безопасности у каждого по отдельности – не хочется. Внимание: адреса начала и конца языкового пакета – ПРИБЛИЗИТЕЛЬНЫЕ!!! Чуть позже расскажу, почему так и что с этим делать.

Но программка «MTK Resource Edit» умеет не только редактировать языковой пакет: она же позволяет «подправить» и мелодии, и картинки, которые «зашиты» в прошивку. Алгоритм замены – тот же: открываем соответствующую вкладку (Music или Pictures), выделяем нужный файл из списка; причём музыкальный файл можно сразу же и прослушать, а картинка будет видна в виде превьюшки. Единственное, что нужно сказать – программа почему-то работает только с одной какой-либо выбранной папкой (WorkDir). Неудобно конечно… зато – бесплатно. Советую сначала создать какую-нибудь папочку, положить в неё все музыкальные файлы и картинки, которые планируете «залить» в телефон, а уж потом – нажать в программе кнопочку «WorkDir» и показать путь к этой папке. Кстати, в эту же директорию будут помещаться и файлы, которые вы захотите «достать» из телефона. Да, и ещё одно: как и в случае с языковым пакетом – картинки и мелодии, которые вы планируете поместить в свой аппарат, должны быть меньше или равны по объёму, чем исходные (причины – те же, что и в случае со словами). Физический размер картинок (в пикселях), разумеется, нужно делать точно таким, как и исходная картинка или анимашка. Кстати, для облегчения жизни размер выбранного изображения виден в программе в строчке, расположенной над полем для просмотра.

Теоретически программа умеет редактировать и шрифты, это вкладка «Font». Но то ли у меня руки кривые, то ли файлы прошивок какие-то не такие… короче, на этот раз теория и практика разошлись. Отредактировать или заменить хотя бы один символ у меня так и не получилось. А жаль. Если кто разберётся, как эта вкладка работает – просьба поделиться с народом (и со мной!).

После всех произведённых изменений исправленный файл не забывайте сохранять, для этого наличествует кнопочка «Save», расположенная слева внизу.

Исправленный файл прошивки можно залить в телефон любым флешером, какой вам больше нравится (SpiderMan, FlashTool…). Возможно, что после всех  вышеперечисленных манипуляций с телефоном и заливки в него исправленного фулла аппарат попросту не включится… тогда возвращаемся к предыдущим статьям и восстановлению зоны безопасности. Если вы всё делали так, как я советовал, то файл с зоной безопасности для вашего аппарата уже должен лежать где-нибудь в потаённом архивчике… Распаковываем, заливаем в тело поверх исправленной прошивки… и радуемся! Нет файла – смотрим предыдущую статью, делаем…

Есть ещё две программы для корректировки «Езиков»: это «LangEditor» и «G$tarLpMan». Я точно не знаю, но, по всей видимости, обе эти программы написал один и тот же автор: очень уж похож алгоритм работы этих программных продуктов. Да и интерфейсы тоже чем-то похожи… «G$tarLpMan» в природе существует в двух ипостасях: бесплатная и платная версии; а «LangEditor» - давно бесплатно валяется по Сети. Если позволите – начну с бесплатной версии «G$tarLpMan» (платную бесплатно скачать не удалось… жаль… J).

Программа довольно функциональная, перечислю лишь основные её возможности:

- Собственно, перевод по словарю (с английского или корявого русского);

- Редактирование вручную некорректно переведённых фраз;

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

- Перевод можно делать любого размера, как больше, так и меньше исходных фраз (честно говоря – не пробовал; но если верить автору программы – должно работать);

- Результаты перевода можно сохранять «про запас» в виде библиотеки, а в дальнейшем – использовать. Удобно!

- Сохранение текущего состояния работы с ленгпаком при выходе из программы и загрузка при запуске. Полезно, если компьютер завис, захотелось кофе или злобные электрики электричество перекрыли!

- Импорт отдельных слов и целых фраз в словарь (у меня не получилось, но автор уверяет, что можно!).

- Наконец-то реализована функция поиска в ленгпаке! Можно найти слово или часть слова в любом из языковых пакетов! Так же есть поиск непереведенных строк.

- Сохранение результатов корректировки в файлы изменений и scat-файл для загрузки в телефон (создание патча).

Ну и теперь – что с этим всем делать. Ищем/качаем/запускаем программу. Открываем файл с прошивкой. Сразу уточню: программа открывает файл прошивки ЦЕЛИКОМ, а результат работы сохраняет в виде отдельного патча, который нужно залить в аппарат при помощи FlashTool’a. Необходимый для этого scat-файл (scat_rus.txt), а так же файлы-патчи, которые нужно заливать (lp.bin, var.bin, in.bin) – программа формирует. В двух словах: отключаем Check baseband chip ECO version, выбираем scat-файл scat_rus.txt, указываем в регионах одноименные файлы патча, кнопочка «Download».

Итак, открываем файл с прошивкой (*.bin). Выглядеть это будет примерно вот так:

 Далее: в полях, обведённых красным – нужно вписать адреса исходного и переведённого языковых пакетов. Как их найти? Чуть ниже расскажу.

Если адреса введены правильно, то в столбцах «Исходный» и «Переводимый» появятся слова или фразы соответствующих пакетов. Столбец «Перевод» заполняется по мере перевода языкового пакета. Причём, этот столбец можно корректировать и вручную; остальные столбики доступны  только для просмотра.

Интерфейс программы интуитивно понятен и сделан полностью на русском языке (респект автору!), так что – в особых пояснениях не нуждается. Прокомментирую лишь отдельные пункты:

Правое поле – таблица словаря. Стоит отметить, что словарь хранится в базе данных (рекомендую почаще делать резервные копии!); в этой же базе данных предусмотрено несколько переводов одного и того же слова (непонятно, зачем…).

Ленгпак/Загрузить – загрузка ленгпака из выбранного фулфлеша в базу. После загрузки можно будет редактировать текущий ленгпак в редакторе. Перед загрузкой установите соответствующие адреса языковых пакетов.

Ленгпак/Из исходного (F4) –  заполняет текущее поле «Перевод» таблицы редактирования значением из поля «Исходный».

Ленгпак/Из переводимого (F5) –  заполняет текущее поле «Перевод» таблицы редактирования значением из поля «Переводимый».

Ленгпак/Создать патч – создает файлы изменений для загрузки в телефон через FlashTool, ради чего собственно и создавалась программа. Перед созданием файлов программа спросит, из какого поля таблицы редактирования брать непереведенные строки. Файлы изменений создаются в каталоге с исходным фулфлешем.

Словарь/Импорт – импорт словаря из каких-то хитрых файлов (у меня не получилось!).

Библиотека/Загрузить/Сохранить - вызывает окно работы с библиотекой.

Библиотека/Поиск аналогичных – выводит окно работы с библиотекой, где показаны только ленгпаки с аналогичной структурой, независимо от версии фулфлеша из которого они были загружены. Сравнение происходит по исходному языку.

Как видим, программа удобная, я бы даже назвал её лучшей из всех вышеперечисленных программ, если бы не одно «Но»: необходимо вручную найти и вписать адреса языковых пакетов. У меня в процессе подготовки статьи на эту процедуру ушло почти два часа; представляю, сколько времени это займёт у человека, только пробующего свои силы в ремонте телефонов… Впрочем, автор программы предлагает вполне традиционный способ решения этой проблемы: в платной версии программы реализован поиск лэнгпаков в автоматическом режиме. К тому же, автор поддерживает в «живом» состоянии свой сайт, так что для желающих – найти и приобрести платную версию труда не составит.

Ну и несколько слов о программе «LangEditor». Чтобы особо вас не утомлять повторениями – это более бедный и полностью бесплатный клон «G$tarLpMan»-а. Интерфейс, алгоритм работы, структура… В общем, если вы разобрались с «G$tarLpMan»-ом, то  с «LangEditor»-ом проблем не будет. Для ясности скажу лишь, что адреса языковых пакетов там тоже нужно вводить вручную. Программа тоже сама не умеет читать/заливать фулл, но в комплекте «поставляется» словарь на… что-то около 7000 слов.

Ну и теперь – обещанный способ поиска начала и конца языкового пакета (пакетов). Предупреждаю: способ экстремальный и соскучиться не удастся! Без бутылки пива – и не разберёшься, но лучшего (из бесплатного) я пока не знаю.

К этому времени, надеюсь, все уже более или менее уяснили, что файл прошивки представляет из себя не что иное, как текстовый шестнадцатеричный файл; а следовательно, его вполне можно открыть любым Hex-редактором! Это факт номер раз. А факт номер два – многие современные Hex-редакторы могут без проблем показывать символы Юникода. Сопоставим эти два факта и получим… Правильно: получим ещё один способ ковыряния в языковом пакете телефона! Уже известная нам программа WinHex, начиная с версии 14.0 «научилась» понимать Unicode (а некоторые Hex-редакторы – и ещё раньше!). Ищем, скачиваем, устанавливаем. Я нашёл «WinHex 15.2 SR-10», вот об этой версии программы дальше речь и пойдёт. Запускаем программу, далее – кнопочка «Открыть», показываем путь к нашему файлу прошивки… Результатом всех вышеперечисленных действий должна стать вот такая картинка:

Первое, что нужно сделать – это переключить программу в режим Unicode. Вкладка «Options» - «Character Set» - «Unicode». Сделали? Теперь – самое интересное: медленно-медленно прокручиваем правый столбик и ищем первое вразумительное слово. А так как файл большой, а просматривать нужно ну очень внимательно, то процедура эта затянется надолго, готовьтесь! А как только найдётся первое слово (вначале было слово…) – запоминаем его адрес (левый столбик) и переходим к… правильно, к поиску последнего русского слова! Его адрес тоже неплохо было бы запомнить или записать. Если вы были ну очень внимательны, терпеливы и всё сделали правильно – то перед первым словом ленгпака в телефоне и сразу после последнего слова будет одна или несколько строчек, состоящих из одних нулей. А всё то, что находится между «нулевых» строк – это и есть языковой пакет прошивки телефона. Обрадовались? А зря: ленгпак-то нашёлся весь, целиком; а нам предстоит найти в нём отдельно русский, отдельно английский (для желающих – можно и китайский) языки. Вернее – не сами языки, а их адреса. Мне в этом повезло: языковые пакеты были чётко разбиты по группам: внимательный просмотр правого столбика и кружка кофе решили проблему. Если нужно – можно сохранить весь языковой пакет отдельно от прошивки. Выделяем блок, сохраняем его в отдельный файл. Всё! Блок можно отредактировать любой программой, а потом – поместить (вставить) на то же место, где он и был. Важно: вставлять отредактированный блок нужно точно на то место, где его и брали! Сместите файл хотя бы на одну строку – телефон не заработает! Ну и – не забывайте о том, что новые слова и фразы должны быть короче или равны старым, заменяемым. Чисто теоретически – прямо в WinHex можно и редактировать прошивку (с последующим сохранением результатов); но это – если в супер-спец и умеете думать шестнадцатеричными мыслями! J J

Немного упростить жизнь может, как я уже ранее говорил, программа «MTK Resource Edit». При выделении ячейки с словом (без разницы: русским или английским) программа покажет его адрес. Но слепо доверять этому, пожалуй, не стоит. Дело в том, что программа берёт реальный адрес слова, а перед ним (ил после) – может быть несколько пустых, «нулевых» ячеек в строке. Так что: может повезти, а может – и нет. Лучше всё же сделать так: посмотреть адрес в «MTK Resource Edit», затем открыть «WinHex» и перейти к указанной ячейке. Если адрес совпадает с началом строки, а предидущая строка заканчивается на несколько нулей – значит, это и есть начало лэнгпака. Если же адрес, предложенный «MTK Resource Edit» указывает на середину строки – то за начало языкового пакета нужно принимать адрес первого символа в строке (при условии, что предидущая строка оканчивается на нули). Конец языкового пакета тоже нужно проверить аналогичным образом.

Какая из перечисленных программ лучше – решать вам; мне показались наиболее удобными «G$tarLpMan» (даже несмотря на необходимость ручного поиска начала языкового пакета) и «MTK Resource Edit» (хоть она и на английском). Что понравится вам – не знаю. Выбирайте!

Ну и напоследок ради справедливости стоит упомянуть и наименее «спортивный», но, тем не менее, имеющий место быть способ русификации «китайцев». На некоторых сайтах, посвящённых ремонту телефонов ребята просто по доброте душевной или за чисто символическую плату соглашаются русифицировать ваш аппарат. Ну, разумеется, не сам аппарат, а его фулл. Вычитываете его любым флешером, договариваетесь, отправляете, забираете уже исправленный, заливаете обратно в аппарат. Всё! Быстро, но не интересно. Сразу внесу ясность: я к числу энтузиастов не отношусь! Пожалуйста, ко мне с подобными просьбами не обращайтесь! Мне на самом деле просто некогда этим заниматься!



| |


Просмотров: 2614 | Источник: kitayphone.ru | Дата: Среда, 17 Ноября 2010 |