हम ट्रे में Google Chrome से "घंटी" मारते हैं

हैकर्स
हाल ही में, Google Chrome में अलर्ट नामक एक नई सुविधा सामने आई है। समय-समय पर, अजीब परिस्थितियों में, सिस्टम ट्रे में एक घंटी दिखाई देती है, और यह बात है। यही है, यदि आप इसे मैन्युअल रूप से कॉन्फ़िगर नहीं करते हैं, तो यह बिना किसी फ़ंक्शन के बस वहां होता है। और उसके लिए वहाँ प्रकट होने के लिए, उदाहरण के लिए, आप YouTube में वीडियो को पूर्ण स्क्रीन पर विस्तारित कर सकते हैं, आप इसे बाद में नहीं निकाल सकते, बस क्रोम को बंद कर सकते हैं। इसे सही ढंग से हटाने के तरीकों की खोज असफल रही। तरीकों से काम लग रहा था, लेकिन फिर घंटी ट्रे में फिर से दिखाई दी, और नाराज हो गया। एक रात उन्हें बहुत कुछ मिला, और भारी तोपें उठानी पड़ीं।

आईडीए, Hiew, घंटी छंटाई


सबसे पहले, हम यह देखते हैं कि Google Crhome स्वयं कहां है, मैंने शॉर्टकट को देखा और यह झूठ है, जैसा कि यह निकला,% USERPROFILE% \ AppData \ Local \ Google \ Chrome \ Application में और, जाहिर है, दो संस्करण हैं, पूर्व और वर्तमान। अब हमें निर्देशिका की आवश्यकता है 35.0.1916.114, इसमें बहुत सारे dll हैं, लेकिन किसी कारण से मुझे तुरंत chrome.dll पसंद आया, इसे कहीं एक सुविधाजनक स्थान पर कॉपी करें, इसे IDA में खोलें, और प्रतीक्षा करना शुरू करें, 28 मेगाबाइट बहुत प्रभावशाली है। जब हम प्रतीक्षा करते हैं, तो थोड़ा सोचते हैं कि आगे क्या देखना है। सामान्य तौर पर, कई विकल्प नहीं होते हैं, या एक (विन के लिए) एपीआई, शेल 32 के लिए Shell_NotifyIcon फ़ंक्शन से खोजा जाएगा। इसलिए, जब हम सोच रहे थे, आईडीए ने फ़ाइल को पहले ही पार्स कर दिया है। आयात टैब पर जाएं और वहां हमें जिस फ़ंक्शन की आवश्यकता है उसे देखें।

हम भाग्यशाली हैं कि समारोह आयात किया गया है। और इसके कॉल के लिए पता 0x371d7c0 का उपयोग किया जाएगा सामान्य तौर पर, हमें अब आईडीए की आवश्यकता नहीं है। इसलिए हमारे पास पता है कि हमें जिस फ़ंक्शन की आवश्यकता है वह आयात किया गया है। यहां यह विचार तुरंत एनओपी के साथ इस फ़ंक्शन के सभी कॉलों को बदलने के लिए उठता है, हालांकि यह याद रखने योग्य है कि WinApi फ़ंक्शन कैसे कहलाते हैं। हाँ, यहाँ हमें खुद को परेशानियों को साफ करना है, लेकिन ठीक है, चलो देखते हैं कि क्या किया जा सकता है। Hiew में dll खोलें, इसे Asm मोड में बदलें (दो बार दबाएं) और उस फ़ंक्शन कॉल की खोज शुरू करें, जिसे हम पहले से ही फ़ाइल में जानते हैं, हम खोज कर रहे हैं; हम यह नहीं भूलते कि x86 में संख्याएँ उल्टे क्रम में, निम्न बाइट से उच्च तक लिखी जाती हैं। यही है, आपको 371d7c0 नहीं बल्कि c0d77103 खोजना होगा । जो, सामान्य रूप से, हम पाते हैं
इसलिए, हमारे पास फ़ंक्शन को कॉल करने के लिए FF 15 C0 D7 71 03 6 बाइट्स हैं, हमें उन्हें स्टैक को साफ़ करने के साथ बदलने की आवश्यकता है और हम EAX रजिस्टर को क्रोम शून्य करने के साथ ईमानदार होंगे। आखिरी बात यह है कि क्रोम समझता है कि किसी कारण से वह ट्रे में एक आइकन जोड़ने में असमर्थ था। Shell_NotifyIcon फ़ंक्शन दो मापदंडों को स्वीकार करता है, जिसका अर्थ है कि स्टैक से दो मापदंडों को भी निकालना आवश्यक होगा। मैंने इसके लिए दो पॉप ईआरएक्स कॉल का उपयोग करने का फैसला किया, इसके बाद XOR EAX, EAX के माध्यम से EAX को शून्य किया, जिसके बाद NOP ने दो और बाइट्स किए।

नतीजतन, हमें बाइट्स FF15C0D77103 के अनुक्रम को 585833C09090 में बदलने की आवश्यकता है जो कि बस खोज और प्रतिस्थापन द्वारा किया जाता है। ऐसी सात चुनौतियां थीं। उसके बाद हम अपने द्वारा संसाधित dll को उसके सही स्थान पर कॉपी करते हैं (सभी Google Chrome को बंद करने के बाद)। हम क्रोम लॉन्च करते हैं। हम YouTuba को पूर्ण स्क्रीन पर बदलकर घंटी की उपस्थिति प्राप्त करने की कोशिश कर रहे हैं, लेकिन कुछ भी नहीं निकलता है, घंटी अब नहीं है, परिणाम एक जीत है।
पुनश्च। मैं स्वयं इस पद्धति को वास्तव में पसंद नहीं करता, मुझे उम्मीद है कि Google इस कार्यक्षमता को अक्षम करने के लिए एक नियमित क्षमता पेश करेगा, लेकिन अभी के लिए यह ठीक है।


Source: https://habr.com/ru/post/In225945/


All Articles