ID:0
Хочу вам рассказать про одну простую, но показавшуюся мне интересной защиту приложений. Берем какую-нибудь нативную библиотеку с открытыми исходниками, которую будет активно использовать приложение и добавляем в логику ее работы логику нашей защиты. Например можно добавить проверку на модификацию приложения или что-нибудь еще. При срабатывании проверки тихо убиваем процесс. Лучше если это будет происходить не сразу, а через какое-то время, в идеале не фиксированное. Например можно добавить разброс от 1 до 5 минут.
В результате получаем логическую бомбу, которую не так просто обнаружить сходу. Почему? А вот представьте себе большое обфусцированное приложение, в котором есть несколько нативных библиотек (одна из которых "генномодифицированная") при этом само приложение содержит еще несколько защит. Возможно дублирующих (проверка на модификацию приложения).
А с чем интересным сталкивались вы? Делитесь в комментариях.
Если проверка модификации просто на основе хеша подписи, то она обходится поиском подстроки (в том числе и в нативном коде).
Обычно это первая проверка, что приложение после переподписывания работает корректно и можно дальше копать.
Да и SafetyNet вроде есть для подписи, который сильно усложняет в совокупности с редексерами и дексгардами все сильно.