2024-01-02 22:02:39 +01:00
2024-02-04 19:39:27 +01:00
2025-01-30 12:20:13 +01:00
2024-02-03 09:24:09 +01:00
2024-11-15 17:43:05 +01:00
2024-04-08 20:48:22 +02:00
2024-06-07 19:59:50 +02:00
2024-06-27 15:53:24 +02:00
2024-12-26 17:36:13 +01:00
2024-02-04 19:39:27 +01:00
2024-09-19 16:57:19 +02:00
2023-12-23 20:56:10 +01:00

Snake & Apple

alt The code repository for the Snake&Apple article series, which documents my research about macOS security.

PATRONS

AFine

ARTICLES

THE LINKS BELOW PROVIDE FREE ACCESS TO MY MEDIUM ARTICLES — NO PAYWALL OR SUBSCRIPTION REQUIRED!

Each article directory contains three subdirectories:

  • mac - source code of macOS for references and copy of presentations.
  • custom - code, for example, programs written for articles.
  • python - contains the latest CrimsonUroboros and other Python scripts created during research.

The short introduction is written in Snake&Apple Intro
The tags for each article are in the Article_tags.md.
The table of contents showing links to all articles is below:

CrimsonUroboros

The main tool created during the writing of the Snake & Apple series is called CrimsonUroboros.
Its description along with instructions for other tools from this repository are in Tools.md.

WHY UROBOROS?

I wrote the code for each article as a class, SnakeX, where X was the article number, to make it easier for the audience to follow.
Each Snake class is a child of the previous one and infinitely "eats itself" (inherits methods of the last class), like Uroboros.

INSTALLATION

pip3 install -r requirements.txt
wget https://github.com/CRKatri/trustcache/releases/download/v2.0/trustcache_macos_arm64 -O /usr/local/bin/trustcache
chmod +x /usr/local/bin/trustcache
xattr -d com.apple.quarantine /usr/local/bin/trustcache
brew install keith/formulae/dyld-shared-cache-extractor
brew install blacktop/tap/ipsw
brew install tree

LIMITATIONS

  • Codesigning module(codesign wrapper) works only on macOS.
  • --dylib_hijacking needs ipsw to be installed.
  • --dylibtree needs the dyld-shared-cache-extractor to be installed.

CONTRIBUTE

In case of any questions or ideas for improvements, please open a new issue to discuss.
For any changes related to the tools codebase:

  • Fork the repository.
  • Create a dedicated branch for your changes.
  • Make your modifications or additions.
  • Open a pull request describing your changes.
  • I will review and merge if everything looks good.
Languages
Python 49.4%
C 29.1%
C++ 20%
Shell 1.1%
Objective-C 0.2%
Other 0.1%