2011-02-11 7 views
7

मैं एक साधारण वायरस रीमूवर बनाने की कोशिश कर रहा हूं। एल्गोरिथ्म मैं विकसित करने के लिए है:सरल वायरस रीमूवर

  • मूल फ़ाइल और संक्रमित फाइल का निरीक्षण
  • वायरस
से संक्रमित अन्य फ़ाइलों की मरम्मत के लिए संक्रमित फाइल
  • उपयोग एक ही एल्गोरिथ्म से वायरस को अलग

    मुझे पता है कि यह संभव है, क्योंकि यह वही तरीका है जो पैच बनाए जाते हैं, लेकिन मैं इस बारे में थोड़ा सा खो गया हूं कि इस बारे में कैसे जाना है।

    आसपास कोई मदद ??

  • +0

    यदि आपके पास ऑरगिनल फ़ाइल तक पहुंच है, तो क्यों न केवल इसे दूषित एक पर कॉपी करें? बहुत कम काम की तरह लगता है। – driis

    +0

    मुझे लगता है कि बिंदु एक सामान्य 'फिक्स' प्राप्त करना है जो एक ही वायरस से संक्रमित किसी भी फाइल पर काम करेगा। – Flynn1179

    +0

    @driis: हाँ, यह आसान है, लेकिन मैं ऐसा नहीं करना चाहता। मैं चाहता हूं कि प्रोग्राम एक ही वायरस –

    उत्तर

    3

    आपको कुछ पैटर्न मिलान करने और पृथक वायरस कोड को हटाने से अधिक बुद्धिमानी रखना होगा।

    जिन वायरस का आप लक्ष्य रखते हैं वे files infectors हैं जिनका उपयोग शायद ही कभी हमारे दिनों में किया जाता है। समय उनकी प्रतिकृति प्रक्रिया का पालन है के अधिकांश:

    1. वे शुरुआत में या PE files
    2. के अंत में खुद को कॉपी पीई फ़ाइलों के प्रवेश बिंदु का पता लगाएँ
    3. लिए एक कूद अनुदेश रखो यह स्थान उनके कोड

    किसी फ़ाइल को कीटाणुशोधन किसी एंटी-वायरस के लिए सबसे कठिन हिस्सा है। यह वायरस कोड की गुणवत्ता पर निर्भर करता है: यदि यह छोटी है, तो होस्ट फ़ाइल केवल अप्राप्य हो जाएगी।

    किसी भी मामले में, आप मशीन निर्देशों की दुनिया में प्रवेश कर रहे हैं जहां डिस्सेबलर्स (आईडीए, पीई एक्सप्लोरर ...), और डिबगर्स आपके प्यारे दोस्त होंगे।

    +0

    के बारे में अधिक जानकारी प्राप्त नहीं करता तब तक मैं इस परियोजना को निलंबित कर दूंगा, ठीक है, यह एक बहुत ही उपयोगी उत्तर है। धन्यवाद। मैं फाइल संक्रमकों और संक्रमण प्रकार के बारे में भी जानता हूं जो वैकल्पिक एनटीएफएस स्ट्रीम में डेटा जोड़ता है। ऐसा लगता है कि मुझे यह खुद ऐसा करना है जैसा कि प्रतीत होता है मैं केवल –

    +0

    पर सलाह प्राप्त कर सकता हूं बाद में कीटाणुशोधन प्रक्रिया का पता लगाया और यह संक्रमण प्रक्रिया के विपरीत था। और हाँ यह वायरस कोड की गुणवत्ता पर निर्भर करता है लेकिन चूंकि एक संक्रमित फ़ाइल पहले से ही बेकार है, इसलिए इससे कोई फर्क नहीं पड़ता कि हम इसे सुधारने की कोशिश कर रहे फ़ाइल को खो देते हैं ..: -/ –

    +0

    यही कारण है कि कीटाणुशोधन निराशाजनक है। इसके लिए यादृच्छिक परिणाम के लिए बड़ी मात्रा में काम की आवश्यकता होती है ... इस तथ्य के साथ कि फ़ाइल संक्रमक अब "जंगली में" (http://www.wildlist.org/WildList/201101.htm) चुप नहीं हैं, यह एक खोया कला है। – Roubachof

    0

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

    इसके साथ एकमात्र समस्या यह है कि संभवतः दो फाइलों के बीच विसंगतियां होंगी जिनके पास "वायरस" से कुछ लेना देना नहीं है, उदा। संक्रमित फ़ाइल को मूल से अलग तरीके से संशोधित किया गया था, जिसका वायरस से कोई लेना देना नहीं है।

    संपादित करें ***वायरस के लिए अन्य फाइलों की जांच करना बहुत कठिन नहीं होगा, लेकिन मैं इस धारणा के तहत दौड़ रहा हूं कि आप फाइल के कुछ सादा पाठ रूप से निपट रहे हैं, बाइनरी प्रोपेटरी फाइलों के लिए, मुझे नहीं लगता "वायरस" को हटाने में सक्षम होंगे।

    +0

    आपने मूल रूप से गलत तरीके से अपने समाधान का निर्णय लिया है: -O –

    +0

    मैं यह कहने की कोशिश कर रहा था कि यह किस प्रकार की फ़ाइल की जांच कर रहा है इस पर निर्भर करता है। किसी भी एल्गोरिदम जो किसी फ़ाइल से वायरस को निकालने का प्रयास करता है उसे संकलित फ़ाइलों के साथ समस्या हो रही है। – checkandy

    +0

    यदि वायरस को हम हटा रहे हैं तो भी संकलित नहीं किया गया है। बस पैच सिस्टम के बारे में सोचें और यह कैसे काम करता है। या बेहतर तरीके से सोचें कि एक वायरस पहले से संकलित प्रोग्राम को कैसे संक्रमित करता है। –

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