2010-07-08 13 views
6

के लिए प्रोग्राम की तरह डीबग करें आप में से कई पुराने डॉस प्रोग्राम - डीबग को याद कर सकते हैं। हालांकि कई मामलों में पुरानी बात यह है कि इसके बारे में अच्छी चीजों में से एक यह था कि किसी प्रोग्राम को लिखने, संकलन करने, अलग करने, फ़ाइल सामग्री की जांच करने के चरणों के बिना किसी दिए गए निर्देश के लिए बाइट-अनुक्रम आसानी से मिल सकता है। .. निर्देश दर्ज करें, फिर निर्देश पता डंप करें। 'डीबग' अफसोसपूर्वक 32 बिट निर्देश नहीं करता है।डीओएस 32-बिट x86 असेंबली

क्या किसी को ऐसे टूल के बारे में पता है जो 32-बिट x86 निर्देशों के लिए कुछ समान करता है? मैं पूरी संकलन प्रक्रिया के माध्यम से जाना नहीं चाहता; मुझे बस कुछ निर्देशों को दर्ज करने में सक्षम होना चाहिए और इसे निर्देश की लंबाई और उसके बाइट अनुक्रम को बाहर निकालना होगा।

+0

दिलचस्प सवाल! "डीबगिंग" टैगिंग क्यों नहीं? – pmod

+0

जब तक आपने इसका उल्लेख नहीं किया तब तक 'डीबगिंग' टैग जोड़ने का विचार नहीं किया था। धन्यवाद। – Sparky

उत्तर

4

डॉस debug एक इंटरैक्टिव कोडांतरक के साथ-साथ एक डिबगर था, असेंबली कोड में प्रवेश करने के परिणामस्वरूप उस लाइन को तुरंत मशीन कोड में परिवर्तित किया जा रहा है - जिसे आप बाहर निकाल दिया गया है।

तो आपको बस अपने पसंदीदा असेंबलर को स्क्रिप्ट या बैच-फ़ाइल के साथ स्वचालित करना है।

opcode() { 
    echo $* > tmp.S && nasm tmp.S -o tmp.o && od -x tmp.o 
    rm -f tmp.o tmp.S 
} 

एक सेकंड से भी कम समय लगता है:

यहाँ एक पार्टी समारोह मैं एक या दो मिनट में लोकप्रिय nasm कोडांतरक का उपयोग कर के साथ आया है। आमंत्रण इस तरह दिखता है:

$ opcode mov eax, [ebx] 
0000000 6667 038b 
0000004 
$ opcode fadd st0,st1 
0000000 c1d8 
0000002 

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

+0

धन्यवाद! आपने धमाल मचाया! – Sparky

1

कुछ सरल, 32-बिट कमांड लाइन डिबगर्स पाए जाते हैं। आपके विवरण के आधार पर, OllyDbg आपकी आवश्यकताओं को अच्छी तरह से फिट कर सकता है। कम से कम के कुछ संस्करणों माइक्रोसॉफ्ट के Debugging Tools for Windows एक CDB, जो कमांडलाइन डिबगर के लिए खड़ा है नामित में शामिल हैं (हालांकि मैं पुष्टि नहीं की है जुड़ा हुआ संस्करण यह भी शामिल है ...)

+0

दिलचस्प। अभी तक यह सुनिश्चित नहीं है कि यह मेरे उद्देश्यों के अनुरूप है, लेकिन मैं अभी भी इसके साथ खेल रहा हूं। सुझाव के लिए धन्यवाद। – Sparky

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