В этом репозитории вы найдете инструменты, которые мы разработали во время нашего исследования, чтобы помочь нам реверс -инженера, а также использовать реализацию Samsung Trustzone, которая основана на надежной ОС, называемой Kinibi.
В bindings/ папке вы найдете привязки Python для библиотеки libMcClient.so , которая используется для связи с доверенными приложениями и безопасными драйверами. Они были разработаны, потому что нам было легче писать наши подвиги в Python, и они оказались особенно полезными для упражнений, выполненных во время наших тренировок.
В emulator/ папке вы найдете сценарий Python, который использует двигатель Unicorn для эмуляции доверия. Этот инструмент в основном использовался для тестирования наших эксплойтов, поскольку он может распечатать выполненные инструкции, значения регистрации и содержимое стека.
В fuzzer/ папке вы найдете сценарий Python, который использует проект afl-unicorn для Fuzz TrustLets. Это в значительной степени основано на эмуляторе. Вам нужно будет реализовать больше TLAPIS/DRAPI, если вы намереваетесь сделать серьезную пузырь.
В scripts/ папке вы найдете различные вещи:
mclf_loader , загрузчик для двоичных файлов Trustlet с использованием формата файла MCLFtbase_loader , загрузчик, который извлекает различные компоненты изображения Sbootfind_symbols , сценарий, который находит и переименовает различные заглушки Tlapis/Drapis в доверияхfind_symbols_mclib , сценарий, который находит и переименовает различные функции Tlapis/Drapis в MclibСценарии доступны как для IDA Pro, так и для Ghidra, так как мы хотели, чтобы наши стажеры могли использовать бесплатный SRE.
В папке tainting/ сценарием Python использует Manticore для поиска уязвимостей в доверия, используя символическое исполнение. Это был всего лишь эксперимент, поэтому сценарий действительно простой.