
KPOT से स्ट्रिंग्स को डिक्रिप्ट करने और उन्हें कमेंट के रूप में सेट करने के लिए IDA python स्क्रिप्ट्स
KPOT स्टीलर के स्ट्रिंग्स को डिक्रिप्ट करने और उन्हें रनटाइम के दौरान प्राप्त करने वाले वेरिएबल के बगल में कमेंट के रूप में सेट करने के लिए IDA python स्क्रिप्ट्स। यह इस प्रकार काम करता है:
उस ऑफसेट को प्राप्त करता है जो किसी भी डिक्रिप्शन फ़ंक्शन (दो हैं, इसीलिए इस रिपो में दो स्क्रिप्ट हैं) पर eax के माध्यम से पास किया जाता है, या तो mov या pop eax का उपयोग करके।
किसी ऐरे पर स्ट्रिंग को उसके संबंधित आकार और XOR कुंजी को पढ़कर डिक्रिप्ट करता है
डिक्रिप्टेड स्ट्रिंग और उस ऑफसेट को प्रिंट करता है जहाँ उसे कमेंट के रूप में सेट किया गया था, साथ ही कोई भी स्ट्रिंग जिसे वह डिक्रिप्ट नहीं कर सका (नीचे महत्वपूर्ण विचारणीय बातें देखें)
कोड में कुछ ऐसे उदाहरण हैं जहाँ मैलवेयर स्क्रिप्ट्स में शामिल तरीकों से भिन्न तरीका अपनाएगा। आप Could not decrypt xref: संदेश वाले पतों का अनुसरण करके उन मामलों को पा सकते हैं और प्रासंगिक फ़ंक्शन्स को ऑफसेट मैन्युअल रूप से देकर उन्हें डिक्रिप्ट कर सकते हैं।
स्क्रिप्ट डिक्रिप्टेड ऐरे को decode() के माध्यम से स्ट्रिंग में बदलती है। मेरे अनुभव में KPOT द्वारा डिक्रिप्ट किए गए तीन बाइट ऐरे ऐसे हैं जो स्ट्रिंग नहीं हैं, जिससे स्क्रिप्ट क्रैश हो जाती है। ये वे ऑफसेट हैं जिन्हें में अनदेखा किया गया है।
kpot-string-decrypter-pt1.pysearch_offset() में वर्तमान पता प्रिंट करने वाली एक पंक्ति जोड़ने से आपको यह पता लगाने में मदद मिल सकती है कि स्क्रिप्ट कहाँ क्रैश हो रही है।decrypt_str() के रिटर्न को return(newarray.hex()) में बदलना होगा।यह जानने के लिए कि दोनों में से कौन सी स्क्रिप्ट का उपयोग करना है, डिक्रिप्शन रूटीन देखें - pt1 उस सबरूटीन के लिए है जो केवल बाइट XOR करता है, जबकि pt2 उस सबरूटीन के लिए है जो XOR के बाद AND 0xFF करता है।