2009-07-10 18 views
14

मैं एक छोटा प्रोग्राम बनाने की कोशिश कर रहा हूं जो फ़ाइल की खुली प्रक्रिया को रोक सकता है।इंटरसेप्ट विंडोज़ खुली फ़ाइल

उद्देश्य यह है कि जब कोई उपयोगकर्ता किसी दिए गए फ़ोल्डर में फ़ाइल पर डबल-क्लिक करता है, तो विंडोज सॉफ़्टवेयर को सूचित करेगा, फिर यह उस याचिका को संसाधित करेगा और फ़ाइल को डेटा के डेटा को वापस कर देगा।

शायद ओपन संदेशों की निगरानी जैसे एक और समाधान होगा और प्रोग्राम को फ़ाइल की सामग्री तैयार करते समय इंतजार करने के लिए विंडोज को मजबूर करना होगा।

इस अवधारणा का एक आवेदन, उपयोगकर्ता के पारदर्शी तरीके से फ़ाइल के विलुप्त होने का प्रबंधन करना हो सकता है। इस संदर्भ में, एन्क्रिप्टेड फ़ाइल डिस्क पर होगी और जब उपयोगकर्ता इसे खोलता है (उस पर डबल-क्लिक या नोटपैड जैसे कुछ एप्लिकेशन के साथ), पृष्ठभूमि प्रक्रिया उस खुली घटना को रोक देगी, फ़ाइल को desencrypt और दे देंगे पूछने वाले आवेदन के लिए उस फाइल की सामग्री।

यह थोड़ा अजीब अवधारणा है, यह "मैन इन द मिडल" नेटवर्क अवधारणा की तरह हो सकता है, लेकिन नेटवर्क पैकेट की बजाय फ़ाइलों के साथ।

पढ़ने के लिए धन्यवाद।

उत्तर

10

किसी भी कार्यक्रम से खोलने के सभी मामलों को कवर करने के लिए इसे करने का सबसे अच्छा तरीका file system filter driver के माध्यम से होगा। यद्यपि यह आपकी आवश्यकताओं के लिए बहुत जटिल हो सकता है।

+0

ऐसे ड्राइवर पर जानकारी कहां मिल सकती है? – Geo

+0

मैं एमएस पेज से जुड़ा हूं जिसमें बहुत सारे संसाधन और जानकारी हैं। –

+0

एंटी वायरस सॉफ़्टवेयर, फ्लाई एन्क्रिप्शन/संपीड़न पर और अधिक इस तरह से इस तरह से बनाया गया है। –

0

विंडोज़ में डिस्क (फ़ाइल-> गुण-> उन्नत-> एन्क्रिप्ट) पर फ़ाइलों को एन्क्रिप्ट करने का विकल्प है और यह विकल्प एप्लिकेशन के लिए पूरी तरह से पारदर्शी है।

डिस्क की डिक्रिप्ट फ़ाइल भागों को एन्क्रिप्ट करने के लिए आपको क्रिप्टैनर जैसे सॉफ़्टवेयर पर विचार करना चाहिए?

इस सॉफ्टवेयर के साथ-साथ http://www.truecrypt.org/downloads (नि: शुल्क और मुक्त स्रोत) है लेकिन मैंने इसे आजमाया नहीं है।

एक कस्टम समाधान विकसित करना बहुत मुश्किल लगता है।

+0

ठीक है, आप शायद इसे एक फ़ाइल सिस्टम फ़िल्टर ड्राइवर के रूप में कर सकते हैं लेकिन मुझे नहीं लगता कि यह एक "व्यवहार्य" समाधान है .. जब तक आपके पास बहुत समय और कौशल नहीं है :-) और कुछ विशिष्ट विकसित कर रहे हैं जिसके लिए केवल आवश्यकता है। –

+0

क्रिप्ट उदाहरण केवल संदेह को स्पष्ट करने के लिए था। मुझे किसी भी एन्क्रिप्शन की आवश्यकता नहीं है :) – HyLian

11

आप उस चाल का उपयोग कर सकते हैं जो Process Explorer कार्य प्रबंधक के साथ स्वयं को बदलने के लिए उपयोग करता है।

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe

कहाँ आप इस प्रक्रिया को बीच में के नाम के साथ 'taskmgr.exe' बदल देते हैं: मूल रूप से इस तरह की एक कुंजी बनाएं। फिर 'Debugger' नामक एक स्ट्रिंग मान जोड़ें जिसमें आपके निष्पादन योग्य का पथ है। उदा:

Debugger -> "C:\windows\system32\notepad.exe"

हर एक प्रक्रिया से मेल खाता है कि छवि अपने प्रक्रिया वास्तव में एक तर्क के रूप वास्तविक प्रक्रिया के लिए पथ के साथ है कि इस प्रक्रिया के लिए एक डिबगर के रूप में बुलाया जाएगा नाम चलाया जाता है।

+0

मुझे विश्वास है कि यह सबसे अच्छा तरीका होगा, लेकिन मैं इसे ओपनफिल्डियोलॉग के लिए कैसे उपयोग कर सकता हूं? खुले फ़ाइल संवाद comdlg32.dll में सही हैं? –

4

आप कोड इंजेक्शन और एपीआई पुनर्निर्देशन का उपयोग कर सकते हैं। आप अपनी लक्ष्य प्रक्रिया शुरू करेंगे और फिर एक डीएलएल इंजेक्ट करेंगे जो विंडोज एपीआई फ़ंक्शंस को हुक करता है जिसे आप अवरुद्ध करना चाहते हैं। तब आप कॉल करते हैं जब लक्ष्य प्रक्रिया सोचती है कि यह ओपनफाइल() या जो कुछ भी आप असली एपीआई पर कॉल पास करने से पहले कर सकते हैं उसे कॉल कर सकते हैं।

"आईएटी हुकिंग" के लिए Google।

संबंधित मुद्दे