Reverse Engineering এর মানে বুঝাতে গেলে বলতে হবে কোন মেশিন বা সিস্টেমের ডিজাইন দেখে সেটার মতই আরেকটা ডিজাইন করা। কিন্তু সফটওয়ার ইঞ্জিনিয়ারিং এর ক্ষেত্রে কোন প্রোগ্রামের সোর্স কোড বের করাকে Reverse Engineering বলা হয়। একে আবার Back Engineering ও বলা যায়!
আর এর ইতিহাস ঘাটতে গেলে বলে বলা যায় Dos Disk Operating System এর গেমস গুলোর সময়ে গেমসগুলোর রিভার্স করা হত ফুল লাইফ আর এমোর জন্য! তখন গেমসের মেমোরি লোকেশন থেকে ভ্যালু চেঞ্জ করে দিয়ে একরকম চিটিং করে গেমস খেলা হত, আর সেখান থেকেই Reverse Engineering শুরু!
আর এর ইতিহাস ঘাটতে গেলে বলে বলা যায় Dos Disk Operating System এর গেমস গুলোর সময়ে গেমসগুলোর রিভার্স করা হত ফুল লাইফ আর এমোর জন্য! তখন গেমসের মেমোরি লোকেশন থেকে ভ্যালু চেঞ্জ করে দিয়ে একরকম চিটিং করে গেমস খেলা হত, আর সেখান থেকেই Reverse Engineering শুরু!
যেসব পেইড সফটওয়্যার আমরা প্রতিনিয়ত ফ্রি তে ইউস করছি এগুলো কিন্তু সবই Reverse Engineering ছাড়া আর কিছুই না! যেটাকে ‘Cracked’ বললেই সবাই এক কথায় বুঝতে পারি। Reverse Engineering এর ক্ষেত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজের কম্পাইল্ড ল্যাঙ্গুয়েজ বাইনারি ০,১ বের করা হয় আর সেটাকে লজিকাল প্রসেসরের মধ্যে নিয়ে এর থেকে প্রোগ্রামের সোর্স কোড আবার বের করা হয়। আর এরপরই সেটাকে আবার রিবিল্ড করা হয় নিজের ইচ্ছামত। আর তখনই পেইড সফটওয়ারগুলোর স্ক্রিপ্টের যে অংশগুলোতে পেমেন্ট চাওয়ার প্রসেসের কোডগুলো থাকে সেগুলোই কেটে দেওয়া হয়!
সাধারণত প্রোগ্রামের বাগ ফিক্সিং, ব্লক স্টেটমেন্ট ধরা পরলে সেটা ঠিক করা, সোর্স কোড হারিয়ে গেলে ব্যাক করানো, এক প্রসেসরের জন্য বানানো হলে সেটাকে অন্য প্রসেসরে চালানোর মত মডিফাই করা, পারফরম্যান্স বাড়ানো কিংবা প্রোগ্রামের নির্দিষ্ট অংশ ব্যাবহার করার জন্য(যেমনঃ পেইড সফটওয়্যার গুলো ফ্রি ইউস করা) Reverse Engineering করা হয়। আর Reverse Engineering এর বস টুলগুলো হচ্ছে CFF Explorer আর IDA-Pro
আমরা স্মার্টফোন কিংবা কম্পিউটারে যেসব এন্টিভাইরাস ব্যাবহার করি সেগুলো কিন্তু ডিভাইসের ফাইলগুলো রিভার্স করেই এর সোর্স কোডগুলো রিড করে কোন সন্দেহজনক কোড পেলেই সেটাকে ভাইরাস হিসেবে মার্ক করে!
যাই হোক রিভার্স ইঞ্জিনিয়ারিং কিন্তু সত্যিই মজার একটা ব্যাপার! কিন্তু পারমিশন ছাড়া Reverse Engineering করা ক্রাইম! কপিরাইট আইনের ৫২ ধারা অনুযায়ী Reverse Engineering সীমিত মাত্রায় অনুমোদিত! কিন্তু আমরা যেসব পেইড সফটওয়ারগুলো ফ্রিতে ব্যাবহার করছি এগুলোর প্রায় সবই কপিরাইট রুলস ডাবল লেয়ারে ব্রেক করে!
আরেকটা ব্যাপার হচ্ছে যারা Reverse Engineering করে আপনার জন্য হাজার হাজার টাকার প্রোগ্রাম ফ্রিতে ব্যাবহার করতে দিচ্ছে তারা কি বিনিময়ে কিছুই নিচ্ছে না আপনার থেকে? হ্যাঁ! যা ভাবছেন তাই, এরাই বড় বস লেভেলের থার্ড পার্টি আর এটা থার্ড থেকে ফোর্থ, ফিফথ…এভাবে লুপটা ইনফিনিটি লুপে চলতে থাকে!