winfsp - Windows File System Proxy - FUSE for Windows

  •        712

WinFsp is a set of software components for Windows computers that allows the creation of user mode file systems. In this sense it is similar to FUSE (Filesystem in Userspace), which provides the same functionality on UNIX-like computers. WinFsp is very stable. There are no known kernel mode crashes and it does not suffer from resource leaks or similar problems. WinFsp owes this stability to its Design and its rigorous Testing Regime.

http://www.secfs.net/winfsp/
https://github.com/billziss-gh/winfsp

Tags
Implementation
License
Platform

   




Related Projects

libfuse - The reference implementation of the Linux FUSE (Filesystem in Userspace) interface

  •    C

FUSE (Filesystem in Userspace) is an interface for userspace programs to export a filesystem to the Linux kernel. The FUSE project consists of two components: the fuse kernel module (maintained in the regular kernel repositories) and the libfuse userspace library (maintained in this repository). libfuse provides the reference implementation for communicating with the FUSE kernel module. A FUSE file system is typically implemented as a standalone application that links with libfuse. libfuse provides functions to mount the file system, unmount it, read requests from the kernel, and send responses back. libfuse offers two APIs: a "high-level", synchronous API, and a "low-level" asynchronous API. In both cases, incoming requests from the kernel are passed to the main program using callbacks. When using the high-level API, the callbacks may work with file names and paths instead of inodes, and processing of a request finishes when the callback function returns. When using the low-level API, the callbacks must work with inodes and responses must be sent explicitly using a separate set of API functions.

exfat-nofuse - Android ARM Linux non-fuse read/write kernel driver for exFat and VFat Android file systems

  •    C

Linux non-fuse read/write kernel driver for the exFAT, FAT12, FAT16 and vfat (FAT32) file systems. Originally ported from Android kernel v3.0. Let's take [linux] as the path to your kernel source dir...

encfs - EncFS: an Encrypted Filesystem for FUSE.

  •    C++

EncFS provides an encrypted filesystem in user-space. It runs in userspace, using the FUSE library for the filesystem interface. EncFS is open source software, licensed under the LGPL. EncFS is now over 15 years old (first release in 2003). It was written because older NFS and kernel-based encrypted filesystems such as CFS had not kept pace with Linux development. When FUSE became available, I wrote a CFS replacement for my own use and released the first version to Open Source in 2003.

winspd - Windows Storage Proxy Driver - User mode disk storage

  •    C

WinSpd enables the creation of storage units ("SCSI disks") in user mode (i.e. without writing any kernel mode code). Such storage units are created and served by user mode storage devices (i.e. user mode processes) and are added to the Windows OS storage stack. They appear to Windows as real disks that can be formatted and accessed via a file system such as NTFS. A user mode storage device is a user mode process that can create and serve storage units. As storage unit is a SCSI "direct-access block device" (as per the definition in the SCSI SBC standard) or more commonly referred to as a "SCSI disk". It is used to store data in logical blocks; each block contains the same amount of data (the Block Length) and has a Logical Block Address (LBA), which is a 64-bit number in a single contiguous address space. In particular WinSpd (and the SCSI standard) do not assume the traditional geometry of cylinder-head-sector (CHS) for how blocks are laid out.

FUSE filesystem using MySQL as a storage

  •    C

MySQLfs is Linux userspace filesystem which stores data in a MySQL database. It uses FUSE to interface with the kernel.


KdExploitMe - A kernel driver to practice writing exploits against, as well as some example exploits using public techniques

  •    C++

A kernel driver to practice writing exploits against, as well as some example exploits using public techniques. The intent of this driver is to educate security testers on how memory corruption issues in Windows kernel drivers can be exploited. Knowing how to exploit security issues allows security testers to prove that bugs are exploitable which can be used to convince developers to fix bugs. While these techniques can be used for evil, I have written this driver in the hopes that you will use this knowledge for good.

wdbgark - WinDBG Anti-RootKit Extension

  •    C++

WDBGARK is an extension (dynamic library) for the Microsoft Debugging Tools for Windows. It main purpose is to view and analyze anomalies in Windows kernel using kernel debugger. It is possible to view various system callbacks, system tables, object types and so on. For more user-friendly view extension uses DML. For the most of commands kernel-mode connection is required. Feel free to use extension with live kernel-mode debugging or with kernel-mode crash dump analysis (some commands will not work). Public symbols are required, so use them, force to reload them, ignore checksum problems, prepare them before analysis and you'll be happy. Windows BETA/RC is supported by design, but read a few notes. First, i don't care about checked builds. Second, i don't care if you don't have symbols (public or private). IA64/ARM is unsupported (and will not).

Fatsec Security Driver

  •    C

Emulate filesystem security on Windows 9x systems with FAT16/32 filesystems. Files, directories, and drives can be assigned read/write/execute permissions which are enforced by a kernel-mode driver. Configuration file is locked while the driver is loaded

simplefs - A simple, kernel-space, on-disk filesystem from the scratch

  •    C

A simple, kernel-space, on-disk filesystem from the scratch

rtl8723bs - Realtek SDIO Wi-Fi driver

  •    Objective-C

It was then tidied up and had huge chunks of unused code removed by a number of contributors (see the git history for details), and eventually merged into the kernel staging tree in time for kernel 4.12-rc1. This repository contains the history of the driver cleanup, which is not available in the upstream-merged driver. Compiling or running the driver on older kernels is not supported, please ask your distribution to provide updated kernel packages.

fuse - FUSE library for Go.  go get bazil.org/fuse  

  •    Go

bazil.org/fuse is a Go library for writing FUSE userspace filesystems. It is a from-scratch implementation of the kernel-userspace communication protocol, and does not use the C library from the project called FUSE. bazil.org/fuse embraces Go fully for safety and ease of programming.

Linux Driver Tracing Interface

  •    C

The Linux Driver Tracing Interface provides a per-cpu flight-recorder tracing facility to the Linux kernel. It can be used as a low-overhead mechanism for tracing kernel code in a production environment as well as for kernel debugging during development

xpad - Linux Kernel Driver for the Xbox/ Xbox 360/ Xbox One Controllers

  •    C

Interact with the device and observe that data packets recieved from device are printed to kernel log. Ctrl+C to close interactive console sessions when finished.

xf86-input-mtrack - Xorg Multitouch Trackpad Driver

  •    Shell

An Xorg driver for multitouch trackpads. Supports any trackpad whose kernel driver uses the slotted multitouch protocol. For more information on the protocol see the kernel documentation. This driver is compatible with Xorg server versions 1.7 to 1.12. It requires the mtdev library to operate.

TitanHide - Hiding kernel-driver for x86/x64.

  •    C

Do not come here and open issues about problems with installation, crashes with bug check 0x109: CRITICAL_STRUCTURE_CORRUPTION or questions on how to disable PatchGuard. I will permanently ban you from the issue tracker. If you don't know how to properly install the tool you don't know enough to use it responsibly and you should use something else like ScyllaHide. To disable PatchGuard, try UPGDSED. TitanHide is a driver intended to hide debuggers from certain processes. The driver hooks various Nt* kernel functions (using SSDT table hooks) and modifies the return values of the original functions. To hide a process, you must pass a simple structure with a ProcessID and the hiding option(s) to enable, to the driver. The internal API is designed to add hooks with little effort, which means adding features is really easy.

VMWare Kernel Debugging booster

  •    C++

The project is a Windows XP kernel driver allowing debugging kernel drivers over a named pipe EXTREMELY FAST. Compatible with both VMWare Workstation and VMWare server.

kmon - Linux Kernel Manager and Activity Monitor 🐧💻

  •    Rust

The kernel is the part of the operating system that facilitates interactions between hardware and software components. On most systems, it is loaded on startup after the bootloader and handles I/O requests as well as peripherals like keyboards, monitors, network adapters, and speakers. Typically, the kernel is responsible for memory management, process management, device management, system calls, and security. Applications use the system call mechanism for requesting a service from the operating system and most of the time, this request is passed to the kernel using a library provided by the operating system to invoke the related kernel function. While the kernel performs these low-level tasks, it's resident on a separate part of memory named protected kernel space which is not accessible by applications and other parts of the system. In contrast, applications like browsers, text editors, window managers or audio/video players use a different separate area of the memory, user space. This separation prevents user data and kernel data from interfering with each other and causing instability and slowness, as well as preventing malfunctioning application programs from crashing the entire operating system. There are different kernel designs due to the different ways of managing system calls and resources. For example, while monolithic kernels run all the operating system instructions in the same address space for speed, microkernels use different spaces for user and kernel services for modularity. Apart from those, there are hybrid kernels, nanokernels, and, exokernels. The hybrid kernel architecture is based on combining aspects of microkernel and monolithic kernels. The Linux kernel is the open-source, monolithic and, Unix-like operating system kernel that used in the Linux distributions, various embedded systems such as routers and as well as in the all Android-based systems. Linus Torvalds conceived and created the Linux kernel in 1991 and it's still being developed by thousands of developers today. It's a prominent example of free and open source software and it's used in other free software projects, notably the GNU operating system. Although the Linux-based operating systems dominate the most of computing, it still carries some of the design flaws which were quite a bit of debate in the early days of Linux. For example, it has the largest footprint and the most complexity over the other types of kernels. But it's a design feature that monolithic kernels inherent to have. These kind of design issues led developers to add new features and mechanisms to the Linux kernel which other kernels don't have.

Longene (Linux Unified Kernel)

  •    C

Longene ( Linux Unified Kernel ) is an open source project sponsored by Insigma Co., Ltd. It aims to implement a kernel module in Linux that provides a system-call and driver layer to allow the Windows applications to run on the Linux OS.

kAFL - A fuzzer for full VM kernel/driver targets

  •    Python

This is a fork of the kAFL kernel fuzzer. It can be used for targets that execute efficiently as Qemu/KVM guests, including BIOS, custom kernels and full-blown Linux VMs. kAFL uses Qemu/KVM and Intel PT to provide fast execution and coverage feedback. This allows to run many x86 FW and OS kernels with any desired toolchain and without major modifications.

The Linux Tulip driver

  •    C

This project contains the Linux 2.4.x kernel driver for the Digital/Intel 21x4x (quot;Tulipquot;) series of ethernet chips. Requires kernel version 2.3.50 or later. This project serves as a focal point for further driver development and discussion.






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.