Выпуск ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ динамичСской трассировки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Frida 12.10

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ динамичСской трассировки ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Frida 12.10, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ Greasemonkey для Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎ врСмя Π΅Ρ‘ выполнСния Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Greasemonkey Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ web-страниц. Врассировка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ поддСрТиваСтся Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Linux, Windows, macOS, Android, iOS ΠΈ QNX. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ свободной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ wxWindows Library Licence (Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ LGPL, Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° условия распространСния Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… сборок ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚).

По Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ Frida Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ DTrace Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½ΠΎ для написания скриптов для трассировки ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ статистики выполнСния прилоТСния примСняСтся язык JavaScript. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ памяти процСсса, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ функциям ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· JavaScript-ΠΊΠΎΠ΄Π°. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Frida написаны с использованиСм языков Π‘ΠΈ ΠΈ Vala. Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JavaScript примСняСтся Π΄Π²ΠΈΠΆΠΎΠΊ V8. Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ обвязки Π½Π°Π΄ API Frida для Node.js, Python, Swift, .NET, Qt/Qml ΠΈ C.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС сущСствСнно Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности ΠΏΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, трассировкС ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Ρƒ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ — Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ frida-java-bridge Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HotSpot JVM, которая позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ прослойку Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Android, Π½ΠΎ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… JDK. Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ frida-trace Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° трассировка ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Java. Для опрСдСлСния выполнСния Java-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ критСриям, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ API Java.enumerateMethods(query). Запросы для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ «class!method». Из Π½Π΅ связанных с Java ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ отмСчаСтся ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ 32-разрядных систСм ARM Π² Π΄Π²ΠΈΠΆΠΊΠ΅ трассировки Stalker ΠΈ рСализация Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π΄ΠΎ пяти Ρ€Π°Π· ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Stalker.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