Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ffs — F*ck file system - क्ली कमांड लाइन फ़ाइल खोज उपकरण जो OS कर्नेल को बायपास करता है और आपकी डिस्क को सीधे पढ़ता है | Kitploit
उपकरण/GitHubGitHub/dmtrkovalenko/ffs
डिस्क फोरेंसिकसामान्य उपयोगिताएँस्क्रिप्टिंग और स्वचालनफोरेंसिकडेटा रिकवरीडिजिटल फोरेंसिक
GitHubdmtrkovalenko/ffs

ffs

F*ck file system - क्ली कमांड लाइन फ़ाइल खोज उपकरण जो OS कर्नेल को बायपास करता है और आपकी डिस्क को सीधे पढ़ता है

रिपॉजिटरी देखें
17471 महीना पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

FFS - F* फ़ाइल सिस्टम

यह एक क्ली टूल है जो फ़ाइलों की खोज (grep की तरह) करता है, लेकिन यह OS कर्नेल का उपयोग फ़ाइलों को पढ़ने के लिए नहीं करता, बल्कि आपकी डिस्क को सीधे पढ़ता है। यह व्यावहारिक रूप से बेकार है, लेकिन बहुत ही शानदार।

यह लगभग ~1.5k लाइनों का C कोड है जो:

  • केवल रॉ डिवाइस नोड (जैसे /dev/rdisk*) पढ़ते समय sudo की आवश्यकता होती है; इमेज फ़ाइल खोजने के लिए कोई ऊंचे अनुमति की आवश्यकता नहीं
  • मुख्य macOS डिस्क पर चलने के लिए SIP सुरक्षा को अक्षम करने की आवश्यकता होती है
  • कुछ हालिया फ़ाइल लिखने को छोड़ सकता है (मैन्युअल sync कॉल की आवश्यकता होगी)
  • अत्यधिक अस्थिर फ़ाइल सिस्टम पर जब OS के अन्य घटक फ़ाइलें लिख रहे हों, हो सकता है कि पेड़ों को खोजने में सक्षम न हो
  • केवल इस प्रोजेक्ट में मैन्युअल रूप से लागू किए गए फ़ाइल सिस्टम पर काम करता है

लेकिन साथ ही

  • आपकी डिस्क से सीधे ब्लॉक पढ़ता है
  • VFS / बफ़र्ड read() पथ को बायपास करता है, इसके बजाय सीधे ब्लॉक डिवाइस को pread करता है
  • ripgrep से धीरे-धीरे तेज़ (जितनी अधिक फ़ाइलें खोजने की आवश्यकता होगी, यह ripgrep से उतना ही तेज़ होगा)
  • अनमाउंटेड वॉल्यूम खोज सकता है - यह केवल बाइनरी ब्लॉब्स को पार्स करता है
  • बाइनरी फ़ाइलों का पता लगाता है और उन्हें छोड़ देता है
  • openmp के माध्यम से सभी कोर पर लोड फैलाता है

वास्तव में काम करने वाली तेज़ फ़ाइल खोज के लिए मेरे प्रोजेक्ट fff देखें - यह sudo की आवश्यकता के बिना ripgrep से काफी बेहतर प्रदर्शन करता है।

समर्थित फ़ाइल सिस्टम

लिनक्स पर अधिकांश फ़ाइल सिस्टम को लागू करना आसान है

Ext4

./fs/ext4.c

यह समर्थन के लिए सबसे आसान फ़ाइल सिस्टम है: यह एक जर्नलिंग फ़ाइल सिस्टम है जो जगह पर लिखता है (कोई कॉपी-ऑन-राइट नहीं), इसलिए अधिकांश समय ffs के लिए यह सबसे अच्छा फ़ाइल सिस्टम है। कभी-कभी आप देख सकते हैं कि ffs फ़ाइलों के कुछ हालिया अपडेट नहीं देख सकता, ऐसा हो सकता है यदि कर्नेल हालिया अपडेट को कैश में रख रहा हो और डिस्क पर लिखने में देरी कर रहा हो। आप इसका उपयोग करके सिंक्रोनाइज़ेशन लागू कर सकते हैं

root@kitploit:~
sync

Btrfs

./fs/btrfs.c

B-ट्री फ़ाइल सिस्टम काफी जटिल है, अधिक कुशल फ़ाइल भंडारण है और एक अतिरिक्त सीमा के साथ आता है:

जब आपके फ़ाइल सिस्टम पर कोई फ़ाइल अपडेट होती है तो पूरे सुपरब्लॉक को भी अपडेट करने की आवश्यकता होती है, जिसका अर्थ है कि यदि ffs सुपरब्लॉक (उच्च स्तरीय b-ट्री) पढ़ता है और उसके बाद कर्नेल ट्री को अपडेट करता है - तो पूरा पढ़ना अमान्य हो जाता है।

इसे fsfreeze का उपयोग करके या एक अलग डिटैच वॉल्यूम बनाकर बायपास किया जा सकता है

Apfs (MacOS)

./fs/apfs.c

APFS एक स्वामित्व फ़ाइल सिस्टम है जिसे Apple द्वारा कार्यान्वित किया गया है, जिसे रिवर्स-इंजीनियर किया गया है और यहाँ भी समर्थित है, लेकिन Apple ने अपनी सुरक्षा नीतियों में काफी वृद्धि की है।

आप SIP को अक्षम किए बिना अपनी मुख्य डिस्क पर ffs नहीं चला पाएंगे

SIP - सिस्टम इंटीग्रिटी प्रोटेक्शन एक विशेष सुरक्षा सुविधा है जो रूट उपयोगकर्ता के रूप में भी मुख्य डिस्क सुपरब्लॉक तक किसी भी पहुँच को प्रतिबंधित करती है। आप sudo के साथ भी इसे बायपास नहीं कर सकते; आपको इस सुविधा को अक्षम करना होगा (यदि आप yabai जैसे प्रोजेक्ट का उपयोग करते हैं तो आपने इसे पहले से अक्षम कर रखा हो सकता है)।

Apple फ़ाइल सिस्टम पर ffs का परीक्षण करने का एक तरीका है बिना अपनी मुख्य डिस्क को छुए - आप रॉ .dmg फ़ाइलों को बिना किसी उच्च अनुमति के खोज सकते हैं (हाँ, ऐप इंस्टॉलर केवल डिटैच वॉल्यूम होते हैं)। ffs के साथ आपको कुछ भी माउंट करने की आवश्यकता नहीं है, आप फ़ाइल सिस्टम प्रकार के साथ वॉल्यूम के रॉ बाइट्स का पथ दे सकते हैं:

root@kitploit:~
ffs "<क्वेरी>" /path/to/volume.dmg apfs

डिटैच वॉल्यूम में खोज

क्योंकि ffs सीधे बाइट्स पढ़ता है, आप इसका उपयोग किसी भी डिटैच वॉल्यूम को खोजने के लिए कर सकते हैं बिना उन्हें फ़ाइल सिस्टम में माउंट किए। उदा. .iso या .dmg फ़ाइलों को पढ़ना।

गति

यह सबसे मज़ेदार हिस्सा है - ffs के पास VFS / कर्नेल फ़ाइल सिस्टम कैश तक पहुँच नहीं है। यही कारण है कि यह छोटी (या पहले से कैश की गई) निर्देशिकाओं पर धीमा होगा, लेकिन एक बार कैश समाप्त हो जाने पर और आपके कर्नेल को वास्तविक डिस्क स्थिति पढ़ने जाना पड़ता है, तो यह धीरे-धीरे तेज़ हो जाएगा।

क्यों? वास्तव में यह साबित करने के लिए कि किसी बिंदु पर कर्नेल VFS एक ओवरहेड बन जाता है।

यह एक btrfs माउंटेड ड्राइव पर ffs की तुलना ripgrep से करने वाला खोज परिणाम है। ध्यान दें कि ripgrep कहीं अधिक उन्नत SIMD-आधारित मैचर और फ़ाइल वॉकर का उपयोग करता है, जबकि ffs केवल ~1.8k लाइनों का C कोड है।

root@kitploit:~
[repos — 631k फ़ाइलें]
  ffs |####                                              | 5.505s
  rg  |###                                               | 4.813s

[dev — 1.50M फ़ाइलें]
  ffs |############                                      | 18.413s
  rg  |#################                                 | 25.673s

[home — 3.25M फ़ाइलें]
  ffs |########################                          | 36.205s
  rg  |##################################################| 74.690s

ripgrep के लिए उपयोग किए गए फ़्लैग हैं -F --no-heading -H -n --no-ignore --hidden --one-file-system --no-messages - जो इसे ffs के समान परिणाम उत्पन्न करने के लिए लाता है।

प्रोजेक्ट बनाएँ

प्रोजेक्ट को संकलित करने के लिए आपको बस libzstd (btrfs के लिए), openmp आपके pkg-config में चाहिए, फिर बस

root@kitploit:~
make ffs
ffs --help
टूल डाउनलोड करें