मेरे पास कई लूआ स्क्रिप्ट्स (मल्टीप्लेयर मॉड मल्टी थेफ्ट ऑटो के लिए) हैं जिन्हें संकुचित किया गया है, चोरी के रोकथाम सहित कई कारणों से। हकीकत में, यह केवल एक चोरी निवारक है, क्योंकि लुएडेक (http://luadec51.luaforge.net/) आसानी से स्क्रिप्ट को संकलित कर सकता है। क्या किसी के पास कोई सुझाव है कि मैं अपनी स्क्रिप्ट को अपरिवर्तनीय कैसे बना सकता हूं?मैं लुआ स्क्रिप्ट को अपरिवर्तनीय कैसे बना सकता हूं?
उत्तर
एन्क्रिप्शन; यह वास्तव में एकमात्र तरीका है जो यह काम करने जा रहा है। बेशक, चूंकि आपके प्रोग्राम को उन्हें डिक्रिप्ट करना होगा, इसलिए वे सिर्फ स्मृति से बाहर डिक्रिप्ट किए गए डेटा को छीन सकते हैं।
तो नहीं, ऐसा कुछ भी नहीं है जो आप कर सकते हैं। कोई भी विधि कुछ डिग्री के लिए "केवल एक चोरी निवारक" होने जा रही है। यहां तक कि वास्तविक असेंबली के लिए संकलन भी एक निवारक है, क्योंकि इसे किसी मूल रूप से मूल स्रोत कोड के विपरीत नहीं किया जा सकता है।
सवाल यह है कि आप उपयोगकर्ता को कितना परेशानी देना चाहते हैं। एन्क्रिप्शन शायद आपको अपने हिरण के लिए सबसे ज्यादा धमाके देता है। इससे उन्हें स्मृति के बाहर डेटा को यंक करने के तरीके को समझने के लिए निष्पादन योग्य के माध्यम से चलना होगा। अधिकतर आरामदायक उपयोगकर्ता ऐसा नहीं करना चाहेंगे।
यदि आप वास्तव में गंभीर होना चाहते हैं तो आप lua vm द्वारा उत्पन्न और उपयोग किए गए ऑपकोड को बदल सकते हैं, तो इसे शेल्फ सॉफ़्टवेयर से हटाया नहीं जा सका। यद्यपि यह आपको इसके लायक होने की तुलना में अधिक समस्याएं पैदा कर सकता है - आपको लुआ के अपने संस्करण का समर्थन करना होगा, और आप शायद लुजिट जैसी चीजों का उपयोग नहीं कर पाएंगे।
डिकंपाइल करने के लिए उन्हें ऑपकोड के मैपिंग को समझना होगा और आप अनुवाद करेंगे। यह शायद करना मुश्किल नहीं होगा, लेकिन शायद मैं नहीं करूँगा।
[अपडेट]
स्रोत यह काफी आसान हो सकता है को देखते हुए, वहाँ दो फ़ाइलों lopcode.c हैं और हो सकता है lopcode.h अगर आप सिर्फ इन में opcodes आप कर दिया जाएगा का क्रम बदलने के। यदि आप ऐसा करते हैं तो कृपया पोस्ट करें और यह काम करता है या नहीं।
मुझे नहीं लगता कि यह संभव है। जानवर की प्रकृति (बहुत कम वीएम पर काम करने वाली एक बहुत ही कम भाषा) मूल रूप से इसे रोकती है।
डीकंपील्ड कोड के लिए जितना संभव हो सके उतना ही बेहतर हो सकता है जितना संभव हो सके मानव के लिए।
मल्टी थेफ्ट ऑटो अब स्क्रिप्ट के एन्क्रिप्शन का समर्थन करता है। आप उन्हें http://luac.mtasa.com/ पर ऑनलाइन संकलित कर सकते हैं या स्टैंडअलोन कंपाइलर डाउनलोड कर सकते हैं।
आप वीएम निर्देशों में ऑपरेटरों के क्रम को बदलकर इसे थोड़ा कठिन बना सकते हैं। – lhf
ध्यान दें कि यदि आपके पास बाइटकोड लिस्टर तक पहुंच है, तो यह दृष्टिकोण शायद पूरी तरह से काम नहीं करता है जैसे कि 'luac' द्वारा प्रदान किया गया कोई भी क्योंकि आप ऑर्डर को रिवर्स-इंजीनियर कर सकते हैं। लेकिन यह एक दर्द होगा और शायद ज्यादातर लोगों को रोक देगा। या प्रेरित हैकर के लिए एक चुनौती हो। :-) – lhf
वास्तव में समर्पित हैकर को हेक्स डंप के साथ कुछ भी नहीं रोकेगा। यदि आप नीचे निकोल द्वारा सुझाए गए एन्क्रिप्शन के साथ इसे शामिल करते हैं और पहले इसे लुआ ओबफ्यूसेटर के माध्यम से चलाते हैं, तो केवल सचमुच समर्पित ही छोड़ा जाएगा। – daven11