Пишем Android-приложение практически полностью в NDK
Привет любителям прятать строки в .so файлах, что бы их сложнее было найти!
Тут есть крайне занятный пример, как практически полностью написать приложение, используя NDK для того, чтобы усложнить анализ такого приложения, помешать захукать системные вызовы и прочие приколы.
На самом деле, что-то в этом есть, особенно мне понравилась часть про вызов Binder напрямую из нативного кода через reflection, и вызов соответствующих сервисов далее:
Доклад интересен глубиной погружения и способом подачи, то есть после того, как разбирается очередной пример "скрытия" чего-либо, идет небольшой блок демо, как это выглядит в коде, как переписать привычные нам действия с Java на натив. Ну и в конце пара выводов, как еще можно усилить подобное, да и надо ли оно такое вообще?
В общем спорная штука, как доклад вполне, как перенос части вещей для усложнения тоже может быть интересно (ну и защититься немного от перехвата штатными скриптами тоже прикольно в ряде случаев).
В общем, весьма смешанные чувства после просмотра =)
#android #ndk #obfuscation
Привет любителям прятать строки в .so файлах, что бы их сложнее было найти!
Тут есть крайне занятный пример, как практически полностью написать приложение, используя NDK для того, чтобы усложнить анализ такого приложения, помешать захукать системные вызовы и прочие приколы.
На самом деле, что-то в этом есть, особенно мне понравилась часть про вызов Binder напрямую из нативного кода через reflection, и вызов соответствующих сервисов далее:
class.forName("android.os.ServiceManager").getMethod("getService", String.class);
Это тебе уже не просто ключ шифрования в сошку положить, тут поинтереснее. Доклад интересен глубиной погружения и способом подачи, то есть после того, как разбирается очередной пример "скрытия" чего-либо, идет небольшой блок демо, как это выглядит в коде, как переписать привычные нам действия с Java на натив. Ну и в конце пара выводов, как еще можно усилить подобное, да и надо ли оно такое вообще?
В общем спорная штука, как доклад вполне, как перенос части вещей для усложнения тоже может быть интересно (ну и защититься немного от перехвата штатными скриптами тоже прикольно в ряде случаев).
В общем, весьма смешанные чувства после просмотра =)
#android #ndk #obfuscation
YouTube
TROOPERS23: Beyond Java: Obfuscating Android Apps with Purely Native Code
This is a live recording of a talk I gave at TROOPERS23 in Heidelburg, Germany. The presentation explores writing Android applications in purely native code to obfuscate app flow-of-control. It also uses direct communication with the Android Binder to bypass…