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

OSCHINA-MIRROR/chenxiancai-STCObfuscator

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

STCObfuscator — это инструмент, используемый для запутывания кода на языке Objective-C. При работе в среде имитации отладки он генерирует запутанные макросы, которые могут быть скомпилированы в других средах. STCObfuscator также поддерживает запутывание кода, использующего Cocoapods.

Как использовать!

Дополнительная информация доступна в блоге: https://blog.csdn.net/cating1314/article/details/80189295.

Если ваш проект поддерживает Cocoapods, вы можете просто добавить его! Pod «STCObfuscator» (обратите внимание: используйте последнюю версию, рекомендуется обновить мастер-репозиторий).

Добавьте следующий код в метод Appdelegate didFinishLaunchingWithOptions:

#import "STCObfuscator.h"

#if (DEBUG == 1) [[STCObfuscator obfuscatorManager] confuseWithRootPath:[NSString stringWithFormat:@"%s", STRING(ROOT_PATH)] resultFilePath:[NSString stringWithFormat:@"/STCDefination.h", [NSString stringWithFormat:@"%s", STRING(ROOT_PATH)]] linkmapPath:[NSString stringWithFormat:@"%s", STRING(LINKMAP_FILE)]]; #endif

Затем выполните следующие шаги настройки:

Шаг 1:

В разделе Build Settings->Preprocessor Macros->DEBUG добавьте переменные среды: LINKMAP_FILE=$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt и ROOT_PATH="${SRCROOT}" (обратите внимание: по возможности не размещайте проект в каталоге с китайскими символами).

Шаг 2:

Включите опцию Write Link Map File в Build Settings, установив значение YES.

Шаг 3:

Добавьте скрипт оболочки в Build Phases:

dir=${SRCROOT}
file_list=`ls -R $dir 2> /dev/null | grep -v '^$'`
for file_name in $file_list
do
temp=`echo $file_name | sed 's/:.*$//g'`
if [ "$file_name" != "$temp" ]; then
cur_dir=$temp
else
if [ ${file_name##*.} = a ]; then
    find -P $dir -name $file_name > tmp.txt
    var=$(cat tmp.txt)
    nm $var > ${file_name}.txt
fi
done

Шаг 4:

Перед прекомпилированными файлами добавьте следующий код: #if (DEBUG != 1) #import "STCDefination.h" #endif

Шаг 5:

Запустите проект в среде отладки с использованием симулятора, чтобы создать запутанные макросы в файле STCDefination.h. Все запутанные символы будут сохранены в файле confuse.json в каталоге проекта. Этот файл можно использовать для обратной деобфускации после отправки отчётов об ошибках.

Шаг 6:

Добавьте файл STCDefination.h из каталога проекта в проект. После добавления нового кода в проект необходимо снова запутать его, предварительно очистив содержимое файла STCDefination.h от любых пробелов и переносов строк, а затем выполнить команду pod update. Затем снова запустите проект в режиме отладки с помощью симулятора.

Шаг 7:

Для реализации запутывания кода в среде RELEASE запустите проект без изменений. Перед запуском в среде RELEASE выполните обратную деобфускацию.

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

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

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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