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

GUI PortKit для ElfPack v1.0, Портируем ELFPack 1.0 - легко и просто!

kadukmm
сообщение 22.12.2007, 16:24 Закрепленное сообщение!


Интересующийся
**

Группа: Разработчики
Сообщений: 83
Регистрация: 23.2.2007
Из: Украина, г. Винница
Пользователь №: 123 713

Рейтинг: 120



GUI PortKit for ElfPack v1.0


+ теперь и английская версия smile.gif (перевел Zolookas, случайно нашел на форуме www.modmymoto.com)

+ немножко изменен интерфейс
+ теперь путь к ADS можно изменить (при запуску если он не верен показываеться окошкоwink.gif, по
умолчанию C:\ADS\)
+ патч Register.fpa теперь создаеться рабочий (спасибо GreH_Besa, Re@ctor, Andy51)
+ убрана защита от дурака (теперь прога не виснет при любой ошибкеwink.gif)
+ добавлена возможность вручную указывать адрес патча (идея WhiteHotIce)
+ лог работы теперь сохраняеться автоматически (GUIPortKit.log)
+ мелкие исправления в коде...

Мануал по работе:
1. Качаем ADS и распаковываем в каталог на жестом диске (желательно с короткими именами smile.gif)
2. Копируем папку arm из папки з ADS в корень диска С:
3. Качаем GUI PortKit for ELFPack 1.0
4. Выбираем при первом запуске каталог с ADS
5. Ну, а дальше, все, думаю, понятно smile.gif
6. Радуемся smile.gif

В данной программе использованна утилитка от Andy51 RAMTrans.exe.


Благодарности:
1. Всем кто скачает, протестит и отпишиться smile.gif
2. Всем кто чем то мне когда-то помагал.
3. Andy51, no comments wink.gif
4. Компании Motorola (не было б ее, мы б тут с вами не сидели smile.gif)

Скачать GUI PortKit (Русская версия)
Скачать GUI PortKit (Английская версия)

Сообщение отредактировал kadukmm - 12.5.2008, 8:51
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 27.12.2007, 21:13


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



kadukmm, сорри, ты мне писал, а я уже забыл...

elfloader.lib - формат BigEndian!
Код
typedef struct
{
    DWORD st_name; // Оффсет названия символа от начала текстового блока
    DWORD st_value; /* Адрес в прошивке, с учётом THUMB адреса
                     Также, если символ имеет тип Data, то происходит
                     st_value += 0x30000000 */
} Symbol;

DWORD <количество символов>
<сплошной массив Symbol[]>
<текстовый блок char[]>
// В текстовом блоке располагаются названия символов, разделяются \0


Структура pat:
Код
<название> <режим> [номер вхождения] ['\['] <паттерна>[+0x?? смещение] ['\]'] [+0x?? смещение]

Паттерна заключается в квадратные скобки для получения DWORD-значения из бинарника.
Если паттерна найдена несколько раз, но при этом не указан номер вхождения, то паттерна считается ненайденной.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kadukmm
сообщение 28.12.2007, 11:02


Интересующийся
**

Группа: Разработчики
Сообщений: 83
Регистрация: 23.2.2007
Из: Украина, г. Винница
Пользователь №: 123 713

Рейтинг: 120



Цитата(Andy51 @ 27.12.2007, 23:13) *

kadukmm, сорри, ты мне писал, а я уже забыл...

Andy51 извини за навязчивость, smile.gif но еще парочка вопросиков:

1. Каким образов формируеться файл *.asm в libgen'e?
Я так понимаю начало файла везде одно и тоже:
Код
AREA Lib, CODE, READONLY
    ALIGN 4

    IMPORT  Register

    EXPORT  Lib

    CODE32
    ENTRY
    STMFD   SP!, {R4-R11, LR}
    LDR     R12, =Register
    MOV     LR, PC
    BX      R12
    LDMFD   SP!, {R4-R11, LR}
    BX      LR
    LTORG


А это уже идет на каждую функцию со своими параметрами:

Код
AREA |f.FunctionName|, CODE, READONLY
    CODE16
FunctionName
    BX    PC
    CODE32
FunctionName32
    LDR   R12, =0xOFFSET
    BX    R12
    LTORG


Откуда брать этот 0xOFFSET? Есть ли разница в этом файле в каком режиме работает процесор? Т.е. надо что-то изменять еще в зависимости от режима проца T, A?

2. И еще что значит "для получения DWORD-значения из бинарника" это типа что смещение (0x10080000(LTE); 0x10092000(LTE2); 0x100A0000(v3i)) не прибавляеться, а береться именно адрес в бинарике?

Сообщение отредактировал kadukmm - 28.12.2007, 11:14
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 28.12.2007, 22:48


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Цитата(kadukmm @ Вчера, 14:02)

Откуда брать этот 0xOFFSET?
*

Откуда хочешь smile.gif Хоть рандомом забей - всё равно будет нормально. Это и есть то значение, которое подменяет загрузчик.
Цитата(kadukmm @ Вчера, 14:02)

2. И еще что значит "для получения DWORD-значения из бинарника" это типа что смещение (0x10080000(LTE); 0x10092000(LTE2); 0x100A0000(v3i)) не прибавляеться, а береться именно адрес в бинарике?
*

Нет, это так работает:
... [AABBCCDDEE-0x4]
Оно найдёт AABBCCDDEE в бинаре, вычтет из найденного адреса 4 и прочитает как результат то, что лежит по этому адресу.

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fengshutao
сообщение 8.1.2008, 14:54


Новичок
*

Группа: Пользователи
Сообщений: 4
Регистрация: 20.11.2007
Пользователь №: 154 485
Модель телефона: E398

Рейтинг: 0



kadukmm or Andy51,could you tell me,in GUI PortKit for ElfPack v1.0,where is the Loging?in the RAMTrans.exe? I can't find it in GUIPortKit.exe,because i want to change the Language from RUS to CHS。。。
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kadukmm
сообщение 8.1.2008, 15:06


Интересующийся
**

Группа: Разработчики
Сообщений: 83
Регистрация: 23.2.2007
Из: Украина, г. Винница
Пользователь №: 123 713

Рейтинг: 120



fengshutao, Loging is in GUIPortKit.exe... mayby i am write multi-language program with multi-language logging...

PS. GUIPortKit.exe is compressed... smile.gif

Engrish->English T/L by A51 smile.gif
Цитата
kadukmm will add a multi-language support in the next release, if the current testing will be successfull.


Короче с анлийским у меня проблемы smile.gif обьясните ему ктото что если прога будет работать нормально то в ближайшее время я сделаю версию где можно будет добавлять и выбирать языки интерфейса (логов)...

Пока что нада протестить.... Скажите кто-то тестил уже? а то я у меня так сложились обстоятельства что сейчас кабеля к телефону нет и ее еще сам не тестил!!! Патчи работают? Походу должны т.к. они одинаковые такие как с оригинального порткита... Но всеровно пишите мнение...

Сообщение отредактировал Andy51 - 8.1.2008, 15:17
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 9.1.2008, 21:10


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



В Register.fpa должен быть адрес AutorunMain+1, ибо thumb-код
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kadukmm
сообщение 10.1.2008, 10:40


Интересующийся
**

Группа: Разработчики
Сообщений: 83
Регистрация: 23.2.2007
Из: Украина, г. Винница
Пользователь №: 123 713

Рейтинг: 120



Ну эт я уже тоже понял :) исправлю и выложу. Andy51 опиши пожалуйста мне принцип работы RAMTrans'a а то не очень везджаю... Я так понял там по адресу region_table есть таблица по которой определяются адреса кеш. функций... Но что и как? Обьясни пожалуйста, желательно на примере:)

Стукни в асю - дам сурцы. A51

Сообщение отредактировал Andy51 - 10.1.2008, 17:00
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Nicron
сообщение 11.1.2008, 15:06


Мастер
****

Группа: Пользователи
Сообщений: 151
Регистрация: 4.11.2007
Из: Якутск
Пользователь №: 152 811
Модель телефона: тютю
Прошивка: тю

Рейтинг: 35.5



Хм работает, патчится smile.gif clap.gif

Ну и немного глюкоB: при смене платформы не меняется марка телефона и другие строчки. Тоесть так и остается Е398 и т.п.

Сообщение отредактировал Nicron - 12.1.2008, 2:22
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
GreH_Besa
сообщение 12.1.2008, 10:31


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

Группа: Пользователи
Сообщений: 531
Регистрация: 11.3.2007
Из: Екатеринбург
Пользователь №: 126 379
Модель телефона: htc wildfire
Прошивка: android 2.2

Рейтинг: 237.5



Э... немного не понял - как изменить путь к ads? Есть еще одна мелоч - не находит 2 патерны(сменил pat-файлы - нашел) А так по виду все ок. Ща буду прошивать...

Nicron, данные о прошивке можно самому вписать...

Есть одно предложение, чтобы данные о прошивке брались сами из названия бинарника - к примеру такой стандарт: модель_полное название прошивки(к примеру L7_r4513_g_08.b7.acr_rb). Опцию лучше сделать отключаемой...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
GUI PortKit для ElfPack v1.0, Портируем ELFPack 1.0 - легко и просто! · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 27.4.2024, 18:26

Форум живёт: