फ्लेक्स / एयर obfuscation

मैंने फ्लेक्स में एक आवेदन (अधिकांश) लिखा है और मैं स्रोत कोड की सुरक्षा के लिए चिंतित हूं। मैंने ट्रिलिक्स swf decompiler का एक डेमो निकाल दिया और मेरी प्रोग्राम फ़ाइलों में स्थापित की गई SWF फ़ाइल खोल दी निर्देशिका। मैंने देखा कि मैंने लिखा सभी क्रियालेख पैकेज वहाँ थे। मैं संकुल से बहुत चिंतित नहीं हूं, भले ही पर्याप्त मात्रा में कोड हो, क्योंकि यह अभी भी एमएक्सएमएल फाइलों के बिना बहुत उपयोग करने योग्य लगता है। मुझे लगता है कि वे क्रियालेख में परिवर्तित हो जाते हैं, या कम से कम मुझे उम्मीद है। हालांकि, मैं अभी भी obfuscation का पता लगाना चाहूंगा।

क्या किसी के पास फ्लैश / एक्शनस्क्रिप्ट 3 / फ्लेक्स ओबफस्केटर के साथ कोई अनुभव है? क्या आप एक अच्छे उत्पाद की सिफारिश कर सकते हैं?

0
ro fr bn

4 उत्तर

मैं यही करूँगा।

  • अपने आवेदन को एक एसडब्ल्यूएफ फ़ाइल में संकलित करें। फिर एईएस का उपयोग करके एसडब्ल्यूएफ एन्क्रिप्ट करें।

  • एक "रैपर" एप्लिकेशन बनाएं जो एन्क्रिप्टेड एसडब्ल्यूएफ को URLLoader का उपयोग करके बाइटएरे में लोड करता है

  • रनटाइम पर SWF को डिक्रिप्ट करने के लिए as3crypto लाइब्रेरी का उपयोग करें।

  • एक बार डिक्रिप्ट हो जाने पर, डिक्रिप्ट किए गए एसएफएफ़ को रैपर एप्लिकेशन में लोड करने के लिए लोडर.लोडबाइट्स का उपयोग करें।

यह आपके कोड को प्राप्त करने में बहुत कठिन बना देगा। असंभव नहीं, लेकिन कठिन है।

एआईआर अनुप्रयोगों के लिए आप अंतिम उपयोगकर्ता को एप्लिकेशन वितरित करते समय एन्क्रिप्टेड एसडब्ल्यूएफ छोड़ सकते हैं। फिर आप पंजीकरण कुंजी प्रदान कर सकते हैं जिसमें SWF को डिक्रिप्ट करने के लिए उपयोग की जाने वाली कुंजी शामिल है।

Also, here is a link to an AS3 obfuscator. I am not sure how well it works though. http://www.ambiera.com/irrfuscator/index.html

0
जोड़ा

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

एकमात्र विश्वसनीय समाधान (अच्छी तरह से ...) कुछ प्रकार का obfuscator है - हम अमेता का उपयोग करते हैं जो नवीनतम संस्करण में फ्लेक्स के लिए काम करता है - कृपया http://www.amayeta.com/software/swfencrypt/

0
जोड़ा
मुझे लगता है कि यह वह जवाब है जिसे स्वीकार किया जाना चाहिए।
जोड़ा लेखक Snow Blind, स्रोत

खैर, मेरी राय में, सबसे आसान और सुरक्षित समाधान मालेमा और बोरेक का मिश्रण है:

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

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

आपके जवाबों के लिए आप सभी का धन्यवाद

0
जोड़ा

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

यह जिथूब पर जारी किया गया है। इसे देखें और मुझे बताएं कि आप क्या सोचते हैं।

https://github.com/Teesquared/flasturbate

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

यह obfuscator सीधे एसडब्ल्यूएफ फ़ाइल पर काम करता है। यह वर्तमान में केवल प्रतीकों का नाम बदलता है लेकिन यह एक ढांचे पर बनाया गया है जो भविष्य में बाइटकोड को बदलने में सहायता कर सकता है।

0
जोड़ा