iphone: strace, dtruss, dtrace или эквивалент? - PullRequest
5 голосов
/ 02 февраля 2012

Кто-нибудь знает, есть ли что-то вроде strace, dtruss или dtrace для iPhone?

tester-iPhone:/tmp root$ apt-cache search dtruss
tester-iPhone:/tmp root$ apt-cache search dtrace
tester-iPhone:/tmp root$ apt-cache search trace
tester-iPhone:/tmp root$ apt-get install strace
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package strace
tester-iPhone:/tmp root$ apt-get install dtrace
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package dtrace
tester-iPhone:/tmp root$ apt-get install ltrace
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package ltrace
tester-iPhone:/tmp root$ apt-get install dtruss
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package dtruss

Ответы [ 3 ]

1 голос
/ 02 июля 2014

Платформа Frida может быть полезной, которая обеспечивает динамическое инструментирование кода с использованием Python API.Он позволяет вставлять фрагменты JavaScript в нативные приложения на iOS (и Windows, Mac, Linux).

Есть хорошее руководство по использованию Frida на iOS .

Также есть Saurik Cycript , который позволяет разработчикам исследовать и модифицировать запущенные приложения налибо iOS, либо Mac OS X с использованием гибридного синтаксиса Objective-C ++ и JavaScript через интерактивную консоль ».

И, конечно же, его Cydia Substrate позволяет изменять / внедрять поведение приложений для iOS.

1 голос
/ 03 марта 2014

DTrace (и, следовательно, dtruss тоже), по-видимому, были портированы на iOS некоторое время назад, но Apple не выпустила его за пределами своих собственных лабораторий. Лучшая ссылка, которую я могу найти - цитата одного из авторов DTrace: https://twitter.com/ahl/status/311866307115098112

0 голосов
/ 01 июня 2019

На реальном взломанном устройстве iOS я использовал frida-trace.

frida-trace -m "+[NSUUID UUID]" -U "Debug CrackMe"    // trace UUID
frida-trace -m "*[ComVendorDebugger* *]" -U -f com.robot.demo.app   // wildcard trace on Classes
frida-trace -i "getaddrinfo" -i "SSLSetSessionOption" -U -f com.robot.demo.app      // trace SSL setup options on iOS
frida-trace -m "-[NSURLRequest initWithURL:]" -U -f funky-chicken.hello-swift-4-2      // trace URLs

Этот инструмент также работает на jailed устройствах. См. frida-gadget.

На iOS-симуляторе я мог dtrace звонить:

sudo dtrace -qn 'syscall::ptrace:entry { printf("%s(%d, %d, %d, %d) from %s\n", probefunc, arg0, arg1, arg2, arg3, execname); }'
Password: // you need sudo


ptrace(31, 0, 0, 0) from debugger_challen
...