Обсуждение Библиотеки Функций
|
|
sim_emrom | Дата: Четверг, 19.06.2008, 16:26 | Сообщение # 1 |
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Модель телефона: Realme 8 Pro
Статус: Offline
| Вот вышла 21ая версия библиотеки для E71. Последние добавленные функции своими названиями обязаны именам функций на языке C из самой прошивки. Как следствие вывод - подобные функции профессионалы легко находят, а дать область поиска могут даже новички (как я). Подобные исследовательские темы не очень популярны на этом форуме, так как нет ответа... И люди уходят в siemens-club.org. Но я считаю, что мы, как полноценный портал о телефонах Siemens, можем претендовать на стезю прошивкокопателей тоже. В этой теме обсуждаем, дополняем библиотеки функций, помогаем, кто чем может.
|
|
| |
sim_emrom | Дата: Четверг, 19.06.2008, 16:26 | Сообщение # 2 |
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Модель телефона: Realme 8 Pro
Статус: Offline
| В этой теме обсуждаем RAM наших телефонов. A8000000, AC000000, AD000000 - вот адреса ОЗУ. В ARM Debugger полноценно доступны только A8X. Вот, сделал дамп оперативки по адресу AD000000 - AD6DC000 (дальше были лишь FF).
|
|
| |
dimonp25 | Дата: Четверг, 19.06.2008, 16:27 | Сообщение # 3 |
Патч-мастер
Имя: Ддимон
С нами с: 07.01.2008
Сообщений: 14
Модель телефона: C81v51
Статус: Offline
| В патче на е\ел71 "показ EDGE иконки в яве" есть одна интересная рамная ф - типа есть Ёж или нету.Но мне посоветовали не рамную добавлять,а обычную(она есть в патче "Добавление иконок в иконбар" на свн от Шадоуса) в либу(EL71v45): патерн: IsEDGE = (P_IsBooleanVoid*) 0xA0D38A6B; //ELKA 9C 48 81 78 01 29+1 Как думаешь стоит добавить её в либу,и тогда можно написать эльф по определению ежа? Раскопки этой ф на NSG пока еще ведутся
портирую ваши патчи под С81&S75
|
|
| |
sim_emrom | Дата: Четверг, 19.06.2008, 16:27 | Сообщение # 4 |
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Модель телефона: Realme 8 Pro
Статус: Offline
| dimonp25, думаю, если это действительно РАМ-переменная подходящая для либы, то стоит её добавить. И на NSG тоже... S75 поддерживает EDGE? Не помню... Но вообще NSG кроме S68 вроде все дружат с ежом. Надо и там добавить, тем более что ты портировал "Добавление иконок в иконбар из эльфов" туда. ИМХО любые подходящие полезные данные из РАМ должны быть в либе.
|
|
| |
rusC60 | Дата: Четверг, 19.06.2008, 16:27 | Сообщение # 5 |
Генерал-лейтенант
Имя: Руслан
С нами с: 09.05.2007
Сообщений: 685
Модель телефона: 2xE71v45+Rover X7
Статус: Offline
| Quote (sim_emrom) И на NSG тоже... S75 поддерживает EDGE? Не помню... Но вообще NSG кроме S68 вроде все дружат с ежом. S75 поддерживает EDGE
S75 sw52, 2хE71 v45, EL71 v45, RoverPC X7, Samsung WiTu, Huawei Ideos X5 Samsung n145
|
|
| |
sim_emrom | Дата: Четверг, 19.06.2008, 16:27 | Сообщение # 6 |
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Модель телефона: Realme 8 Pro
Статус: Offline
| Секция файла devices.ini программы ARM Debugger 0.7.9 © Chaos для E71 (для EL71 должна быть идентична с другим заголовком):Code [BENQ-SIEMENS:E71:45] Name = BenQ-Siemens E71 fw45 BootROMaddress = 0x400000; BootROMsize = 0x100000; FlashAddress = 0xa0000000; FlashSize = 0x10000000; IntRAM1address = 0x0; IntRAM1size = 0x4000; IntRAM2address = 0x80000; IntRAM2size = 0x18000; ExtRAMaddress = 0xa8000000; ExtRAMsize = 0x01000000; IOaddress = 0xf0000000; IOsize = 0x10000000; UseRAM = 0x89000; Pool1Address=0xA8D89000; Pool1Pages = 128; Респект to Miha_r & shadows. Не забудьте сгенерировать и поставить CGSN-патч. Не видал ли кто в РАМ переменной, обозначающей язык ввода? Тогда можно будет переключать язык ввода каким-нибудь эльфом по нажатию горячей комбинации клавиш. Мелочь, а хотелось бы. Возможно я не первый, кто туда нос суёт, но вот моя первая наводка: В E71v45 по адресам от A05AF3E0 встречаются названия функций: BTA_vBtGetLocalSupportedFeaturesReq BTA_vBtGetLmpSleepingStatusReq BTA_vBtGetScanModeReq BTA_vBtGetPageScanActivityReq BTA_vBt PowerLevelMeasurementReq и т.п. BTA - наверняка BlueTooth Adapter. Так что если есть желание сделать его доступным эльфам - go в ту зону... Все указанные названия функций легко можно найти поиском в hex-редакторе в любой ФФ - дальше по адресам найденного идём в ARM Debugger или IDA как более медленный, но очень серъезный вариант.
|
|
| |
_Vadim_ | Дата: Вторник, 24.06.2008, 19:21 | Сообщение # 7 |
Рядовой
Имя: Вадим
С нами с: 15.07.2007
Сообщений: 12
Статус: Offline
| Надеюсь, пишу по теме. На сайте inck.by.ru постоянно обновляется библиотека функций для E71v45. В ней нашел ошибку. Не знал куда написать, поэтому решил здесь. Вот что заметил: в библиотеке так 0930: 0xA0658FA0; 24C: __arm int GetPeripheryState (int device, int check_state); так правильно 0930: 0xA0658FA1; 24C: __arm int GetPeripheryState (int device, int check_state); Если не исправить, то эльф показывающий состояние Bluetooth(забыл название), вызывает пикофф.
Информацию по этим исправлениям нашел на форумах siemens-club.org и allsiemens.ru. Надеюсь эта информация окажется полезной. :)
Motorola C380 => B-S E71 (sw37 => sw42 => sw45 + ElfPack 2.3 + MP14 + Патчи) + 512Mb + KOSS Plug
Сообщение отредактировано _Vadim_ - Среда, 25.06.2008, 17:58 |
|
| |
shadows | Дата: Среда, 25.06.2008, 17:34 | Сообщение # 8 |
Рядовой
Имя: Константин
С нами с: 07.04.2008
Сообщений: 7
Модель телефона: EL71v45
Статус: Offline
| Quote (_Vadim_) Вот что заметил:в библиотеке так00E4: 0xA06B18C0 ; 039: Registry_SetResourcePath(int HMIKeyID, int Prio, WSHDR *Path); так правильно00E4: 0xA06B18C2 ; 039: Registry_SetResourcePath(int HMIKeyID, int Prio, WSHDR *Path);Эту функцию использует эльф WallpaperChanger, если не исправить, то при попытке сменить обоину пикофф за это поставил минус, можно даже не открывая иду сказать, что не верно, запомните не бывает адресов кончающихся на 2,6, A,E. Обясняю популярно функции бывают в арме и тумбе, в арме инструкции занимает 4 баита, соответсвенно адреса кратны 4. в в тумбе инструкция занимает 2 баита, но для вызова к адресу надо прибавлять 1 , поэтому адреса таких функции нечетные в данном случаи адрес функции правильный, а вот насчет второй (24C) все совершенно верно и надо поправить
|
|
| |
Женька | Дата: Среда, 25.06.2008, 19:09 | Сообщение # 9 |
обновитель :)
Имя: см. выше
С нами с: 22.05.2007
Сообщений: 125
Модель телефона: HTC Touch Diamond
Статус: Offline
| Quote (shadows) надо поправить поправил.
Библиотека для Е/EL71 Скоро вернусь...
|
|
| |
g4m3r | Дата: Понедельник, 30.06.2008, 11:08 | Сообщение # 10 |
Полковник
Имя: ИЛЬШАТ
С нами с: 21.08.2007
Сообщений: 246
Модель телефона: E71v45
Статус: Offline
| вот две функции 011C: 0xA05C02BF ; 047: __thumb int HasFlashSMS(); 0124: 0xA066C8E1 ; 049: __thumb int ReadFlashSMS(void); нужны для работы эльфа AutoShowUSSD - авторазворачивание USSD на ГЭ взято отсюда
|
|
| |
sim_emrom | Дата: Четверг, 13.11.2008, 13:34 | Сообщение # 11 |
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Модель телефона: Realme 8 Pro
Статус: Offline
| Копнул патч funMarkus'а и нашёл функцию запуска скринсейвера. На моноблоки и EL71 отличаются паттерны, возможно нужны какие-то параметры, но вроде нет... Всем, кто портировал патч "Моментальный запуск скринсейвера после заблок. клавиатуры": если при блокировке "Просмотр" вместо имени оператора и время не идёт, смените адрес, к которому ведёт оператор BL на следующие: Code RunScreenSaver(??) //thumb E71v45: 0xA0670B83 S68v52: 0xA02D78AB S75v47: 0xA0303837 M81v51: 0xA0304773 EL71v45: 0xA06732B3
Паттерны для функции: NSG+E71: RunScreenSaver() = 00,B5,91,B0,69,46,00,22,??,48+1 EL71 (слайдеры?): RunScreenSaver() = 80,B5,92,B0,69,46,00,22,??,48+1 Неизвестно, нужна ли эта функция в либе и какой займёт номер Впоследствии заменила функцию 020: DrawScreenSaver.
Сообщение отредактировано sim_emrom - Вторник, 19.05.2009, 09:00 |
|
| |
ANDRE | Дата: Четверг, 13.11.2008, 16:02 | Сообщение # 12 |
Лейтенант
Имя: Андрей
С нами с: 05.10.2007
Сообщений: 41
Модель телефона: E71sw45, C75sw22
Статус: Offline
| Кто-нибудь может помочь по функциям для радио? вот несколько fm_state() fmdl_get_current_PLL_freq() fmdl_get_stereo_status() тогда может я напишу эльф
|
|
| |
sim_emrom | Дата: Четверг, 13.11.2008, 16:47 | Сообщение # 13 |
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Модель телефона: Realme 8 Pro
Статус: Offline
| Андрей, тебе надо связаться с visad'ом, он тоже эти функции находил и хотел эльф-радио. Только он, кажется, сказал, что помогать с выяснением параметров никто не может... А я добавлю, что почти у всех крутых эльфописателей-патчеров елка, и радио у них соответственно нет.
|
|
| |
Ganster41 | Дата: Вторник, 19.05.2009, 01:30 | Сообщение # 14 |
Подполковник
Имя: Леха
С нами с: 18.09.2008
Сообщений: 113
Модель телефона: S75v47,E71Av45
Статус: Offline
| В функции Obs_Graphics_SetClipping (0x260) ошибка в адресе как на e71, так и на el71, адрес указывает на конец предыдущей функции, руки бы портерам за такое поотрывать. Я полдня искал у себя ошибку, а оказалось кривая функция. К адресу нужно прибавить 0x04 в обоих случаях.
|
|
| |
sim_emrom | Дата: Вторник, 19.05.2009, 08:53 | Сообщение # 15 |
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Модель телефона: Realme 8 Pro
Статус: Offline
| Ganster41, укажи, пожалуйста, конкретные адреса (а то Smelter и PatSearch по-разному c паттернами работают, да наверно так и так виноваты сами паттерны). Прикол в том, что эти функции были впервые открыты именно на платформе ELKA... И, если можно, для каких эльфов нужна эта функция (любопытно просто).
|
|
| |
Ganster41 | Дата: Вторник, 19.05.2009, 12:42 | Сообщение # 16 |
Подполковник
Имя: Леха
С нами с: 18.09.2008
Сообщений: 113
Модель телефона: S75v47,E71Av45
Статус: Offline
| Для E71v45 правильный адрес 0xA0CCBE54, EL71v45 0xA0CD85F8(елку я лично не проверял, Виктор89 сказал что там такая же ошибка). Достаточно открыть иду и посмотреть что находится по старому адресу, там идет возврат регистров со стека от предыдущей функции. А функцию эту пока никто похоже не использовал, я первый Для чего она мне пока говорить не буду...
|
|
| |
Valrav | Дата: Суббота, 17.10.2009, 01:35 | Сообщение # 17 |
Лейтенант
Имя: александр
С нами с: 15.10.2009
Сообщений: 49
Модель телефона: е71
Статус: Offline
| Ну и на каком этапе после прошивку нужно ставить эту библиотеку? Sim: Да в любое время. Главное, чтобы при установке Master-патча и ElfPack он стоял или ставить это всё вместе.
Сообщение отредактировано sim_emrom - Суббота, 17.10.2009, 12:11 |
|
| |
dimulkin | Дата: Суббота, 17.10.2009, 03:57 | Сообщение # 18 |
Генерал-лейтенант
Имя: Дмитрий
С нами с: 02.07.2007
Сообщений: 752
Модель телефона: EL71v45(eng)+E71v45(eng)
Статус: Offline
| Valrav, сразу после установки эльлоудера ....
Флуд - бессмысленные,с точки зрения здравого смысла модератора, сообщения.
|
|
| |
Danil_e71 | Дата: Среда, 08.12.2010, 17:57 | Сообщение # 19 |
Генерал-майор
Имя: Даниил Корековцев
С нами с: 04.03.2009
Сообщений: 334
Модель телефона: 89601864950
Статус: Offline
| можно бы обновить либы)) для el71sw45 Code 08F4: 0xA0F38775 ; 23D: __arm void MD5_Init(MD5_CTX *c); 08F8: 0xA0F383E5 ; 23E: __arm void MD5_Update(MD5_CTX *c, const void *data, unsigned long len); 08FC: 0xA0F3867D ; 23F: __arm void MD5_Final(unsigned char *md, MD5_CTX *c); 0900: 0xA0F2C961 ; 240: __arm char *MD5_Hash(const unsigned char *data, unsigned long n, unsigned char *md=NULL); 09B8: 0xA0CD1390 ; 26E __arm int Obs_Sound_SetAMRFrmPrBuf(HObj hobj, int nof_frames); 09BC: 0xA0CD1214 ; 26F __arm int Obs_Sound_SetAMRFormat(HObj hobj, int format); 09C0: 0xA0CD1138 ; 270 __arm int Obs_Sound_SetAMRDTX(HObj hobj, int dtx); 09C4: 0xA0CD1050 ; 271 __arm int Obs_Sound_SetNofChannels(HObj hobj, int num_channels); 09C8: 0xA0CD0F78 ; 272 __arm int Obs_Sound_SetAMRMode(HObj hobj, int data_rate); 09CC: 0xA0CD0CB0 ; 273 __arm int Obs_Sound_SetFIsRecording(HObj hobj, int fIsRecording); 09D0: 0xA0CD0B1C ; 274 __arm int Obs_Sound_SetMaxFileSize(HObj hobj, int max_file_size); 09D4: 0xA0CD02BC ; 275 __arm int Obs_Sound_SetRecordingMode(HObj hobj, int RecordingMode); 09D8: 0xA0CD97AC ; 276 __arm int Obs_SetOutput_File (HObj hObj, WSHDR *path); 09DC: 0xA0CDC4D8 ; 277 __arm int Obs_SetOutput_Uid(HObj hObj, int OutUID); 09E0: 0xA0CD1648 ; 278 __arm int Obs_Sound_SetBitrate(HObj hobj, int bitRate); для e71sw45 Code 09B8: 0xA0CC4BEC ; 26E __arm int Obs_Sound_SetAMRFrmPrBuf(HObj hobj, int nof_frames); 09BC: 0xA0CC4A70 ; 26F __arm int Obs_Sound_SetAMRFormat(HObj hobj, int format); 09C0: 0xA0CC4994 ; 270 __arm int Obs_Sound_SetAMRDTX(HObj hobj, int dtx); 09C4: 0xA0CC48AC ; 271 __arm int Obs_Sound_SetNofChannels(HObj hobj, int num_channels); 09C8: 0xA0CC47D4 ; 272 __arm int Obs_Sound_SetAMRMode(HObj hobj, int data_rate); 09CC: 0xA0CC450C ; 273 __arm int Obs_Sound_SetFIsRecording(HObj hobj, int fIsRecording); 09D0: 0xA0CC4378 ; 274 __arm int Obs_Sound_SetMaxFileSize(HObj hobj, int max_file_size); 09D4: 0xA0CC3B18 ; 275 __arm int Obs_Sound_SetRecordingMode(HObj hobj, int RecordingMode); 09D8: 0xA0CCD008 ; 276 __arm int Obs_SetOutput_File (HObj hObj, WSHDR *path); 09DC: 0xA0CCFD34 ; 277 __arm int Obs_SetOutput_Uid(HObj hObj, int OutUID); 09E0: 0xA0CC4EA4 ; 278 __arm int Obs_Sound_SetBitrate(HObj hobj, int bitRate);
|
|
| |
Danil_e71 | Дата: Суббота, 08.12.2012, 03:26 | Сообщение # 20 |
Генерал-майор
Имя: Даниил Корековцев
С нами с: 04.03.2009
Сообщений: 334
Модель телефона: 89601864950
Статус: Offline
| Если кому еще интересно: EL71sw45 Указатель на текущий буфер экрана если выключена камера то указатель на RamScreenBuffer() если включена камера то указатель на Буфер Камеры
|
|
| |