0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 5
|
|
1 | |
Вызов системной JNI-функции из своего приложения27.08.2015, 21:44. Показов 845. Ответов 8
Метки нет (Все метки)
Имеется Highscreen ICE 2, у которого есть второй дисплей на задней панели(OLED).
Хочу получить доступ к рисованию на этом экране. В результате декомпиляции стоковой прошивки выяснил, что для рисования система использует службу OledService, в которой есть только прототипы нужных функций на java, а сами функции объявлены через JNI на си в system\lib\libandroid_servers.so. Названия функций:
0
|
27.08.2015, 21:44 | |
Ответы с готовыми решениями:
8
Вызов permission своего приложения Qt и JNI вызов java класса Qt android JNI - Вызов галереи Вызов C++ dll без использования JNI |
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
28.08.2015, 01:44 | 2 |
Я не понял, вы декомпилировали программу на С/С++? (уж очень вторая картинка на дезасемблер похожа - для меня это важно). Или это декомпил явы?
По с/с++ сильно не помогу, но почитайте про основы NDK. Там в статьях есть примеры подключения вашей либы к проекту и работу с ней. Может это поможет: http://habrahabr.ru/company/re... og/265117/ Там вроде тоже основы подключения увидел...
0
|
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 5
|
|
28.08.2015, 11:44 [ТС] | 3 |
на первом скриншоте кусок из декомпилированного services.jar, на втором скрине часть дизассемблинга libandroid_servers.so, в которой происходит регистрация JNI функций для java.
сами функции(на си которые), как я понял, просто открывают /dev/OLED и пишут в него массив, попробую копать в эту сторону еще
0
|
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 5
|
|
28.08.2015, 13:15 [ТС] | 4 |
пробовал писать в "/dev/OLED" - не вышло, нет доступа.
через System.loadLibrary("android_servers") тоже не получается обращаться к native функциям, ведь они же регистрируются только для класса "com/android/server/OledService"?
0
|
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 5
|
||||||
28.08.2015, 13:31 [ТС] | 5 | |||||
Регистрация происходит примерно таким кодом(получил код на основе другой службы у которой есть исходный код на c++):
0
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
29.08.2015, 00:25 | 6 |
Извини что не по теме, но каким инструментом подобное делается?
Не по теме: Пытаюсь лицензионную защиту своей программы через ключи встроить на уровне С++ и не хотелось бы чтобы получасовое изучение кодов через дизасемблер позволило бы написать свой генератор ключей. Хочу просмотреть свою-же программу через дизасемблер
0
|
Mobile Software Engineer
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
|
|
29.08.2015, 08:15 | 7 |
XTracer, код выкладывается на форум в виде текста, оформленного соответствующим тэгом, а не в виде картинок
0
|
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 5
|
|
29.08.2015, 10:08 [ТС] | 8 |
Tester64, это IDA PRO
Ev[G]eN, как мне изменить скрины на код? кнопки Правка уже нет
0
|
Mobile Software Engineer
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
|
|
29.08.2015, 16:00 | 9 |
XTracer, вставляйте код в новое сообщение, я перенесу. на будущее имейте ввиду
0
|
29.08.2015, 16:00 | |
29.08.2015, 16:00 | |
Помогаю со студенческими работами здесь
9
Вызов функции из COM+ приложения Вызов функции из памяти другого приложения Вызов функции после создания окна приложения Вызов функции при закрытии консольного приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |