Skip to content

Snake & Apple: Dylibs

Compare
Choose a tag to compare
@Karmaz95 Karmaz95 released this 17 Jan 12:53
· 110 commits to main since this release

MAJOR

  • Added SnakeIV class!
  • Added MachODylibLoadCommandsFinder
  • Added the ### --- SOURCE CODE --- ### section with the SourceCodeManager class for the C code storage to keep it in one Python file. This class stores only the dylib_hijacking C code and compiles rogue dylib. In the future, the class will store Assembly code and other tricks for injections.

MINOR

  • Added self.file_path as the property for Snakes classes. From now on, it must be initialized for every Snake. So it is now:
def __init__(self, binaries, file_path):
    super().__init__(binaries, file_path)
  • Changed handling any unexpected errors in except Exception as e: in each processor class to print the name for the Snake. For example:
print(f"An error occurred during SnakeI: Mach-O processing: {e}")
  • Added load_commands and endianness properties to Snake class:
self.load_commands = self.getLoadCommands()
self.endianess = self.getEndianess()
  • Added dyld-shared-cache-extractor to the INSTALL section in README.md.
  • Added ipsw to the INSTALL section in README.md.
  • Added --dylib_hijacking and --dylibtree flags to the LIMITATIONS section in README.md.
  • Added some points to the TODO - IDEAS / IMPROVES section in README.md.