>Resilient File System (ReFS), codenamed "Protogon", is a Microsoft proprietary file system introduced with Windows Server 2012 with the intent of becoming the "next generation" file system after NTFS.

https://en.wikipedia.org/wiki/ReFS

There have been some work on it but I don't think there are fully working reader implementations, AFAIK.

So far I've setup a VM with a second 1GB disk in raw format. I can run commands on it from my linux host with winexe (eg format command and file operations). I can then analyse and diff the image between operation.

Joachim Metz has started documenting a lot of the internal data structures and has some code to analyse them.

  • https://github.com/libyal/libfsrefs
  • https://github.com/libyal/libfsrefs/blob/master/documentation/Resilient%20File%20System%20(ReFS).pdf

Looking for hackers with the skills:

filesystem linux reversing

This project is part of:

Hack Week 15

Activity

  • over 8 years ago: dsterba liked this project.
  • over 8 years ago: pluskalm liked this project.
  • over 8 years ago: dwaas liked this project.
  • over 8 years ago: aaptel added keyword "filesystem" to this project.
  • over 8 years ago: aaptel added keyword "linux" to this project.
  • over 8 years ago: aaptel added keyword "reversing" to this project.
  • over 8 years ago: aaptel originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    pudc - A PID 1 process that barks to the internet by mssola

    Description

    As a fun exercise in order to dig deeper into the Linux kernel, its interfaces, the RISC-V architecture, and all the dragons in between; I'm building a blog site cooked like this:

    • The backend is written in a mixture of C and RISC-V assembly.
    • The backend is actually PID1 (for real, not within a container).
    • We poll and parse incoming HTTP requests ourselves.
    • The frontend is a mere HTML page with htmx.

    The project is meant to be Linux-specific, so I'm going to use io_uring, pidfs, namespaces, and Linux-specific features in order to drive all of this.

    I'm open for suggestions and so on, but this is meant to be a solo project, as this is more of a learning exercise for me than anything else.

    Goals

    • Have a better understanding of different Linux features from user space down to the kernel internals.
    • Most importantly: have fun.

    Resources