2013-10-11 5 views
6

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

इसे पढ़ने के लिए धन्यवाद, और किसी भी मदद की सराहना की जाती है। अगर मैं बहुत अस्पष्ट हूं तो कृपया मुझे अधिक जानकारी के लिए पूछें।

+0

आप लुआ स्रोत को एन्क्रिप्ट कर सकते हैं, और अपने निष्पादन योग्य से कुंजी निकालने के लिए कोई भी प्रयास नहीं मानते हैं। – Dai

+0

उनके लिए एन्क्रिप्शन कुंजी प्राप्त करना कितना मुश्किल होगा, और क्या कोई अन्य विकल्प हैं? – hyrumcoop

+3

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

उत्तर

5

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

+4

हां, यह सही है, आप नहीं कर सकते। मुझे पता है कि सबसे अच्छा obfuscation विधि यहां वर्णित है: http://stackoverflow.com/a/8500005/661171 – cib

+0

धन्यवाद। मैं मानता हूं कि मुझे सबसे महत्वपूर्ण बातों पर ध्यान देना चाहिए और बाद में छोटे विवरणों के बारे में चिंता करना चाहिए। – hyrumcoop

5

लुआ मैनुअल says:

[लुआ] चंक्स भी बाइनरी रूप में precompiled जा सकता है; विवरण के लिए प्रोग्राम luac देखें। स्रोत और संकलित रूपों में कार्यक्रम विस्थापन योग्य हैं; लुआ स्वचालित रूप से फ़ाइल प्रकार का पता लगाता है और तदनुसार कार्य करता है।

इसका मतलब है आप luac (लुआ संकलक) का उपयोग कर सकते द्विआधारी रूप है, जो आसानी से पढ़ने योग्य नहीं होगा करने के लिए अपने लुआ कोड संकलित करने के लिए, लेकिन अभी भी पता लगाने के लिए यह क्या करता है (जो भी साथ किया जा सकता disassembled किया जा सकता सी यदि आप पर्याप्त निर्धारित हैं)।

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