motofan logo
3 страниц V  1 2 3 > Причина закрытия (Osta 21-07-2006): ждём-с       
> 

Внимание! Делаем Классы Bt От L7 На Е398, Инструкция от Vilko внутри темы

Archy
сообщение 20.6.2006, 11:21 Закрепленное сообщение!


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

Группа: Почётные мотофаны
Сообщений: 447
Регистрация: 10.4.2005
Из: Киев
Пользователь №: 40 468

Рейтинг: 516



Привет всем!

Я вот достаю нашего уважаемого гуру уже давно, так как знаю - он добился успехов в перенесении jsr82 на 373 платформу.
Но в силу определённых обстоятельств нам не подходит его метод - так как надо ПОЛНОСТЬЮ декомпилить прошивку, править и собирать заново, и для нашей 373_48R на это уйдёт с пол-года...

Есть второй путь -
Цитата
есть прошивка L7
из нее надо выгрузить все rococosoft классы, те которые не-натив - то "как есть", а натив - оставив указатели на процедуры.
такая вот задачка
и далее Вилко расскажет нам, как это сделать, потому как времени у него на это нет...

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

ФЛЕЙМ не разводим, но и мимо не проходим - что-то непонятно? задаём КОНКРЕТНЫЕ вопросы.

Сообщение отредактировал blackbox - 6.7.2006, 14:13
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 11:30


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



есть idb прошивки L7, в котором расписано дерево классов:
http://anton.vestco.ru/L7_cg1.rar (12Мб)
есть список этих самых классов(чспасибо InLined)
http://anton.vestco.ru/l7_classes.rar (200Кб)
нужно:
выгрузить из idb и сохранить в txt файлики все структуры классов com.rococosoft.* и javax.bluetooth.*, а так-же все подчиненные классам структуры(методы, байт-коды, интерфейсы, конст-пулы).
классов довольно много, поэтому один я буду это делать довольно долго. так что подключайтесь.

классы в прошивке организованы так:
есть оглавление (ClassTableData) - оно содержит 0x20 указателей на начала "цепочек классов".
каждая цепочка представляет собой структуру-описатель определенного класса, включающую в себя указатель на следующую структуру и т.д.
например 1я цепочка, 1й элемент:
Код

Class_ComJblendMediaCore_Mediacontrol2
               DCD Class_JavaLang_Class; root
               DCD 0                 ; field_4
               DCD jstr_ComJblendMediaCore; class_name
               DCD jstr_Mediacontrol2; interface_name
               DCD Class_ComRococosoftImprontoImpl_Remotedeviceimpl; next
               DCW 0x6020            ; field_14
               DCW 0x460             ; field_16
               DCD Class_ComJblendMediaCore_Nativesync_4333; parent
               DCD Consts_ComJblendMediaCore_Mediacontrol2; Interface
               DCD Fields_ComJblendMediaCore_Mediacontrol2; Fields
               DCD Methods_ComJblendMediaCore_Mediacontrol2; Methods
               DCD 0                 ; field_28
               DCD 0                 ; field_2C
               DCD 0x70005           ; field_30
               DCD 0                 ; field_34
               DCD 0                 ; finalize_proc

DCD Class_ComRococosoftImprontoImpl_Remotedeviceimpl; next
указывает на следующую аналогичную структуру класса, та в свою очередь еще на следующую - т.е. образуется цепочка.
соответственно нужно выгрузить все структуры касающиеся вышеперечисленных классов.
далее, структуры ссылаются на подчиненные структуры описывающие методы(Methods_ComJblendMediaCore_Mediacontrol2; Methods),
поля (Fields_ComJblendMediaCore_Mediacontrol2; Fields), константы (Consts_ComJblendMediaCore_Mediacontrol2)
все эти структуры так-же нужны.
структуры методов представляют собой:
Код

Methods_ComJblendMediaCore_Mediacontrol2 DCD 2 - кол-во методов в классе

структура описания 1го метода. кол-во подобных структур - в зависимости от ^предыдущего^ параметра
Method_ComJblendMediaCore_Mediacontrol2_Init_Biiiv DCW 0x13E             ; Method_name
               DCW 0x242F            ; Method_type
               DCD Bytecode_ComJblendMediaCore_Mediacontrol2_Init_Biiiv; Code
               DCD 0                 ; Handlers
               DCD 0                 ; StackMap
               DCW 0x15              ; ByteCode_length
               DCW 3                 ; field_12
               DCW 0                 ; Flags_native
               DCW 0xD000            ; field_16
               DCD Class_ComJblendMediaCore_Mediacontrol2; Parent_Class
               DCD 0x60006           ; field_1C


структура метода может ссылатсяна данные:
байт-код (DCD Bytecode_ComJblendMediaCore_Mediacontrol2_Init_Biiiv; Code)
а так-же хандлеры и стек-мапы(в данном примере не указаны)
все эти структуры так-же нужны.

далее, что самое геморное(иначе б я и сам все быстро сделал) - все выгруженные классы rococosoft и javax должны образовывать одну цепочку, т.е. треюуется правка поля next каждого из сохраненных элементов классов.

да, кстати, имена для всех структур - автогенеренные наскоро слепленным скриптом для иды. переименование их в более читаемый вид приветствуется.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
GRIDE
сообщение 20.6.2006, 12:40


Новичок
*

Группа: Пользователи
Сообщений: 18
Регистрация: 18.2.2006
Пользователь №: 70 878
Модель телефона: e398

Рейтинг: 0



Эти классы?... дают нам продвижение к bluetooth'y из Jav'ы? Или просто разбираем то что уже и так все знают?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 12:42


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Цитата(GRIDE @ Вторник, 20 Июня 2006, 15:40)
Эти классы?... дают нам продвижение к bluetooth'y из Jav'ы? Или просто разбираем то что уже и так все знают?
*


это классы, реализующие jsr82
большая их часть цепляется к прошивке "как есть" и только некоторые методы потребуют привязки к натив-коду - BT-API прошивки
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 20.6.2006, 13:01


0xFFFF
******

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


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



Рейтинг: 1224



Vilko, так, насколько я понял, тебе нужны эти заголовки, чтобы потом просто построить из них нужную цепочку и заменить где нужно указатели на native-методы, я правильно понял?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 13:07


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Цитата(Andy51 @ Вторник, 20 Июня 2006, 16:01)
Vilko, так, насколько я понял, тебе нужны эти заголовки, чтобы потом просто построить из них нужную цепочку и заменить где нужно указатели на native-методы, я правильно понял?
*


да
сами структуры классов просто кладутся на свободное место в прошивке, и в конце любой из имеющихся цепочек классов прописывается указатель на эту нашу цепочку.
и все это благополучно работает. проверялось.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 20.6.2006, 13:13


Авторитет
********

Группа: Почётные мотофаны
Сообщений: 2 838
Регистрация: 27.7.2005
Из: Йошкар-Ола
Пользователь №: 47 140
Модель телефона: E398
Прошивка: AlexKooper mod v.47

Рейтинг: 1337



В результате у нас пойдут ява-проги от L7 без переделки, или же придется писать свои версии? На базе jsr75 с блютузными кусками jsr82?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 20.6.2006, 13:26


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



А этим же способом можно внедрить классы 3D например из E1000?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 13:32


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Цитата(Stalker.mg @ Вторник, 20 Июня 2006, 16:18)
Vilko,

Архив битый :(
*


нифига. просто недокачал видимо.

Цитата(4ep)
А этим же способом можно внедрить классы 3D например из E1000?

можно. надо аналогичным способом найти все классы в прошивке е1000 и выгрузить...
Цитата(AlexKooper)
В результате у нас пойдут ява-проги от L7 без переделки, или же придется писать свои версии? На базе jsr75 с блютузными кусками jsr82?

если успешно все перенесем - да. пойдут "as is"
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 20.6.2006, 13:48


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(Vilko @ Вторник, 20 Июня 2006, 13:30)
классов довольно много, поэтому один я буду это делать довольно долго. так что подключайтесь.
*



можно здесь организовать кто какие строки берёт (с ххх по ххх) или это должен делать
каждый со всеми строками ? Пост можно удалить если организационные вопросы здесь не нужны
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 20.6.2006, 14:15


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



Если кто напишет мануал - помогу. И классами 3D поробую заняться.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 14:24


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Crimsonman,
под него и делается

Osta,
Цитата
можно здесь организовать кто какие строки берёт (с ххх по ххх)

не можно, а нужно! :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SaniOKh
сообщение 20.6.2006, 16:17


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

Группа: Пользователи
Сообщений: 98
Регистрация: 30.10.2005
Пользователь №: 56 454
Модель телефона: ROKR E2
Прошивка: TheOne Beta 2

Рейтинг: 27



У меня немного обратный вопрос, нежели у AlexKooper'а, и чисто потребительский: а как обстоит дело с совместимостью с приложениями, которые пользуются jsr75? Ведь столько прог хороших с использованием этой системы написано...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 16:23


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Цитата(SaniOKh @ Вторник, 20 Июня 2006, 19:17)
У меня немного обратный вопрос, нежели у AlexKooper'а, и чисто потребительский: а как обстоит дело с совместимостью с приложениями, которые пользуются jsr75? Ведь столько прог хороших с использованием этой системы написано...
*


а при чем тут jsr75?
jsr75 это PIM, мы его трогать не собираемся, как был так и останется.
а тут просто добавляем поддержку jsr82- Java APIs for Bluetooth
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ism
сообщение 20.6.2006, 16:39


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 1.4.2006
Пользователь №: 76 864
Модель телефона: E398
Прошивка: MS1.4 Mod

Рейтинг: 1



Немного уточню. То есть требуется взять структуру классов, из нее взять названия, найти все классы в idb (и все, что с ними связано, от чего зависят - по параметру next), сохранить их по названиям из списка, каждый в виде txt?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 16:45


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Цитата(Ism @ Вторник, 20 Июня 2006, 19:39)
Немного уточню. То есть требуется взять структуру классов, из нее взять названия, найти все классы в idb (и все, что с ними связано, от чего зависят  - по параметру next), сохранить их по названиям из списка, каждый в виде txt?
*


если под структурой подразумевается список в html - то да.
Цитата
от чего зависят  - по параметру next

вот как раз next никак не завязан логически со структурой классов. он просто связывает данные друг с другом, позволяя получить доступ ко всей цепочке.

сохранять по названиям - всмысле? просто сохранить сами структуры классов, полностью, все которые относятся к яве(это javax.bluetooth и com.rococosoft, через который работает javax...)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ism
сообщение 20.6.2006, 16:52


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 1.4.2006
Пользователь №: 76 864
Модель телефона: E398
Прошивка: MS1.4 Mod

Рейтинг: 1



Vilko, да список из html, имеется ввиду взять оттуда имена классов. И сохранять их уже по именам, раз каждый отдельно в файле. Не очень понимаю пока, как логически next их не связывает - в смысле что они не наследуются? Тогда вроде как раз связывает логически, а не наследованием.. Ладно, базу скачал, буду разбираться..
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 16:59


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Цитата(Ism @ Вторник, 20 Июня 2006, 19:52)
Vilko, да список из html, имеется ввиду взять оттуда имена классов. И сохранять их уже по именам, раз каждый отдельно в файле. Не очень понимаю пока, как логически next их не связывает  - в смысле что они не наследуются? Тогда вроде как раз связывает логически, а не наследованием.. Ладно, базу скачал, буду разбираться..
*


поле next всего-лишь образует цепочки. причем последовательность классов в них имхо хаотическая, по крайней мере связи я не нашел. так что я считаю это просто способом хранения информации. а логическую связь(наследование классов) задает поле parent.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Stalker.mg
сообщение 20.6.2006, 17:26


Evil
*****

Группа: Почётные мотофаны
Сообщений: 367
Регистрация: 11.11.2005
Пользователь №: 57 954
Модель телефона: iPhone 5

Рейтинг: 417



Чем открывать файл CG1.idb ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ism
сообщение 20.6.2006, 17:30


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 1.4.2006
Пользователь №: 76 864
Модель телефона: E398
Прошивка: MS1.4 Mod

Рейтинг: 1



Stalker.mg, IDA. http://www.idapro.ru/
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
azt59
сообщение 20.6.2006, 19:23


Мастер
****

Группа: Пользователи
Сообщений: 258
Регистрация: 26.9.2005
Из: Perm
Пользователь №: 52 732
Модель телефона: E398/V3x/C650/Z6
Прошивка: ---

Рейтинг: 140



Цитата
выгрузить из idb и сохранить в txt файлики все структуры классов com.rococosoft.* и javax.bluetooth.*, а так-же все подчиненные классам структуры(методы, байт-коды, интерфейсы, конст-пулы).
классов довольно много, поэтому один я буду это делать довольно долго. так что подключайтесь.


Ну созвать народ то созвали...но нужно организовать всё это дело...
FTP чтоли для этих самых txt файликов. +Разделение труда...
Хорошему делу хорошего организатора..
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 19:43


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



azt59,
хы, тебе ли не знать, что у меня со временем?:) а энтузиастов-организаторов невидно.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 20.6.2006, 20:07


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



Чуваки, а чё это такое? Короче скачал я этот CG1 от L7, открываю его прогой IDA 4.9 и вылазиет вот это (рис1), далее нажимаю Yes и вылазиет вот это (рис2).
Прикрепленное изображение Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 20.6.2006, 20:12


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



4ep,
открывает? и ладно. это последствия конвертации с 4.8, в которой я файл делал.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 20.6.2006, 20:14


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



Vilko, так не открывается. Мне теперь 4.8 качать?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ratmagor
сообщение 20.6.2006, 22:27


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

Группа: Пользователи
Сообщений: 474
Регистрация: 22.11.2005
Из: Мск
Пользователь №: 59 289
Модель телефона: Motorola Moto Maxx
Прошивка: KitKat

Рейтинг: 194.5



Vilko,
Весь горю желанием помочь, да и время есть.
Но я ничего не понял. И навыков кодинга у меня немного. Можно обьяснить по пунктам и с примерами.
rolleyes.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 21.6.2006, 5:14


Авторитет
********

Группа: Почётные мотофаны
Сообщений: 2 838
Регистрация: 27.7.2005
Из: Йошкар-Ола
Пользователь №: 47 140
Модель телефона: E398
Прошивка: AlexKooper mod v.47

Рейтинг: 1337



имхо надо кому-то один пример сделать с комментариями... тогда народ по аналогии смогет... это проще, чем вникать во все.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 21.6.2006, 6:40


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



ок, пример.
беру 1й класс из html, это будет com.rococosoft.impronto.ImprontoConnection
ищу его в idb, нахожу
Код

EXTRAM:127A9C74 Class_ComRococosoftImpronto_Improntoconnection DCD Class_JavaLang_Class; root
EXTRAM:127A9C74                                        ; DATA XREF: ROM:Method_ComRococosoftImpronto_Improntoconnection_Init_V_3913o
EXTRAM:127A9C74                                        ; ROM:Method_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113o ...
EXTRAM:127A9C74                 DCD 0                  ; field_4
EXTRAM:127A9C74                 DCD jstr_ComRococosoftImpronto; class_name
EXTRAM:127A9C74                 DCD jstr_Improntoconnection; interface_name
EXTRAM:127A9C74                 DCD Class_ComJblendMediaCore_Mediastopcontroller; next
EXTRAM:127A9C74                 DCW 0x6021             ; field_14
EXTRAM:127A9C74                 DCW 0x2DB              ; field_16
EXTRAM:127A9C74                 DCD Class_JavaLang_Object; parent
EXTRAM:127A9C74                 DCD Consts_ComRococosoftImpronto_Improntoconnection; Interface
EXTRAM:127A9C74                 DCD Fields_ComRococosoftImpronto_Improntoconnection; Fields
EXTRAM:127A9C74                 DCD Methods_ComRococosoftImpronto_Improntoconnection; Methods
EXTRAM:127A9C74                 DCD 0                  ; field_28
EXTRAM:127A9C74                 DCD 0                  ; field_2C
EXTRAM:127A9C74                 DCD 0x30005            ; field_30
EXTRAM:127A9C74                 DCD 0                  ; field_34
EXTRAM:127A9C74                 DCD 0                  ; finalize_proc

далее беру все связнанные структуры:
сначала конст-пул. тут все просто...
Код

ROM:108FFA2C Consts_ComRococosoftImpronto_Improntoconnection DCD 0x15
ROM:108FFA2C                                        ; DATA XREF: EXTRAM:Class_ComRococosoftImpronto_Improntoconnectiono
ROM:108FFA30                 DCD Method_ComRococosoftImpronto_Improntolocaldevice_Getimprontolocaldevice__4724
ROM:108FFA30                 DCD Method_ComRococosoftImpronto_Improntolocaldevice_Getlinkmanager_E_9197
ROM:108FFA30                 DCD Method_ComRococosoftImprontoBaseband_Linkmanager_10399_Getacllink_V_6595
ROM:108FFA30                 DCD Method_ComRococosoftImprontoBaseband_Linkmanager_10399_Createacllink_ZV_6360
ROM:108FFA30                 DCD Method_ComRococosoftImprontoBaseband_Acllink_Ismaster_Z_4076
ROM:108FFA30                 DCD Class_JavaxBluetooth_Bluetoothconnectionexception
ROM:108FFA30                 DCD Method_JavaxBluetooth_Bluetoothconnectionexception_Init_Iv_2791
ROM:108FFA30                 DCD Method_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113
ROM:108FFA30                 DCD Method_ComRococosoftImpronto_Improntolocaldevice_Getbtsecuritymanager_I_7947
ROM:108FFA30                 DCD Method_ComRococosoftImprontoBcc_Btsecuritymanager_Authenticate_Z_2098
ROM:108FFA30                 DCD Class_JavaIo_Ioexception
ROM:108FFA30                 DCD off_107D0C38
ROM:108FFA30                 DCD Method_JavaIo_Ioexception_Init_V_1921
ROM:108FFA30                 DCD Method_ComRococosoftImprontoBcc_Btsecuritymanager_Encrypt_Zz_1245
ROM:108FFA30                 DCD off_107D0C50
ROM:108FFA30                 DCD Method_ComRococosoftImpronto_Improntoconnection_Assertnotclosed_V_3913
ROM:108FFA30                 DCD Method_ComRococosoftImprontoBaseband_Acllink_Getremotedevice_V_9059
ROM:108FFA30                 DCD Method_ComRococosoftImpronto_Improntoconnection_Isclosed_Z_4076
ROM:108FFA30                 DCD off_107CF870
ROM:108FFA30                 DCD Method_ComRococosoftImprontoBaseband_Acllink_Removeconnection_V_6411
ROM:108FFA80                 DCB 0, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x87, 0x8A, 0x8A
ROM:108FFA80                 DCB 0x8A, 0x8A, 0x87, 8, 0x8A, 0x8A, 8, 0x8A, 0x8A, 0x8A
ROM:108FFA80                 DCB 8, 0x8A

теперь поля. как видно по 1й строке, их тут 3 записи...
Код

ROM:108E6E24 Fields_ComRococosoftImpronto_Improntoconnection DCD 3
ROM:108E6E24                                        ; DATA XREF: EXTRAM:Class_ComRococosoftImpronto_Improntoconnectiono
ROM:108E6E28 Field_ComRococosoftImpronto_Improntoconnection DCW 0x16A2             ; field_0
ROM:108E6E28                 DCW 0x3A2              ; field_2
ROM:108E6E28                 DCD 0x8002             ; field_4
ROM:108E6E28                 DCD Class_ComRococosoftImpronto_Improntoconnection; field_8
ROM:108E6E28                 DCD 0                  ; field_C
ROM:108E6E38 Field_ComRococosoftI_8692_Improntoconnec_1 DCW 0x7D6              ; field_0
ROM:108E6E38                 DCW 0x5A               ; field_2
ROM:108E6E38                 DCD 2                  ; field_4
ROM:108E6E38                 DCD Class_ComRococosoftImpronto_Improntoconnection; field_8
ROM:108E6E38                 DCD 1                  ; field_C
ROM:108E6E48 Field_ComRococosoftI_8692_Improntoconnec_2 DCW 0x6B4              ; field_0
ROM:108E6E48                 DCW 0x10B              ; field_2
ROM:108E6E48                 DCD 0x8002             ; field_4
ROM:108E6E48                 DCD Class_ComRococosoftImpronto_Improntoconnection; field_8
ROM:108E6E48                 DCD 2                  ; field_C

