1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dhar-YTTInjectedContentKit

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Сценарий модификации в версии iOS-оболочки: массовое изменение имён классов, атрибутов, внедрение обфускационного кода и переименование проекта с помощью shell-скрипта

Конкретные инструкции по реализации и использованию метода можно найти в моих статьях в блоге:

Реализованные функции

  • RenameClasses.sh — массовое изменение имён классов;
  • RenameProperty.sh — массовое изменение атрибутов классов;
  • injectedContentShell.sh — внедрение обфускационного кода;
  • discardallchanges.sh — возврат к исходному состоянию после модификаций;
  • RenameProject.sh — переименование проекта.

RenameProject.sh находится в каталоге ./DevPods/InjectedContentKit/ZytInjectContentExampleProj/Shell, где ZytInjectContentExampleProj является соответствующим тестовым проектом.
Остальные скрипты расположены в каталоге ./DevPods/InjectedContentKit/Example/injectContentShell, а Example — соответствующий тестовый проект.

Задачи для выполнения

  • RenameDir.sh — скрипт для изменения имён папок;
  • RenameFunction.sh — скрипт для массового изменения имён методов.

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

  • Выполните ./main.sh для массового изменения имён классов и методов;
  • Выполните ./discardallchanges.sh, чтобы вернуться к исходному состоянию;
  • Выполните injectedContentShell.sh, чтобы массово внедрить обфускационный код.

Эти два метода следует использовать вместе, иначе могут возникнуть проблемы, приводящие к некорректному удалению временных файлов.

Файлы и их назначение

Файлы, связанные с обработкой классов

  • GenRenameClasses.sh считывает файлы классов из указанного каталога и генерирует конфигурационный файл RenameClasses.cfg для переименования классов;
  • RenameClasses.cfg — сгенерированный конфигурационный файл для переименованных классов;
  • RenameClasses.sh читает конфигурационный файл RenameClasses.cfg, изменяет имена классов, ссылки на них и индексы в файле pbxproj.

Файлы, связанные с обработкой атрибутов

  • RenameProperties.sh считывает конфигурационный файл RenameProperties.cfg и массово изменяет атрибуты классов в указанном каталоге;
  • RenameProperties.cfg автоматически создаётся и сохраняет имена атрибутов для модификации;
  • DefaultBlackListPropertiesConfig.cfg содержит список свойств, которые не должны быть изменены. Если возникают проблемы при изменении определённых свойств, их можно добавить в этот файл. По умолчанию в него включены свойства системных классов.

Файлы, связанные с внедрением содержимого

  • injectedContentConfig.cfg — конфигурационный файл для внедрения содержимого, каждая строка которого представляет собой внедряемое содержимое. Необходимо самостоятельно добавлять дополнительные конфигурации в этот файл;
  • injectedContentShell.sh — сценарий внедрения содержимого.

Проблемы обслуживания

В настоящее время нет обновлений из-за смены компании. Заинтересованные коллеги могут помочь с поддержкой. Ссылка для приглашения, если она не работает, можно оставить комментарий мне.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сценарий массового изменения имён классов, свойств, внедрения обфускационного кода и модификации имени проекта в контексте версий iOS-оболочек с помощью shell-скрипта. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/dhar-YTTInjectedContentKit.git
git@api.gitlife.ru:oschina-mirror/dhar-YTTInjectedContentKit.git
oschina-mirror
dhar-YTTInjectedContentKit
dhar-YTTInjectedContentKit
master