Bit nibbler
বিট নিব্বলার বা নিব্বলার হল একটি কম্পিউটার সফ্টওয়্যার প্রোগ্রাম যা ফ্লপি ডিস্ক থেকে একবারে এক বিট ডেটা অনুলিপি করার জন্য ডিজাইন করা হয়েছে। এটি খুব নিম্ন স্তরে কাজ করে যা সরাসরি ডিস্ক ড্রাইভ হার্ডওয়্যারের সাথে মিথস্ক্রিয়া করে একটি অনুলিপি সুরক্ষা স্কিমকে ওভাররাইড করে যাতে ফ্লপি ডিস্কের ডেটা সংরক্ষণ করা যেতে পারে। বেশিরভাগ ক্ষেত্রে নিব্বলার সফ্টওয়্যার এখনও একটি বাইট স্তরে ডেটা বিশ্লেষণ করে, শুধুমাত্র সিঙ্ক্রোনাইজেশন চিহ্ন (সিঙ্ক), শূন্য-ফাঁক এবং অন্যান্য সেক্টর এবং ট্র্যাক হেডারগুলির সাথে কাজ করার সময় বিট স্তরের দিকে তাকায়। সম্ভব হলে, নিব্বলারগুলি ডিস্ক সিস্টেম দ্বারা ব্যবহৃত নিম্ন-স্তরের ডেটা এনকোডিং বিন্যাসের সাথে কাজ করবে, যেমন গ্রুপ কোডেড রেকর্ডিং (জিসিআর-অ্যাপল, কমোডোর), ফ্রিকোয়েন্সি মড্যুলেশন (এফএম-আটারি), বা পরিবর্তিত ফ্রিকোয়েন্সি মড্যুলেশন (এমএফএম-আমিগা, আটারি, আইবিএম পিসি)। সফ্টওয়্যার পাইরেসি একটি উদ্বেগের বিষয় হতে শুরু করে যখন ফ্লপি ডিস্কগুলি সাধারণ সঞ্চয় মাধ্যম হয়ে ওঠে। অনুলিপি করার সহজতা সিস্টেমের উপর নির্ভর করে; জেরি পোর্নেল 1983 সালে বিওয়াইটিই-তে লিখেছিলেন যে "সিপি/এম সুরক্ষা অনুলিপি করার জন্য নিজেকে ধার দেয় না" তাই এর ব্যবহারকারীরা এটি সম্পর্কে "খুব বেশি চিন্তিত হননি", যদিও "অ্যাপল ব্যবহারকারীদের, যদিও, সর্বদা সমস্যা ছিল। যারা টিআরএস-ডস ব্যবহার করেছেন তাদেরও তাই আছে, এবং আমি বুঝতে পারি যে এমএস-ডসের অনুলিপি সুরক্ষা বৈশিষ্ট্য রয়েছে। " অ্যাপল এবং কমোডোর 64 কপি সুরক্ষা প্রকল্পগুলি অত্যন্ত বৈচিত্র্যময় এবং সৃজনশীল ছিল কারণ বেশিরভাগ ফ্লপি ডিস্ক পড়া এবং লেখা সফ্টওয়্যার (বা ফার্মওয়্যার) দ্বারা নিয়ন্ত্রিত হত, হার্ডওয়্যার দ্বারা নয়। পোর্নেল অনুলিপি সুরক্ষা অপছন্দ করতেন এবং গেম ব্যতীত এটি ব্যবহার করা সফ্টওয়্যার পর্যালোচনা করতে অস্বীকার করেছিলেন। তিনি বিশ্বাস করতেন না যে এটি কার্যকর ছিল, লিখেছিলেন "প্রতিটি অনুলিপি সুরক্ষা প্রকল্পের জন্য একজন হ্যাকার এটিকে পরাজিত করতে প্রস্তুত। বেশিরভাগ তথাকথিত নাইবল কপিয়ার জড়িত, যা মূল ডিস্কটি বিশ্লেষণ করার চেষ্টা করে এবং তারপরে একটি অনুলিপি তৈরি করে। 1980 সালের মধ্যে, প্রথম 'নিবল' কপিয়ার, লকস্মিথ, অ্যাপল 2-এর জন্য চালু করা হয়েছিল। এই কপিয়াররা সেকটরগুলি কীভাবে চিহ্নিত করা হয়েছিল তা উপেক্ষা করে একবারে একটি সম্পূর্ণ ট্র্যাকের সুরক্ষিত ফ্লপি ডিস্কের প্রতিলিপি পুনরুত্পাদন করেছিল। দুটি কারণে এটি করা কঠিন ছিলঃ প্রথমত, অ্যাপল ডিস্কগুলি একটি ট্র্যাকের সূচনা চিহ্নিত করতে সূচক গর্ত ব্যবহার করেনি; তাদের ড্রাইভগুলি সূচক গর্তও সনাক্ত করতে পারেনি। ট্র্যাকগুলি এইভাবে যে কোনও জায়গায় শুরু হতে পারে, তবে অনুলিপি করা ট্র্যাকটিতে এই "রাইট স্প্লাইস" থাকতে হবে, যার ফলে গতির বৈচিত্র্যের কারণে সর্বদা কিছু বিট হারিয়ে যায় বা ডুপ্লিকেট হয়, মোটামুটিভাবে মূলটির মতো একই জায়গায় (পেলোড ডেটার জন্য অব্যবহৃত), অথবা এটি কাজ করবে না। দ্বিতীয়ত, অ্যাপল ড্রাইভ কন্ট্রোলার এবং কম্পিউটারের মধ্যে চুক্তি অর্জনের জন্য বিশেষ "সেলফ-সিঙ্ক" বাইট ব্যবহার করে যেখানে কোনও বাইট শেষ হয় এবং পরবর্তীটি ডিস্কে শুরু হয়। এই বাইটগুলি সাধারণ ডেটা বাইট হিসাবে লেখা হত এবং তারপরে স্বাভাবিক বিরতির চেয়ে কিছুটা দীর্ঘ হয়, যা রিড-ব্যাকে সনাক্ত করা কুখ্যাতভাবে অবিশ্বস্ত ছিল; তবুও, আপনাকে স্ব-সিঙ্ক বাইটগুলি মোটামুটি সঠিকভাবে পেতে হবে কারণ সেগুলি সঠিক জায়গায় উপস্থিত না থাকলে, অনুলিপিটি কাজ করবে না এবং সেগুলি অনেক জায়গায় উপস্থিত থাকলে, ট্র্যাকটি গন্তব্য ডিস্কে ফিট করবে না। অ্যাপল II লকস্মিথ অ্যাপল II ডিস্কগুলি এই সত্যের সুযোগ নিয়ে অনুলিপি করেছিল যে সেক্টরগুলির মধ্যে এই সিঙ্ক ক্ষেত্রগুলি প্রায় সর্বদা এফএফ (হেক্স-সমস্ত '1' বিট) বাইটের একটি দীর্ঘ স্ট্রিং নিয়ে গঠিত। এটি এফএফ-এর দীর্ঘতম স্ট্রিং খুঁজে পায়, যা সাধারণত প্রতিটি ট্র্যাকের শেষ এবং প্রথম সেক্টরের মধ্যে ঘটে এবং ট্র্যাকটি তার মাঝখানে লিখতে শুরু করে; এছাড়াও এটি ধরে নেয় যে এফএফ বাইটের যে কোনও দীর্ঘ স্ট্রিং একটি সিঙ্ক ক্রম ছিল এবং প্রতিটি অনুলিপিতে লেখার পরে প্রয়োজনীয় সংক্ষিপ্ত বিরতি প্রবর্তন করে। হাস্যকরভাবে, লকস্মিথ নিজেকে নকল করবে না। প্রথম লকস্মিথ প্রতিটি ট্র্যাকের সেক্টর 1-এর মধ্যে দূরত্ব পরিমাপ করেন। অনুলিপি সুরক্ষা প্রকৌশলীরা দ্রুত বুঝতে পেরেছিলেন যে লকস্মিথ কী করছেন এবং এটিকে পরাজিত করার জন্য একই কৌশল ব্যবহার করতে শুরু করেছিলেন। লকস্মিথ ট্র্যাক সারিবদ্ধকরণ পুনরুত্পাদন করার ক্ষমতা প্রবর্তন করে পাল্টা জবাব দেয় এবং নিবলের একটি বিশেষ ক্রম এম্বেড করে নিজেকে অনুলিপি করা থেকে বিরত রাখে, যা পাওয়া গেলে অনুলিপি প্রক্রিয়াটি বন্ধ করে দেবে। দক্ষিণ ক্যারোলিনা বিশ্ববিদ্যালয়ের কম্পিউটার বিজ্ঞানের স্নাতক ছাত্র, রিভার্স ইঞ্জিনিয়ারড লকস্মিথ, হেনরি রবার্টস (নালপাইরনের সিটিও) ক্রমটি খুঁজে পেয়েছিলেন এবং সেই সময়ে অনুলিপি সুরক্ষা তৈরি করা 7 বা 8 জনের মধ্যে কিছু লোককে তথ্য বিতরণ করেছিলেন। কিছু সময়ের জন্য, লকস্মিথ কার্যত বিদ্যমান সমস্ত অনুলিপি সুরক্ষা ব্যবস্থাকে পরাজিত করতে থাকে। পরবর্তী অগ্রগতি এসেছে সফ্টওয়্যার অনুলিপি সুরক্ষার উপর হেনরি রবার্টসের থিসিস থেকে, যা অ্যাপলের এফএফ-এর সিঙ্ক ক্ষেত্রকে বাইটের এলোমেলো উপস্থিতির নিদর্শনগুলির সাথে প্রতিস্থাপনের একটি উপায় তৈরি করেছিল। যেহেতু স্নাতক ছাত্রটি অ্যাপলের অনুলিপি সুরক্ষা ইঞ্জিনিয়ারের সাথে ঘন ঘন অনুলিপি সুরক্ষা আলোচনা করত, তাই অ্যাপল একটি অনুলিপি সুরক্ষা ব্যবস্থা তৈরি করেছিল যা এই কৌশলটি ব্যবহার করেছিল। হেনরি রবার্টস তখন লকস্মিথকে একটি প্রতিযোগিতামূলক প্রোগ্রাম লিখেছিলেন, ব্যাক ইট ইউপি। তিনি এটিকে পরাজিত করার জন্য বেশ কয়েকটি পদ্ধতি উদ্ভাবন করেছিলেন এবং শেষ পর্যন্ত স্ব-সমন্বয় ক্ষেত্রগুলি সরাসরি পড়ার জন্য একটি পদ্ধতি তৈরি করা হয়েছিল, সেগুলির মধ্যে যে নিবলই থাকুক না কেন। দ্বিতীয় অ্যাপল অপ্রচলিত হয়ে যায় এবং আইবিএম পিসি এবং এর ক্লোন দ্বারা প্রতিস্থাপিত না হওয়া পর্যন্ত অনুলিপি সুরক্ষা প্রকৌশলী এবং নিবল কপিয়ারদের মধ্যে পিছনে পিছনে লড়াই অব্যাহত ছিল। কমোডোর 64 ফাস্ট হ্যাক 'এম ডিস্ক অনুলিপি সফ্টওয়্যারের একটি অংশ ছিল একটি নিববলার যা সুরক্ষিত কমোডোর 64 বাণিজ্যিক সফ্টওয়্যারের অনুলিপি তৈরি করতে ব্যবহৃত হত। নিব্বলার ব্যবহার করার সময়, স্ট্যান্ডার্ড কমোডোর ডস কমান্ড ব্যবহার করার পরিবর্তে খুব নিম্ন স্তরে, বিট-বাই-বিটে ডিস্ক অনুলিপি করা হত। এটি কার্যকরভাবে ইচ্ছাকৃত ডিস্ক ত্রুটি, অ-মানক ট্র্যাক বিন্যাস এবং অনুলিপি প্রতিরোধের সম্পর্কিত রূপগুলির কার্যকারিতা বাতিল করে দেয়। একটি সুরক্ষিত ডিস্ক অনুলিপি করতে প্রায় 60 সেকেন্ড সময় লাগে যদি সরাসরি অন্য ডিস্ক ড্রাইভে অনুলিপি করা হয়, অথবা 3 মিনিট (প্লাস বেশ কয়েকটি ডিস্ক অদলবদল) যদি একক ডিস্ক ড্রাইভ ব্যবহার করে সঞ্চালিত হয়। সুপার কিট/1541 প্রিজম সফ্টওয়্যার দ্বারা 1986 সালের দিকে বিক্রি করা হয়েছিল যা জো পিটার লিখেছেন যিনি র্যাপ স্পিড এবং কিছু ভিম্যাক্স অনুলিপি সুরক্ষাও করেছিলেন। এর মধ্যে নরমাল কপিয়ার, নিব্বলার, ফাইল কপিয়ার, সুপার নিব্বলার, ডিস্ক সার্জন এবং ডিস্ক সম্পাদকের মতো বিভিন্ন কপিয়ার অন্তর্ভুক্ত ছিল। সাইড-বি-তেও পরামিতি ছিল (নীচের তালিকাটি দেখুন)। 2টি ড্রাইভ ডেইজি চেইনডও হতে পারে এবং একবার প্রোগ্রাম করা হলে কম্পিউটার নিজেই সংযোগ বিচ্ছিন্ন করা যেতে পারে এবং প্রায় 20 সেকেন্ডের মধ্যে ডিস্ক সন্নিবেশ কী পরীক্ষা করে ড্রাইভগুলিকে অনুলিপি করতে দেওয়া যেতে পারে। মজার বিষয় হল যে প্রোগ্রামটি নিজের একটি অনুলিপি তৈরি করতে পারত, কিন্তু অনুলিপিটির একটি অনুলিপি তৈরি করতে পারেনি কারণ মূলটির সিঙ্ক দৈর্ঘ্য তৈরি করা অনুলিপির চেয়ে ছোট ছিল এবং লোডার এই দৈর্ঘ্যের জন্য পরীক্ষা করেছিল এবং অনুলিপিটির অনেক দীর্ঘ সিঙ্ক থাকবে। লেখক পরে ভি3-কে পি. ডি-তে প্রকাশ করেন। এনআইবিটুলস একটি আধুনিক (প্রায় 2006) ওপেন সোর্স সফ্টওয়্যার যা একই কাজ করে, মূলত কপিরাইট-সুরক্ষিত বা ক্ষতিগ্রস্ত হতে পারে এমন পুরানো ফ্লপি থেকে ডেটা সংরক্ষণের উদ্দেশ্যে। বিট-বাই-বিট পড়ার পরিবর্তে, কেউ 1.25 কেবি প্রসারিত অংশগুলি পড়তে পারে এবং তারপরে সেগুলিকে শটগান সিকোয়েন্সিংয়ের মতোভাবে একত্রিত করতে পারে, যা কমোডোর 1541-এ ধীর সংযোগগুলি ব্যবহার করার জন্য প্রয়োজনীয় একটি পদ্ধতি। র্যাপিডলক একটি অনুলিপি সুরক্ষা প্রকল্প ছিল যা অনেক সংস্থার দ্বারা ব্যাপকভাবে ব্যবহৃত হত এবং এর কোনও সংস্করণ কখনও সফলভাবে অনুলিপি করা হয়নি। তারা সেক্টরগুলির মধ্যে একটি $00 মান ব্যবহার করেছিল যার ফলে কপিয়ারগুলি "ফ্লেকি" হয়ে যায় কারণ এটি একটি অবৈধ জিসিআর মান ছিল। রেফারেন্স ইউটিলিটি সফ্টওয়্যার ফ্লপি ডিস্ক কম্পিউটার স্টোরেজ অনুলিপি সুরক্ষা