PDA

Просмотр полной версии : Frida Framework vs Android p.3


Hadariel
30.12.2018, 16:46
Frida Framework vs Android p.1 (https://forum.antichat.xyz/threads/566150/)

Frida, это динамический фреймворк для взаимодействия с бинарными приложениями. Сначала инструмент просто показался мне интересным, чуть позже я понял насколько это веселая вещь. Помните режим бога в играх? Frida позволяет делать тоже самое, только уже с нативными приложениями. В этом посте я...

codeby.net


Frida Framework vs Android p.2 (https://forum.antichat.xyz/threads/566151/)

Пред. Frida Framework vs Android p.1 След. Frida Framework vs Android p.3 Frida and Radare2: r2frida Было бы неплохо, если бы мы могли использовать фрэймворк дизассеблирования, например radare2 для изучения памяти приложения. Здесь появляется r2frida. Вы можете использовать r2frida для...

codeby.net


Финальная часть лекций по Frida Framework

Сперва посмотрим как приложение проверяет наличие root. Прямо над сообщением "Root detected" можно увидеть код:

Код:



if (sg.vantagepoint.a.c.a() || sg.vantagepoint.a.c.b() || sg.vantagepoint.a.c.c())


Если вы перейдете в класс sg.vantagepoint.a.c вы увидите различные проверки на root:

Код:



public static boolean a()
{
String[] a = System.getenv("PATH").split(":");
int i = a.length;
int i0 = 0;
while(true)
{
boolean b = false;
if (i0 >= i)
{
b = false;
}
else
{
if (!new java.io.File(a[i0], "su").exists())
{
i0 = i0 + 1;
continue;
}
b = true;
}
return b;
}
}

public static boolean b()
{
String s = android.os.Build.TAGS;
if (s != null && s.contains((CharSequence)(Object)"test-keys"))
{
return true;
}
return false;
}

public static boolean c()
{
String[] a = new String[7];
a[0] = "/system/app/Superuser.apk";
a[1] = "/system/xbin/daemonsu";
a[2] = "/system/etc/init.d/99SuperSUDaemon";
a[3] = "/system/bin/.ext/.su";
a[4] = "/system/etc/.has_su_daemon";
a[5] = "/system/etc/.installed_su_daemon";
a[6] = "/dev/com.koushikdutta.superuser.daemon/";
int i = a.length;
int i0 = 0;
while(i0 _ | Commands:
/_/ |_| help -> Displays the help system
. . . . object? -> Display information about 'object'
. . . . exit/quit -> Exit
. . . .
. . . . More info at Welcome
Starting script

[USB::Android Emulator 5554::sg.vantagepoint.uncrackable1]-> onClick handler modified
sg.vantagepoint.a.a.a modified
onClick called.
Decrypted: I want to believe


Хорошо. Теперь мы имеем расшифрованную строку I want to believe. Вот и все, она действительно подходит!

Заключение

Я надеюсь, что к этому моменту вы, по крайне мере, немного впечатлены тем, что можете делать с Frida и какие возможности открывает динамическая бинарная иструментация.

Vander
31.12.2018, 00:19
Статья, точнее цикл статей - очень познавательный Оформите пожалуйста код, неудобно читать

gushmazuko
31.12.2018, 00:30
Vander сказал(а):

Статья, точнее цикл статей - очень познавательный Оформите пожалуйста код, неудобно читать


Поддержу, читать жутко не удобно.

Прочитайте Правила оформления статей (https://forum.antichat.xyz/threads/560841/)
Еще могу посоветовать взять пример с: Android + Termux - карманный друг хакера. (https://forum.antichat.xyz/threads/561006/)

never
13.04.2019, 11:00
статьи очень интересные, продолжение будет?( кстати для скрытия рута у фриды в репозитории есть скрипт, как вариант наименьшего сопротивления)

di3mus
05.05.2019, 08:15
Ещё интересное решение этого крэкми (это же статья-перевод всё-таки) предложил Eduardo Novella - Android OWASP crackmes: Write-up UnCrackable Level 1