এটি একটি খুব আকর্ষণীয় প্রশ্ন। সেখানে লক্ষ লক্ষ নির্দেশ রয়েছে, তবে খুব সাধারণভাবে ব্যবহৃত কয়েকটি মুষ্টিমেয়।
আমি প্রথমে যা দেখছি তা হ'ল উত্স এবং উদ্দেশ্যে ব্যবহার। আপনি যদি সন্দেহ করেন যে এটি মার্কিন যুক্তরাষ্ট্রে ডিজাইন করা হয়েছিল , তবে আপনি প্রাথমিকভাবে ইংরেজীতে ডেটাশিটগুলি সহ প্রসেসরগুলিকে লক্ষ্যবস্তু করে তুলবেন। যদি এটি এশিয়ায় ডিজাইন করা হয়েছিল, তবে তারা প্রচুর পরিমাণে প্রসেসর ব্যবহার করে যে তারা বড় পরিমাণে উত্পাদিত ডিভাইস ব্যবহার করে যা মার্কিন প্রকৌশলীরা খুব কমই দেখতে পান see এমনকি ইউরোপের কয়েকটি প্রসেসর রয়েছে যা অন্যদের চেয়ে বেশি সাধারণ।
আমি তারপরে কোডের আকার এবং কার্যকারিতাটি একবার দেখে নেব (কোডটি কিছুটা ডিগ্রীতে কী করে তা আপনি ধরে নিচ্ছেন)। যদি এটি কোডের কয়েকটি মেগাবাইট হয় তবে আপনি বেশিরভাগ এম্বেডেড 8 বিট প্রসেসর ছাড় দিতে পারেন এবং বাহ্যিক মেমরির সাহায্যে বৃহত্তর ডিভাইসগুলির দিকে তাকাতে শুরু করতে পারেন। যদি এটি কয়েক কিলোবাইট বা তার চেয়ে কম হয়, তবে আপনি পরিবর্তে আরও ছোট, সস্তা ডিভাইসগুলিতে ফোকাস করতে চান। কার্যকারিতা যদি সহজ হয় তবে এটি চার বিট প্রসেসরের কোডও হতে পারে।
এই মুহুর্তে এটি মেমরির কাঠামোর দিকে সার্থক। একটি প্রোগ্রাম বিভাগ এবং সর্বনিম্ন একটি ডেটা বিভাগ থাকার সম্ভাবনা রয়েছে। যদি এটি একটি বাইনারি ফাইল (বনাম ইনটেল হেক্স বা মোটোরোলা গুলি রেকর্ড) হয় তবে আপনার স্মৃতিতে নির্দিষ্ট কিছু তথ্য কোথায় রাখা হচ্ছে তা সম্পর্কে আপনার অন্তর্দৃষ্টি রয়েছে। একটি হেক্স সম্পাদক কিছু নিদর্শন প্রদর্শন করতে পারে। যদি এটি কোনও হেক্স বা রেকর্ড ফর্ম্যাটে আসে তবে প্রসেসরের এটির জন্য মেমরি কাঠামো সম্পর্কে আপনার আরও তথ্য থাকতে পারে। কিছু প্রসেসর প্রোগ্রামের মেমরি লোকেশনে 0 পুনরায় সেট করে, কিছু উচ্চ মেমরির স্থানে। প্রোগ্রামটি EEPROM প্রাথমিক মানগুলিকে একটি পৃথক মেমরি লোকেশনে অন্তর্ভুক্ত করতে পারে। যদি এটি কোনও সুরক্ষিত প্রসেসরের জন্য বোঝানো হয় (যেমন ব্যাঙ্কিংয়ে ব্যবহৃত হয়) তবে এটির কাছে কোনও বিজোড় মেমরির অবস্থানের জন্য সুরক্ষা কী থাকতে পারে।
এটি যে প্রোগ্রামে প্রোগ্রাম করা হয়েছিল তার উপর নির্ভর করে আপনার কিছু অতিরিক্ত ক্লু থাকতে পারে। যদি এটি সি বা অনুরূপ প্রক্রিয়াজাতীয় ভাষায় প্রোগ্রাম করা হয়, তবে স্ট্যাকের নির্দিষ্ট রেজিস্টারগুলি সংরক্ষণের জন্য প্রচুর নির্দেশাবলীর ক্রম দিয়ে ফাংশনগুলি প্রায়শই শুরু হবে (প্রচুর পুশ) তবে স্ট্যাক থেকে মূল মানগুলি ফিরিয়ে আনার জন্য প্রচুর পপ ফিরিয়ে দেওয়ার ঠিক আগে । আপনি যদি কিছু প্যাটার্ন স্বীকৃতি করতে পারেন তবে আপনি এই ক্রমের অনেকগুলি জুড়েই খুঁজে পাবেন এবং কোন নির্দেশাবলী সম্ভবত ধাক্কা / পপ নির্দেশাবলী, ফিরে আসা ইত্যাদি যা আপনার পছন্দগুলি কিছুটা সংকুচিত করতে পারে তা নির্ধারণ করতে সক্ষম হতে পারেন।
যদি এটি বিঘ্ন সহ একটি এম্বেডড ডিভাইস থাকে তবে এটিতে একটি বাধা ভেক্টর টেবিল থাকতে পারে, যা কোনও বৃহত ব্লকের সমস্ত মেমরি লোকেশনে লাফানোর গোছার মতো দেখাবে, সম্ভবত কোনও সুবিধাজনক স্থানে (উদাহরণস্বরূপ 0x ??? 0) । অন্যান্য জিনিসগুলির জন্যও জাম্প টেবিলগুলি অন্য কোথাও ব্যবহৃত হয়, তবে আপনি যদি কোনও নির্দেশের ক্রমটি সন্ধান করতে পারেন তবে ঠিক যে দিকে ঝাঁপ দেওয়ার জন্য ঠিকানাটি থাকবে তা বাদ দিয়ে আপনি কোনও লাফের নির্দেশের চেহারাটি আবার সংকীর্ণ করতে পারেন and আপনার পছন্দ নিচে।
এই মুহুর্তে, আমি সর্বাধিক সাধারণ প্রসেসরের আর্কিটেকচার দিয়ে শুরু করব এবং কোনও কিছু সংযুক্ত কিনা তা দেখতে চাই see এক্স 86, আর্ম, মিপস, 8051, এভিআর, পিক, পাওয়ারপিসি, জেড 80, 68 কে, 6502, ইত্যাদি ইত্যাদি। সাধারণ প্রসেসর এবং নির্দেশের সেটগুলির তালিকা রয়েছে - কমপক্ষে ইংরেজি স্পিকিং ওয়ার্ল্ডে - যা সহায়ক হতে পারে।
আমি কোনও অটোমেটেড সরঞ্জাম সম্পর্কে সচেতন নই যা এটির সাহায্যে সহায়তা করবে তবে এমএএমএইএম অনেকগুলি প্রসেসরের আর্কিটেকচারকে অনুকরণ করে এবং একটি সম্ভাব্য পদ্ধতি হ'ল বেশ কয়েকটি প্রসেসরের মাধ্যমে কোড চালানো এবং কোনটি কি অনুসারে ক্লিক করে কিনা তা দেখতে নিবন্ধগুলি দেখুন watch আপনি ডিজাইন সম্পর্কে জানেন।