Вторая часть исследования iOS-приложений под обфускацией
Почитав блог из предыдущей статьи, я нашел у автора вторую часть этой, на самом деле, крайне полезной статьи.
Вдохновившись анализом и защитой SignPass, автор нашел еще одно приложение, которое было пропущено через тот же обфускатор, но включало в себя намного более строгие проверки в рантайме.
Что мне понравилось, это способ "защиты" от анализа crash-лога приложения, когда оно падает или аварийно завершается при обнаружении Frida или jailbreak. А именно, перед завершением работы обфускатор затирает некоторые регистры, например LR. А в твуом формате iOS-служба для анализа сбоев не может правильно построить стек вызовов функций, которые привели к сбою. Очень занятно, так как из crash-лога можно было бы получить нужную информацию.о том, где происходят проверки.
Как и в первой статье, подробно расписано, как и что автор делал, чтобы найти точки в приложении, где реализована защита, как он ее обходил и как именно это приложение было защищено.
Ну и конечно, в статье много хороших отсылок на другие полезные статьи. Некоторые из них, если вам лень с утра пораньше открывать и читать статью:
- Deobfuscation: recovering an OLLVM-protected program
- Automated Detection of Control-flow Flattening
- D810: A journey into control flow unflattening
В общем, настоятельно рекомендую ознакомиться всем, кто занимается iOS и реверсом, крайне полезная штука.
#ios #reverse #rasp #frida #obfuscation