tinycc - My tinycc fork: hopefully, better OSX support, EFI targets, and ???

  •        45

Today this includes some basic build support (CONFIG_OSX) in ./configure and ./Makefile. It also makes the '-run' mode function, allowing tcc to open up libc.dylib. The targets are arm64-win32-tcc and arm64-uefi-tcc. libtcc1 is not built, so this is only useful for standalone code, such as UEFI images.




Related Projects

noeuclid - Non-euclidean GPU Raytraced Game

  •    C

You'll probably want to compile your own copy of TinyCC, you'll need to build tcc 0.9.26. Right now we use GLUT, But we plant to (already have moved?) to SDL.

rEFInd-minimal - A stunningly clean theme for the rEFInd UEFI boot manager.


rEFInd is an easy to use boot manager for UEFI based systems. This is a clean and minimal theme for it. Locate your refind EFI directory. This is commonly /boot/EFI/refind though it will depend on where you mount your ESP and where rEFInd is installed. fdisk -l and mount may help.

OneFileLinux - Live linux distro combined in one ~20MB file. Runs on any UEFI computer.

  •    C

Live linux distro combined in one ~20MB file. Runs on any UEFI computer (PC or Mac) without installation. Just copy one file to EFI system partition and boot. No installation required — no need to create additional paritions. Just copy one file to EFI system partition and add new boot entry to NVRAM.

EFI Dev Kit


EFI Dev Kit (EDK) is a development code base for creating UEFI drivers, applications and firmware images.

the-backdoor-factory - Patch PE, ELF, Mach-O binaries with shellcode (NOT Supported)

  •    Python

For security professionals and researchers only. The goal of BDF is to patch executable binaries with user desired shellcode and continue normal execution of the prepatched state.

optool - Command Line Tool for interacting with MachO binaries on OSX/iOS

  •    Objective-C

optool is a tool which interfaces with MachO binaries in order to insert/remove load commands, strip code signatures, resign, and remove aslr. Below is its help.

rp - rp++ is a full-cpp written tool that aims to find ROP sequences in PE/Elf/Mach-O x86/x64 binaries

  •    C++

rp++ is a full-cpp written tool that aims to find ROP sequences in PE/Elf/Mach-O (doesn't support the FAT binaries) x86/x64 binaries. It is open-source, documented with Doxygen (well, I'm trying to..) and has been tested on several OS: Debian / Windows 7 / FreeBSD / Mac OSX Lion (10.7.3). Moreover, it is x64 compatible. I almost forgot, it handles both Intel and AT&T syntax (beloved BeaEngine). By the way, the tool is a standalone executable ; I will upload static-compiled binaries for each OS. You can build very easily rp++ with CMake, it will generate a project file for your prefered IDE. There are some other things you will be able to do with rp++, like finding hexadecimal values, or strings, etc.

Rufus - Create Bootable USB Flash Drive

  •    C

Rufus is a utility that helps format and create bootable USB flash drives. It can be especially useful for cases where you need to create USB installation media from bootable ISOs (Windows, Linux, UEFI, etc.), you need to flash a BIOS or other firmware from DOS, you need to work on a system that doesn't have an OS installed.

hopper-swift-demangle - A Hopper plugin for demangle Swift symbols

  •    Objective-C

This is a Hopper plugin (not script) written in Swift for demangling Swift symbols. Once you've installed the plugin you should have a new Tool Plugins menu item. There you can see the added Swift demangle commands.

Project mu - Modular adaptation of TianoCore's edk2 tuned for building modern devices using a scalable, maintainable, and reusable pattern.

  •    Python

Project Mu is a modular adaptation of TianoCore's edk2 tuned for building modern devices using a scalable, maintainable, and reusable pattern. Mu is built around the idea that shipping and maintaining a UEFI product is an ongoing collaboration between numerous partners. For too long the industry has built products using a "forking" model combined with copy/paste/rename and with each new product the maintenance burden grows to such a level that updates are near impossible due to cost and risk.

ELILO: EFI Linux Boot Loader

  •    C

ELILO is the EFI linux boot loader for IA-64(IPF), IA-32(x86), and x86_64 EFI-based platforms.


  •    C

Develop EFI applications for IA-64 (IPF), IA-32 (x86) , and x86_64 platforms using the GNU toolchain and the EFI development environment.

EFIgy - A small client application that uses the Duo Labs EFIgy API to inform you about the state of your Macs EFI firmware

  •    Python

EFIgy is a RESTful API and client that helps Apple Mac users determine if they are running the expected EFI firmware version given their Mac hardware and OS build version. This small tool is part of the output from 'The Apple of your EFI' research by Pepijn Bruienne (@bruienne) and Rich Smith (@iodboi) released at Ekoparty #13 on September 29th and discussed in this blogpost and this technical paper.

pe-sieve - Scans a given process

  •    C++

PE-sieve is a light-weight tool that helps to detect malware running on the system, as well as to collect the potentially malicious material for further analysis. Recognizes and dumps variety of implants within the scanned process: replaced/injected PEs, shellcodes, hooks, and other in-memory patches. Detects inline hooks, Process Hollowing, Process Doppelgänging, Reflective DLL Injection, etc.


  •    Jupyter

The EMBER dataset is a collection of features from PE files that serve as a benchmark dataset for researchers. The EMBER2017 dataset contained features from 1.1 million PE files scanned in or before 2017 and the EMBER2018 dataset contains features from 1 million PE files scanned in or before 2018. This repository makes it easy to reproducibly train the benchmark models, extend the provided feature set, or classify new PE files with the benchmark models. The LIEF project is used to extract features from PE files included in the EMBER dataset. Raw features are extracted to JSON format and included in the publicly available dataset. Vectorized features can be produced from these raw features and saved in binary format from which they can be converted to CSV, dataframe, or any other format. This repository makes it easy to generate raw features and/or vectorized features from any PE file. Researchers can implement their own features, or even vectorize the existing features differently from the existing implementations.



yaPEp: Yet another PE Parser yaPEp is a Portable Executable (PE) parsing tool written in C to dump and display PE related information such as exports, imports, debug information, and other PE header information.

Registry Editor PE


Registry Editor PE is a plugin for Bart's PE Builder which allows for easy editing of remote registry hives and user profiles. A user booting from a Bart's PE CD can easily make changes to the Windows registry without having to boot into Windows.

gonzales-pe - CSS parser with support of preprocessors

  •    Javascript

Gonzales PE is a CSS parser which plays nicely with preprocessors. Currently those are supported: SCSS, Sass, LESS. Try out Gonzales PE online: Gonzales PE Playground. The different type of tree nodes can be found in docs/node-types.md.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.