затем методы.
их там 12(по 1му параметру), но я тут все писать не буду - громоздко.
Код

ROM:108B6200 Methods_ComRococosoftImpronto_Improntoconnection DCD 0xC

ROM:108B6204 Method_ComRococosoftImpronto_Improntoconnection_Init_V_3913 DCW 0x13E              ; Method_name
ROM:108B6204                 DCW 0x156              ; Method_type
ROM:108B6204                 DCD Bytecode_ComRococosoftImpronto_Improntoconnection_Init_V_3913; Code
ROM:108B6204                 DCD 0                  ; Handlers
ROM:108B6204                 DCD 0                  ; StackMap
ROM:108B6204                 DCW 0xB                ; ByteCode_length
ROM:108B6204                 DCW 2                  ; field_12
ROM:108B6204                 DCW 0                  ; Flags_native
ROM:108B6204                 DCW 0xD001             ; field_16
ROM:108B6204                 DCD Class_ComRococosoftImpronto_Improntoconnection; Parent_Class
ROM:108B6204                 DCD 0x10001            ; field_1C

ROM:108B6224 Method_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113 DCW 0x14F2             ; Method_name
ROM:108B6224                 DCW 0x8C8              ; Method_type
ROM:108B6224                 DCD Bytecode_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113; Code
ROM:108B6224                 DCD 0                  ; Handlers
ROM:108B6224                 DCD StackMap_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113; StackMap
ROM:108B6224                 DCW 0x38               ; ByteCode_length
ROM:108B6224                 DCW 4                  ; field_12
ROM:108B6224                 DCW 0                  ; Flags_native
ROM:108B6224                 DCW 0xD004             ; field_16
ROM:108B6224                 DCD Class_ComRococosoftImpronto_Improntoconnection; Parent_Class
ROM:108B6224                 DCD 0x40003            ; field_1C


затем видно что у 1го метода есть только связанный с ним массив байт-кодов, а у 2го - байткод и стек-мапы.
их тоже сохраняем. (классы, на которые ссылаются любые из структур - сохранять не нужно, их и так сохраним в общем порядке)

итак, байт-код 1го метода
Код
ROM:1080D62C Bytecode_ComRococosoftImpronto_Improntoconnection_Init_V_3913 DCB 0x2A, 3, 0xCE, 0, 1, 0x2A, 1, 0xCE, 0, 2, 0xB1


и байт-код и стек-мапы 2го
Код

ROM:1080D638 Bytecode_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113 DCB 0xD8, 0, 1, 0xD6, 0x12, 0xE9, 0x4E, 0x2A, 0x2D, 0x2B
ROM:1080D638                                        ; DATA XREF: ROM:Method_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113o
ROM:1080D638                 DCB 0xD6, 0x12, 0xEA, 0xCE, 0, 0, 0xEB, 0, 0, 0xC7, 0
ROM:1080D638                 DCB 0xD, 0x2A, 0x2D, 0x2B, 0x1C, 0xD6, 0x12, 0xEB, 0xCE
ROM:1080D638                 DCB 0, 0, 0xEE, 8, 0, 0x16, 0xEB, 0, 0, 0xD6, 0x12, 0xEC
ROM:1080D638                 DCB 0x9A, 0, 0xD, 0xDA, 0, 6, 0x59, 0x10, 6, 0xD7, 0, 7
ROM:1080D638                 DCB 0xBF, 0xB1

