motofan logo
> 

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

Archy
сообщение 20.6.2006, 11:21


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

Группа: Почётные мотофаны
Сообщений: 447
Регистрация: 10.4.2005
Из: Киев
Пользователь №: 40 468
Модель телефона: E1-L6-L7e-U9, iPhone
Прошивка: M-S1.5RC3 L7e_01.0AR

Рейтинг: 516



Привет всем!

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

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

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

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

Сообщение отредактировал blackbox - 6.7.2006, 14:13
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
 
Закрытая темаСоздание новой темы
Ответов
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 - это сильно поможет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
Archy   Внимание! Делаем Классы Bt От L7 На Е398   20.6.2006, 11:21
Vilko   есть idb прошивки L7, в котором расписано дерево ...   20.6.2006, 11:30
GRIDE   Эти классы?... дают нам продвижение к bluetooth...   20.6.2006, 12:40
Vilko   это классы, реализующие jsr82 большая их часть це...   20.6.2006, 12:42
Andy51   Vilko, так, насколько я понял, тебе нужны эти заго...   20.6.2006, 13:01
Vilko   да сами структуры классов просто кладутся на своб...   20.6.2006, 13:07
leskov_artem   Vilko, если это уже проверялось и работает, зачем...   24.6.2006, 19:34
AlexKooper   В результате у нас пойдут ява-проги от L7 без пере...   20.6.2006, 13:13
4ep   А этим же способом можно внедрить классы 3D наприм...   20.6.2006, 13:26
Osta   можно здесь организовать кто какие строки берёт ...   20.6.2006, 13:48
4ep   Если кто напишет мануал - помогу. И классами 3D по...   20.6.2006, 14:15
Vilko   Crimsonman, под него и делается Osta, не можно...   20.6.2006, 14:24
SaniOKh   У меня немного обратный вопрос, нежели у AlexKoope...   20.6.2006, 16:17
Vilko   а при чем тут jsr75? jsr75 это PIM, мы его трогат...   20.6.2006, 16:23
Ism   Немного уточню. То есть требуется взять структуру ...   20.6.2006, 16:39
Vilko   если под структурой подразумевается список в html...   20.6.2006, 16:45
Ism   Vilko, да список из html, имеется ввиду взять отту...   20.6.2006, 16:52
Vilko   поле next всего-лишь образует цепочки. причем пос...   20.6.2006, 16:59
Stalker.mg   Чем открывать файл CG1.idb ?   20.6.2006, 17:26
Ism   Stalker.mg, IDA. http://www.idapro.ru/   20.6.2006, 17:30
azt59   Ну созвать народ то созвали...но нужно организов...   20.6.2006, 19:23
Vilko   azt59, хы, тебе ли не знать, что у меня со времен...   20.6.2006, 19:43
4ep   Чуваки, а чё это такое? Короче скачал я этот CG1 о...   20.6.2006, 20:07
Vilko   4ep, открывает? и ладно. это последствия конверта...   20.6.2006, 20:12
4ep   Vilko, так не открывается. Мне теперь 4.8 качать?   20.6.2006, 20:14
Ratmagor   Vilko, Весь горю желанием помочь, да и время есть...   20.6.2006, 22:27
AlexKooper   имхо надо кому-то один пример сделать с комментари...   21.6.2006, 5:14
Vilko   ок, пример. беру 1й класс из html, это будет com.r...   21.6.2006, 6:40
Ratmagor   Vilko, Вот спасибо)) Теперь всё вроде понятно. Ка...   21.6.2006, 12:04
4ep   Vilko, ты описал байткоды и стек-мапы для первых д...   21.6.2006, 12:29
Vilko   4ep, да, вродь все правильно. тока плз еще зачист...   21.6.2006, 14:03
azt59   Dimka071, Помоему должен справиться любой (ну есл...   21.6.2006, 17:28
Vilko   azt59, мы с ExeBytу сейчас думаем над утилитой на...   21.6.2006, 17:46
4ep   Vilko, у меня появилось несколько вопросов: 1.меня...   21.6.2006, 18:28
-Gangster-   4ep, какой прогой и как делать?   21.6.2006, 18:28
4ep   -Gangster-, нужна прога IDA 4.8, а как делать писа...   21.6.2006, 18:34
-Gangster-   4ep, да и можно сразу ссылку на прогу и на   21.6.2006, 18:34
4ep   Ссылку на иду скинул в личку (она весит 42 метра)....   21.6.2006, 18:38
azt59   4ep, Жми кнопку G и пиши туда имя ИДА всё сама на...   21.6.2006, 20:03
4ep   azt59, ты возьмёшся за програмку? Мне вручную адре...   21.6.2006, 21:28
Vilko   4ep, 1 - нормально. 2 - алигны все оставляй. 3 - ...   22.6.2006, 7:51
4ep   Вот 30 выдернутых классов (29 начальных, и 1 откуд...   22.6.2006, 9:53
SharkExE   AlexKooper, а сколько их всего?   22.6.2006, 13:48
Romчик   AlexKooper, в каком смысле сотню? Классов rococos...   22.6.2006, 14:28
Stalker.mg   Может кто-нибудь выложит весь дисассемблерованый i...   22.6.2006, 14:43
azt59   Вот ловите программку.. Чистит файл от адресов и X...   22.6.2006, 14:49
Crimsonman   Что вы скажите на ето Файло По Вт ...ннн Написал-А...   22.6.2006, 15:17
Dimka071   Бред.   22.6.2006, 15:24
4ep   :blink: Вы чё, я 137 (не точно) классов насчитал. ...   22.6.2006, 17:32
azt59   4ep, Да быть такого не может...Всё тэстил на твои...   22.6.2006, 18:38
Exebyte   Удаление адресов и XRefs делается средствами самог...   22.6.2006, 19:11
Стасецкий   я вам помогу.начну с конца наверно но не знаю когд...   22.6.2006, 19:54
4ep   Вот, выдернул 50 классов. Стасецкий, начни с класс...   22.6.2006, 20:44
Стасецкий   удачи на экзамене. все прогу скачал.седня утром на...   22.6.2006, 20:48
4ep   Стасецкий, там у класса есть поле Const, на него н...   23.6.2006, 2:51
Vilko   это как раз самое главное в яве - натив-код(проце...   23.6.2006, 6:19
Стасецкий   что то я совсем запутался. можетне ту прогу скачал...   23.6.2006, 8:23
4ep   Vilko, а ничего если я не буду удалять эти поля из...   23.6.2006, 9:24
Romчик   Так., сдал сёдня сессию и беру на себя javax.bluet...   23.6.2006, 15:48
4ep   80 классов. Так часто выкладываю на всякий случай....   23.6.2006, 18:54
azt59   4ep, Значит прога ClassCleaner работает....:-) Д...   23.6.2006, 20:28
Romчик   Выкладываю свой скромный вклад в общее дело   24.6.2006, 6:35
-Gangster-   Я сёдня если достану IDA 4.8 тоже буду делать...   24.6.2006, 7:34
4ep   Вот это у нас жарень. Я целый день в иде сидел. Во...   24.6.2006, 12:27
LCF   Народ! Это должно быть справедливо и для други...   24.6.2006, 13:01
4ep   LCF, вытащенные классы должны подходить и для V635...   24.6.2006, 13:24
hobbit19   4ep и Romчик молодцы )) быстро справились дела за...   24.6.2006, 14:35
-Gangster-   Жалко :( Ладно всё ждём когда Vilko сделает...   24.6.2006, 15:07
Vilko   leskov_artem, проверялось просто добавление класс...   24.6.2006, 21:58
Valleo   А я думал что это и так понятно =) 4er, Romчик, ...   25.6.2006, 2:49
Moto_Chip   А как насчёт класов 3д ???   25.6.2006, 6:16
Romчик   Сделаю obex, пускай 4er отдохнёт. Вот, сделал   25.6.2006, 6:59
4ep   Я не 4er :angry: . Вы не первые кто меня путают. Х...   25.6.2006, 7:00
Romчик   4ep, извини за описку. И надо всё-таки дождатся р...   25.6.2006, 7:47
Beaumont   off_topic; Пожалуйста, объясните дураку, что даёт ...   25.6.2006, 8:17
lv333   Дык сейчас нету из джавы передачи по obex. Отлич...   25.6.2006, 8:37
Vilko   4ep, у iTunes очень много натив-кода, и значите...   25.6.2006, 9:14
ApxuBatop   Может это вам поможет... :unsure:   25.6.2006, 9:51
hobbit19   Vilko а насчет переноса классов из е1000 для потде...   25.6.2006, 9:52
кровяк   А в V360 есть ява через блютуз?* а с 3д ето как ?,...   25.6.2006, 10:54
Valleo   В 360 есть блутуз из явы. И вообще что вы заладил...   25.6.2006, 10:58
MOTONekit   Плиз, объясните мне толком, что такое натив классы...   25.6.2006, 11:45
P-E-H-A-T   Вот всей этой очень трудной работой и займется Vi...   25.6.2006, 11:54
Valleo   Натив классы - это классы прошивки, т.е. в которы...   25.6.2006, 12:32
Com   Вот же... ну чего я так поздно сюда заглянул... :(...   25.6.2006, 13:44
Archy   Народ, спасибо! Vilko все обещает свести через...   26.6.2006, 11:14
hobbit19   а как эту проверку сделать?   26.6.2006, 11:22
4ep   Archy, это всмысле надо заменять поле next на друг...   26.6.2006, 12:31
Vilko   4ep, ааа! сразу не обратил внимания - отформа...   26.6.2006, 15:01
4ep   Vilko, только имена? Начальные строки? Всмысле и и...   26.6.2006, 15:05
azt59   4ep, Да только их... а то компилятор ругаться буд...   26.6.2006, 15:16
4ep   Alek(S), симба 1.5 Уже приступил. azt59, доработай...   26.6.2006, 15:23
4ep   Фух, задолбался. Если что ещё надо, доработаю. Щас...   26.6.2006, 16:39
Alek(S)   Ну если так жалко-сам удалю :) (а вообще это по те...   26.6.2006, 17:11
4ep   Vilko, когда скачаешь плз отпишись, нормально, нет...   26.6.2006, 17:13
Romчик   4ep, ну так надо прошу 48-ую дизсасмить для провер...   27.6.2006, 4:03
Vilko   Romчик, 48. - не надо. [all] еще одно упущение: ...   27.6.2006, 6:15
4ep   Vilko, щас посмотрю. А там много? А там у каждого ...   27.6.2006, 7:09
Romчик   Vilko, а ещё все эти jstr_ тоже образуют цепочку п...   27.6.2006, 8:44
2 страниц V  1 2 >

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

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

 



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

Форум живёт: