Skip to content

Add new_manual constructor so that crate can be used with damaged fil… #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

cr1901
Copy link

@cr1901 cr1901 commented Aug 6, 2024

…esystems.

I'd like to use this crate to carve up a damaged drive image. Unfortunately, this crate expects the BPB to be present, and in my image, the BPB is one part that is probably gone for good.

By analyzing the good parts of the image (I hope to automate it using heuristics eventually), I've figured out the required NTFS parameters to make ntfs-shell happy.

This is my earnest attempt at implementing functionality described on Fedi. It is the minimal additional functionality I need, and doesn't include ntfs-shell changes in the link. As an example, that should probably be kept minimal. I can- have continue to :P- modify it.

My question is: should this be unsafe? Am I breaking any invariants by allowing a user to inject possibly-fake parameters into a new Ntfs struct? Or will the Ntfs struct "parse and fail if the data looks incorrect" without invoking UB.

My own experience with hardcoding NTFS parameters and running ntfs_shell on my image seems to be that this crate's functions/methods will (correctly) immediately bail if things don't look right. But happy to add unsafe to my function if it's too difficult to verify.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant