
Неофициальное расширение frida для VSCode
Репозиторий | Проблемы | Установить
Это проект, созданный сообществом, и он не связан с официальной командой Frida. Он разрабатывается и поддерживается @CodeColorist как расширение с открытым исходным кодом для Visual Studio Code, улучшающее опыт написания скриптов на Frida.
inetcat для запуска SSH-оболочки)Если вы работаете в Windows, вам нужно держать iTunes открытым, чтобы взаимодействовать с устройствами iOS через USB.
Из-за PEP0668 вы можете столкнуться с ошибкой при глобальном запуске pip3 install frida-tools.
Рекомендуемый способ — открыть папку (рабочую область) в VSCode, затем создать и активировать виртуальное окружение с помощью расширения Python. В этом случае расширение будет использовать ваше текущее активное виртуальное окружение Python для загрузки команд frida.
В качестве альтернативы вы можете использовать менеджер пакетов, такой как pipx или UV, чтобы установить его в $PATH, сохраняя изоляцию.

Отображает список приложений и процессов на подключённых устройствах на боковой панели. Щёлкните правой кнопкой мыши, чтобы подключиться, подключиться с повышенными привилегиями для локальных целей, запустить, запустить в приостановленном режиме, завершить процессы или скопировать информацию об устройстве/процессе в буфер обмена. Поддерживаются локальные устройства, Apple Simulator, USB и удалённые устройства. Записи локальных процессов включают по возможности метаданные, такие как путь к исполняемому файлу, владелец, родительский PID и аргументы.
Просматривайте загруженные нативные модули и их экспортируемые функции для любого подключённого процесса. Фильтруйте модули по имени, просматривайте базовый адрес, размер и путь, затем выбирайте экспорты для генерации хуков.
Исследуйте классы и методы среды выполнения как для Java, так и для Objective-C. Фильтруйте классы, переключайтесь между собственными и унаследованными методами и выбирайте методы пакетно для генерации хуков. Также включает инспекцию протоколов Objective-C для просмотра и анализа протоколов.
Выгружайте заголовки классов для обратной разработки:
Генерируйте код хуков Frida из панелей Modules и Classes:
Interceptor.attach() с обратными вызовами onEnter / onLeave для экспортируемых функцийJava.perform() / Java.use() с поддержкой перегрузки методовКонтекстно-зависимые автодополнения для скриптов Frida на JavaScript / TypeScript:
ObjC.classes.<ClassName> — дополняет имена классов Objective-CObjC.classes.Foo['<method>'] — дополняет селекторы методовObjC.classes.Foo.method — дополняет селекторы методов классаJava.use('<ClassName>') — дополняет имена классов JavaProcess.getModuleByName('<name>') — дополняет имена загруженных модулейЯзыковой сервер зависит от контекста целевого процесса. Вам нужно создать файл конфигурации .vscode/frida.json в вашей рабочей области. Проще всего щёлкнуть правой кнопкой мыши по процессу или приложению на боковой панели и выбрать Set LSP Target, что автоматически создаст файл.
.vscode/frida.jsonФайл указывает, к какому устройству и цели должен подключаться LSP. Он требует поля device и ровно одного из полей app, pid или process.
Подключение по идентификатору приложения (рекомендуется — запускает или подключается к приложению):
{
"device": "local",
"app": "com.example.myapp"
}
Подключение по имени процесса:
{
"device": "local",
"process": "myprocess"
}
Подключение по PID (полезно, когда несколько процессов имеют одинаковое имя):
{
"device": "local",
"pid": 1234
}
Значение device соответствует идентификатору устройства Frida — local для хост-машины, идентификатор Simulator или USB-устройства, либо строка host:port для удалённых устройств.
LSP отслеживает изменения этого файла. Редактирование или повторное создание файла автоматически перезапускает языковой сервер с новой целью.
Потоковая передача логов приложения в реальном времени от подключённых процессов.
Генерируйте launch.json и tasks.json для VSCode для отладки скриптов Frida с точками останова.
Для устройств Android Open Shell — это обёртка для adb shell.
Для iOS она предоставляет SSH-оболочку на устройствах с джейлбрейком. Может потребоваться настройка учётных данных.
Подключайтесь к удалённым устройствам Frida через host:port прямо с боковой панели.