There are no reviews yet. Be the first to send feedback to the community and the maintainers!
________ \_____ \ ____ ___.__.___ ___ / | \ / < | |\ \/ / / | \ | \___ | > < \_______ /___| / ____|/__/\_ \ \/ \/\/ \/ The Black Cat Copyright (c) fG!, 2011, 2012, 2013, 2014 - [email protected] - http://reverse.put.as All rights reserved. Introduction ------------------------------------------------------------------------------- A kernel module for Intel Mac OS X that will provide you with some anti anti-debug protection and other features. This module will allow you to debug programs which use these tricks without need to patch them (no need to patch lots of anti-debug calls and maybe checksum code). Compatible with all OS X versions since Snow Leopard (older probably supported!). Mavericks introduces kernel extension code signing but this still works if you load it manually. Features can be enabled or disabled using the control program. By default everything is disabled. This util requires root privileges to run. If you want to run it as normal user you can remove CTL_FLAG_PRIVILEGED from kernel_control.c source file. This code uses diStorm as its disassembler. Due to licensing differences its files are not included. You can download diStorm from: http://code.google.com/p/distorm/ and include the missing files. The only required change is to define SUPPORT_64BIT_OFFSET. You can do it either at diStorm's config.h file or at Xcode project settings. Included are small test programs to test the anti-debug tricks, and other features. The weird name is based on a big black cat named Onyx who is always hiding and running from me :). "I'm gonna hug you and kiss you and love you forever (and never use you up)" Elmyra Fudd. R.I.P. Onyx 2005 - 03/04/2023. I hope it's useful for you. It is for me. If you find/know any other gdb anti-debug tricks, please drop me an email with some details so I can add them to the module. Have fun. fG! Installation ------------------------------------------------------------------------------- Copy onyx-the-black-cat.kext to /System/Library/Extensions (sudo cp -rf onyx-the-black-cat.kext /System/Library/Extensions) and then load the module with kextload (sudo kextload /System/Library/Extensions/onyx-the-black-cat.kext) Unload module with kextunload (sudo kextunload /System/Library/Extensions/onyx-the-black-cat.kext) Use the control program to enable/disable features. Everything is disabled by default. You can check dmesg or /var/log/system.log for debug messages and anti-debug hits. Known Problems ------------------------------------------------------------------------------- Still some ugly code :-)
MachOView
MachOView forkGdbinit
Gdbinit for OS X, iOS and others - x86, x86_64 and ARMlldbinit
A gdbinit clone for LLDBfirmware_vault
A repo for all Apple EFI firmware filesreadmem
A small OS X/iOS userland util to dump processes memoryrootfool
A small tool to dynamically disable and enable SIP in El CapitanEFISwissKnife
An IDA plugin to improve (U)EFI reversingHexRaysDeob
Hex-Rays OLLVM Deobfuscator and MicroCode Explorerhydra
A kernel extension and userland daemon to patch applicationsotool-ng
Some improvements to Apple's otool.gopher
A OS X crypto ransomware PoCmach_race
Exploit code for CVE-2016-1757efi_dxe_emulator
EFI DXE Emulator and Interactive Debuggerpydbg64
PyDBG64 - OS X PyDbg with 64 bits supportosx_boubou
A PoC Mach-O infector via library injectionmpress_dumper
MPRESS dumper for OS Xgimmedebugah
A small utility to inject a Info.plist into binaries.gdb-ng
Apple's gdb fork with some fixes and enhancementsExtractMachO
IDA plugin to extract Mach-O binaries located in the disassembly or dataGatekeerper
A kernel extension to mitigate Gatekeeper bypasseskextstat_aslr
Implementation of kexstat via /dev/kmem with kernel ASLR supportcan_I_suid
A TrustedBSD module to control execution of binaries with suid bit setcrackme_nr1
fG!'s crackme #1 source codebruteforcesysent
Small util to discover OS X sysent via bruteforcetcplognke
Apple's tcplognke code sampleTELoader
A TE executable format loader for IDAunicorn_string_deobfuscator
A Unicorn based emulator to deobfuscate Equation Group string XOR obfuscationmario
The kernel component of rootpipe fix for Mavericksadium-ng-preview
Repo to dump some preview info and builds for adium-ngMicrocodeExplorer
Hex-Rays MicrocodeExplorerreadkmem
small utility to dump kernel memoryrex_versus_the_romans
Anti Hacking Team TrustedBSD modulereadphysmem
A small utility to read and write to Macs physical memory using default AppleHWAccess.kext.llvmpatches
Misc llvm patcheshello_santa_bye_santa
Bypass Google's Santafixobjc
IDA IDC script to improve Objective-C disassembly outputcheckidt
Small util to dump the IDT table of a running OS X system with kmem enabledarmorysandbox
A USB armory based USB sandboxMachOPlugin
IDA plugin to Display Mach-O headersicetheguardianv2
A TrustedBSD module PoC to monitor writes to Daemons and Agents foldersdiagnostic_service
OS X rootkit loader version #1kgmacros
Fixed kgmacros to work with VMware kernel gdb stubExtractMacho2
IDA plugin to extract Mach-O binaries located in the disassembly or datasyscall-benchmark
macOS syscall performance benchmarkav-monster
PoC kext to disable OS X anti-virus softwareluigi
The userland component of rootpipe fix for Maverickscarbon_copy_cloner_keychaingen
A keygen for Carbon Copy Cloner private keychainCrisis-Analysis-Tools
Scripts and other material related to OS.X/Crisis malware analysisdiagnostic_service2
OS X rootkit loader version #2calcspace
Small util to calculate available free space in mach-o binaries for code injectionidc-scripts
Random collection of IDA's IDC scriptsDisable-m3u
iTunes plugin to disable creation of m3u playlistsrexthewonderdog
A lazy PoC for implementing backdoors in OS X TrustedBSD Mac framework.fuckyouilfak
A IDA Pro 9.0 Beta 2 macOS x86 Fix Loaderdelambert
GreenLambert macOS IDA plugin to deobfuscate stringsGiveMeHex
A quick IDA hack to get addresses with 0x prefixtwitterwipe
A Go utillty to delete your Twitter historyhow_crap_is_ida
An IDA plugin to compare IDA detected functions output versus LC_FUNCTION_STARTS informationevilquest_stats
Small utility to hash EvilQuest code and cstrings sectionskeygen_CrackMe_nr1_qwertyoruiop
Keygen for qwertyoruiop's CrackMe nr1spiflash
Very fast reader for SPI flashes for Teensy 2.x.bpf_dbg_output
Small tool to convert bpf binary bytecode to bpf_dbg formatevilquest_deobfuscator
EvilQuest/ThiefQuest malware strings decrypter/deobfuscatoricetheguardian
A PoC to protect critical OS X files using TrustedBSD Mac framework.SMBIOSKeygen
macserial and GenSMBIOS merged and ported to Goyage
An age fork with internal Yubikeys supportsnake_queue_parser
A decryptor for Snake/Turla configuration filesMach-O-Lib
Library to access and manipulate Mach-O headersmacserial
macserial Go moduleLove Open Source and this site? Check out how you can help us