ROM:10885BE0 StackMap_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113 DCB 0x80
ROM:10885BE0                                        ; DATA XREF: ROM:Method_ComRococosoftImpronto_Improntoconnection_Createlink_Zv_9113o
ROM:10885BE1                 DCB 2
ROM:10885BE2                 DCD 0x200B00
ROM:10885BE6                 DCW 0x37, 0xB00        ; field_0


вот вроде и все, для одного отдельно взятого класса...
все это запизиваем в txt.
далее желательно убить адреса (типа "ROM:10885BE6 ")
и строчки хрефов(; DATA XREF: EXTRAM:Class_ComRococosoftImpronto_Improntoconnection)


да, кстати, обращение к "писателям". если кто сможет сделать утилитку, конвертящую этот набор данных в .class - это сильно поможет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ratmagor
сообщение 21.6.2006, 12:04


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

Группа: Пользователи
Сообщений: 474
Регистрация: 22.11.2005
Из: Мск
Пользователь №: 59 289
Модель телефона: Motorola Moto Maxx
Прошивка: KitKat

Рейтинг: 194.5



Vilko,
Вот спасибо))
Теперь всё вроде понятно. Качаем 12 метровый прикреплённый файл. Будем пробовать)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 21.6.2006, 12:29


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



Vilko, ты описал байткоды и стек-мапы для первых двух методов. А для остальных методов тоже надо?
И ещё немного непонятна фраза
Цитата
их там 12(по 1му параметру), но я тут все писать не буду - громоздко.
- резьве есть ещё переметры?

Vilko, посмотри плз вот это. Это полное описание, или здесь дофига лишнего?
Прикрепленный файл com.rococosoft.impronto.ImprontoConnection.txt   ( 22.78 килобайт ) Кол-во скачиваний: 44
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 21.6.2006, 14:03


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



4ep,
да, вродь все правильно. тока плз еще зачисть адреса и href
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
azt59
сообщение 21.6.2006, 17:28


Мастер
****

Группа: Пользователи
Сообщений: 258
Регистрация: 26.9.2005
Из: Perm
Пользователь №: 52 732
Модель телефона: E398/V3x/C650/Z6
Прошивка: ---

Рейтинг: 140



Dimka071,
Помоему должен справиться любой (ну если голова на месте)...Ведь работа чисто механическая..
-------------

Цитата
да, вродь все правильно. тока плз еще зачисть адреса и href


Vilko,
Могу утилитку такатать чтоб автоматом "Фильтровала" Файлик от адресов и Href'ов..

Сообщение отредактировал azt59 - 21.6.2006, 17:40
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 21.6.2006, 17:46


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



azt59,
мы с ExeBytу сейчас думаем над утилитой на тему это все сразу в class конвертить. и обратно в bin.
тогда редактирование классов станет более гибким.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 21.6.2006, 18:28


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



Vilko, у меня появилось несколько вопросов:
1.меня волнует вот эта красная надпись как на картинке снизу - это плохо, или лбходимо?
2.Иногда всплывает надпись ALIGN 4, её оставлять?
3.Иногда после хрефа встречются строчки типа ; ROM:108F5464o ... . Их наверное тоже удалять?
4.У методов вместе с Байт кодами и Констант пулами есть поле Handlers, его я думаю надо описывать?

Вот описание ещё одного класса, зацени. Остальные классы буду делать так же, кроме исправлений по вопросам которые я задал.

ВСЕМ: Что, большем никто не занимается выдёргиванием классов? Займитесь кто-нибудь классами javax.bluetooth, или классами rococosoft с конца. Я занимаюсь классами rococosoft сначала (как в описании).

Dimka071, можешь помочь. Если до меня дошло, то дойдёт и до других. :)
azt59, было бы круто, а то удалять все адреса очень муторно.
Прикрепленное изображение
Прикрепленный файл com.rococosoft.impronto.ImprontoLocalDeviceEDIT.txt   ( 44.48 килобайт ) Кол-во скачиваний: 44
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-Gangster-
сообщение 21.6.2006, 18:28


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

Группа: Пользователи
Сообщений: 40
Регистрация: 4.5.2006
Пользователь №: 81 851
Модель телефона: Motor e398

Рейтинг: 10



4ep, какой прогой и как делать?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 21.6.2006, 18:34


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



-Gangster-, нужна прога IDA 4.8, а как делать писал Vilko на предыдущих страницах.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-Gangster-
сообщение 21.6.2006, 18:34


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

Группа: Пользователи
Сообщений: 40
Регистрация: 4.5.2006
Пользователь №: 81 851
Модель телефона: Motor e398

Рейтинг: 10



4ep, да и можно сразу ссылку на прогу и на
Цитата(4ep @ Среда, 21 Июня 2006, 21:28)
javax.bluetooth
*

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 21.6.2006, 18:38


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



Ссылку на иду скинул в личку (она весит 42 метра). Насчёт классов читай тему. В начале есть ссылки на файлы, и объяснения.

Vilko, и объясни плз как правильно производить поиск класса, а то я многие не нахожу. :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
azt59
сообщение 21.6.2006, 20:03


Мастер
****

Группа: Пользователи
Сообщений: 258
Регистрация: 26.9.2005
Из: Perm
Пользователь №: 52 732
Модель телефона: E398/V3x/C650/Z6
Прошивка: ---

Рейтинг: 140



4ep,
Жми кнопку G и пиши туда имя ИДА всё сама найдёт
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4ep
сообщение 21.6.2006, 21:28


Гуру
******

Группа: Пользователи
Сообщений: 856
Регистрация: 9.6.2005
Из: Сызрань
Пользователь №: 43 886
Модель телефона: ROKR E2
Прошивка: Калейдоскоп

Рейтинг: 217



azt59, ты возьмёшся за програмку? Мне вручную адреса не удалять?

Выкладываю то что сделал за сегодня. Щас валю спать.
Адреса и хрефы не удалял, так как надеюсь на azt59. Хотя удалял в одном классе com.rococosoft.impronto.ImprontoLocalDeviceEDIT, так же есть этот же класс с адресами.
Пока заготовил 9 штук.
Прикрепленный файл com.rococosoft.impronto.baseband.AclLink.txt   ( 26.16 килобайт ) Кол-во скачиваний: 172
Прикрепленный файл com.rococosoft.impronto.baseband.AclLink_PeerDevice.txt   ( 3.23 килобайт ) Кол-во скачиваний: 90
Прикрепленный файл com.rococosoft.impronto.baseband.LinkKey_.txt   ( 8.94 килобайт ) Кол-во скачиваний: 6
Прикрепленный файл com.rococosoft.impronto.baseband.LinkManager_.txt   ( 11.39 килобайт ) Кол-во скачиваний: 93
Прикрепленный файл com.rococosoft.impronto.bcc.BTSecurityManager.txt   ( 33.17 килобайт ) Кол-во скачиваний: 162
Прикрепленный файл com.rococosoft.impronto.impl.AclLinkImpl_.txt   ( 32.57 килобайт ) Кол-во скачиваний: 7
Прикрепленный файл com.rococosoft.impronto.ImprontoConnection.txt   ( 22.78 килобайт ) Кол-во скачиваний: 262
Прикрепленный файл com.rococosoft.impronto.ImprontoLocalDevice_.txt   ( 75.67 килобайт ) Кол-во скачиваний: 197
Прикрепленный файл com.rococosoft.impronto.ImprontoLocalDevice_DiscoveryModeTimer.txt   ( 7.67 килобайт ) Кол-во скачиваний: 6
Прикрепленный файл com.rococosoft.impronto.ImprontoLocalDeviceEDIT.txt   ( 44.48 килобайт ) Кол-во скачиваний: 129
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Внимание! Делаем Классы Bt От L7 На Е398, Инструкция от Vilko внутри темы · Ломаем и строим! · Forum
 

3 страниц V  1 2 3 > Причина закрытия (Osta 21-07-2006): ждём-с
Закрытая темаСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



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

Форум живёт: