2008-12-02 21 views
16

किसी ने मुझे सिर्फ एक प्रोग्राम में एक डीकंपाइल भेजा है। यह बहुत अच्छा डिकंपाइल था, जो अच्छा उत्पादन करता था, ज्यादातर रीडबे सी कोड (यदि आप इस तथ्य को अनदेखा करते हैं कि किसी भी चर या कार्यों में मानव-पठनीय नाम नहीं था) जो अधिकतर ऐसा लगता है कि यह वास्तव में संकलित होगा।क्या डेल्फी को डिकंपाइल करने के लिए कोई प्रोग्राम है?

हालांकि, एक बड़ी समस्या थी। मुझे पता है कि वह प्रोग्राम जिसे डिकंपलिंग कर रहा था वह डेल्फी में लिखा गया था, जो अवधारणाओं से भरा है जो सी में अनुवाद करना मुश्किल है लेकिन मैं वास्तव में डिकंपेलर के आउटपुट से प्रभावित था, और इससे मुझे आश्चर्य हुआ। क्या डेल्फी के लिए ऐसा कुछ भी हो सकता है?

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

+0

क्या आपके पास प्रोग्राम का नाम है जो डेल्फी एप्लिकेशन को सी स्रोत psuedo कोड में डिकंपिल्ड करता है? मैं देखना चाहता हूं कि कैसे एक पुराने 1999 कार्यक्रम ने एल्गोरिदम लागू किया। मैं व्यवहार को निर्धारित करने के लिए एप्लिकेशन नहीं चला सकता क्योंकि ग्राफिक्स हैंडलिंग में संसाधन रिसाव है और मुझे एप्लिकेशन का उपयोग करने के लगभग दस मिनट रिबूट करना होगा। – AMissico

+0

@AMissico: ईमेल के मुताबिक, इसे "हेक्स किरण डीकंपेलर" नामक प्लगइन के साथ आईडीए प्रो के साथ बनाया गया था। –

+0

उत्तर देने के लिए धन्यवाद। मुझे लगा कि यह हेक्स-रे डीकंपेलर था। आपके द्वारा वर्णित एकमात्र चीज जो मैंने पाया है। – AMissico

उत्तर

13

मुझे नहीं लगता कि पास्कल कोड उत्पन्न करने वाले कोई भी मशीन कोड डीकंपलर हैं। अधिकांश "डेल्फी डीकंपलर" पार्स फॉर्म और आरटीटीआई डेटा, लेकिन वास्तव में मशीन कोड को कम नहीं करते हैं। मैं सी डीकंपेलर के साथ संयोजन में प्रतीकात्मक जानकारी निकालने के लिए डीडीई (या similar software) जैसे कुछ का उपयोग करने की सलाह दे सकता हूं, फिर डिकफी में डीकंपील्ड सी कोड का अनुवाद करें (वहां कई स्रोत कोड कन्वर्टर्स हैं)।

+1

एफडब्ल्यूआईडब्ल्यू, डेल्फी के शुरुआती दिनों में, एक पूर्ण डिकंपेलर था। हालांकि मैंने कई वर्षों तक इसे देखा या सुना नहीं है। – mj2008

+0

@ mj2008 क्या किसी को इसके बारे में और पता है? मेरे पास डेल्फी 4/5 प्रोजेक्ट है, यह आज के दृश्य में "प्रारंभिक दिन" हो सकता है :-) –

+0

डेल्फी विभिन्न फ़ंक्शन कॉल सेमेन्टिक्स का उपयोग करता है (__stdcall नहीं)। Retdec.com के साथ एक परीक्षण में यह वापसी मूल्यों को रखने के लिए "भूल गया" था और फ़ंक्शन प्रारंभ और समाप्ति का सही ढंग से पता नहीं लगा, जिसने परिणाम को अनुपयोगी बनाया –

5

यहाँ एक सूची है: http://delphi.about.com/od/devutilities/a/decompiling_3.htm (और इस पृष्ठ कुछ और का उल्लेख है: http://www.program-transformation.org/Transform/DelphiDecompilers) अवसर पर

मैं का उपयोग किया है देदे, लेकिन यह वास्तव में सभी कि शक्तिशाली नहीं है, और यह अप करने की तारीख वर्तमान डेल्फी के साथ नहीं है संस्करणों (नवीनतम संस्करण इसका समर्थन करता है डेल्फी 7 मेरा मानना ​​है कि)

1

प्रोसेसर देशी मशीन कोड के लिए बोली डेल्फी, C और C++ संकलित की तरह है, और उत्पादन निष्पादनयोग्य कम या उन में कोई मेटाडाटा है। यह जावा या नेट के विपरीत है, जो ऑब्जेक्ट-ओरिएंटेड प्लेटफॉर्म-स्वतंत्र बाइटकोड को संकलित करता है, जो विधियों, विधि पैरामीटर, कक्षाओं और नामस्थानों और अन्य मेटाडेटा के नामों को बनाए रखता है।

तो डेल्फी या सी कोड पर बहुत कम उपयोगी अपघटन किया जा सकता है। हालांकि, डेल्फी ने आम तौर पर परियोजना में किसी भी रूप ($ R * .dfm लाइन द्वारा उत्पन्न) के लिए फॉर्म डेटा एम्बेड किया है, और इसमें सभी प्रकाशित गुणों पर मेटाडेटा भी है, इसलिए डेल्फी-विशिष्ट उपकरण इस जानकारी को निकालने में सक्षम होगा ।

+0

भले ही यह प्रतिबिंबित समृद्ध प्रबंधित कोड नहीं है, एएसएम को पढ़ना बहुत मुश्किल नहीं है कि डेल्फी उत्पादित करता है और इसे मेरे सिर में ऑब्जेक्ट पास्कल कोड में परिवर्तित करता है। मैं उस स्तर पर बहुत सारे डिबगिंग करता हूं। आप जो भी खो देते हैं वह नाम है, और आप उन्हें ज्यादातर समय संदर्भ से अनुमानित कर सकते हैं। –

+5

युक्ति: यदि आपको लगता है कि यह आसान है, तो इसे स्वयं लागू करना शुरू करें। –

+0

मेसन: क्या आपने ऑप्टिमाइज़ेशन के साथ कोड पर वह परीक्षण किया था? –

6

आप IDR का उपयोग कर सकते हैं यह डेल्फी को अपनाने के लिए एक शानदार कार्यक्रम है, यह वर्तमान डेल्फी संस्करणों के लिए अद्यतन है और इसमें कई सुविधाएं हैं।

+0

ऐसा प्रतीत होता है कि आईडीआर केवल डी 200 9 तक काम करता है (सैद्धांतिक डी 2010 समर्थन के साथ, लेकिन इसके लिए संदर्भ डेटा संग्रह पासवर्ड सुरक्षित है) और XE या बाद में, या वास्तव में कोड को पास्कल में वापस करने के लिए कोई समर्थन नहीं है। –

+0

@MasonWheeler D2010 अब पासवर्ड सुरक्षा के बिना मुक्त है। –

+1

अब लिंक मर चुका है। – jirarium

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