Skip to content

fuad00/jb-ios-contacts-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS Contacts CLI

iOS Contacts CLI — это минималистичная утилита командной строки для управления контактами на устройствах с Jailbreak.

Она позволяет массово добавлять номера телефонов или полностью очищать адресную книгу одной командой через SSH или терминал на устройстве. Программа написана на Objective-C и использует приватные entitlements для обхода защиты TCC (запросов на доступ к контактам).

🚀 Возможности

  • Массовый импорт: Добавление списка номеров одной командой (аргументами).
  • Полная очистка: Мгновенное удаление всех контактов из адресной книги.
  • Обход TCC: Работает без всплывающих окон "Разрешить доступ к контактам" (благодаря ent.xml).
  • Скорость: Использует нативный Contacts.framework, обрабатывает 50+ контактов за доли секунды.
  • Без зависимостей: Не требует Python, Cycript или сторонних библиотек. Только скомпилированный бинарник.

🛠 Требования

  • iOS Device с Jailbreak (протестировано на iOS 14, 15, 16 Rootless/Rootful).
  • Установленные инструменты разработчика (для сборки):
    • clang (компилятор)
    • ldid (или ldid-procursus для подписи)
    • make (опционально, для удобства)

Установка зависимостей (Sileo / Apt):

sudo apt update
sudo apt install clang ldid make

📦 Сборка

В репозитории включен Makefile для автоматической компиляции и подписи.

  1. Скачайте файлы на устройство (или склонируйте репозиторий).
  2. Выполните команду:
    make
  3. Готово! Бинарный файл contacts создан и подписан.

Если нужно пересобрать: make rebuild

💻 Использование

Импорт контактов

Используйте флаг -i и перечислите номера через пробел. Имена контактов генерируются автоматически (например, Bot User 1234).

./contacts -i +79001112233 +79004445566 +15550199

Вывод: Saving 3 contacts... SUCCESS: Contacts imported.

Удаление всех контактов

Используйте флаг -d. Внимание: действие необратимо.

./contacts -d

Вывод: Found 52 contacts. Deleting... SUCCESS: All contacts deleted.

Использование в скриптах (Bash)

Пример добавления диапазона номеров через цикл:

#!/bin/bash
# Генерация строки аргументов
NUMBERS=""
for i in {10..50}; do
    NUMBERS="$NUMBERS +799900000$i"
done

# Массовый импорт
./contacts -i $NUMBERS

⚠️ Возможные ошибки

Error: Communication Error (Code 500)

  • Причина: У бинарника нет прав доступа к демону контактов.
  • Решение: Убедитесь, что файл ent.xml находится в папке при сборке. Если вы перемещали бинарник, переподпишите его:
    ldid -Sent.xml contacts
    Иногда помогает сброс прав TCC: tccutil reset AddressBook.

zsh: killed (Killed: 9)

  • Причина: Бинарник не подписан или подпись невалидна для вашей версии iOS.
  • Решение: Установите ldid (или ldid-procursus) и выполните make.

📄 Структура проекта

  • contacts.m — Исходный код (Objective-C).
  • ent.xml — Файл прав (Entitlements) для доступа к kTCCServiceAddressBook.
  • Makefile — Скрипт сборки.

⚖️ Лицензия

Используйте на свой страх и риск. Автор не несет ответственности за потерянные данные адресной книги. Делайте бэкапы!

About

CLI-утилита для Jailbroken iOS устройств, которая позволяет массово импортировать и удалять контакты через терминал, обходя ограничения TCC.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors