প্রথম জিনিস: কম্পিউটারের পক্ষে কোনও ফাইল পাইরেটেড কিনা তা জানার উপায় নেই। জলদস্যুতা একটি আইনী / নৈতিক শব্দ, এবং সেই হিসাবে এটির কোনও ফাইলের কোনও অর্থ নেই, যা কেবলমাত্র শূন্য এবং শূন্য দ্বারা গঠিত।
এটি বলেছিল, জলদস্যুতা প্রতিরোধ এবং পাল্টা ব্যবস্থা সাধারণত কোনও ব্যবহারকারীর এমন কিছু (সাধারণত একটি বস্তু) থাকে কি না তা সন্ধানের দিকে মনোনিবেশ করে যা কেবল গেমের একটি অনুলিপি ক্রয় করা হলেই পাওয়া যায় এবং এটি অনুলিপি করা শক্ত করে তোলে। এটি করার জন্য অনেকগুলি উপায় রয়েছে, প্রতিটি প্রত্যেকেই সুবিধার পাশাপাশি ত্রুটিগুলিও রয়েছে। আমি কয়েকটি উল্লেখ করব:
প্রারম্ভিক গেমগুলি ব্যবহারকারীদের গেম ম্যানুয়াল থেকে একটি শব্দ ইনপুট করতে বলেছিল, যা আপনি কেবল একটি গেম বাক্স কিনলে তা পাওয়া উচিত। কোনও ফটোকপিয়ার বা একটি স্ক্যানার সহজেই এই কৌশলটি পরাস্ত করে।
সম্প্রতি, মিডিয়া চেকগুলি আরও সাধারণ। ধারণাটি হ'ল গেমটি চালানোর জন্য আপনার গেম সিডি থাকা দরকার। এটি বাস্তবায়নের জন্য, আপনি উদাহরণস্বরূপ সিডি থেকে সমালোচনামূলক ডেটা ফাইলগুলি অ্যাক্সেস করতে পারেন যা গেমটি চলতে পারে না, বা কেবল সিডিতে কোনও ফাইলের অস্তিত্বের জন্য পরীক্ষা করতে পারেন। এটি সিডিগুলি নকল করা কঠিন ছিল যখন এটি বেশ ভাল কাজ করেছে, তবে সিডি কপিয়ার এবং আরও সাম্প্রতিক সময়ে ড্রাইভ এমুলেটরগুলি এই কৌশলগুলিকে সহজেই পরাস্ত করতে ব্যবহার করা যেতে পারে।
যাইহোক, সিডি অনুলিপিগুলি নিখুঁত নয়, তাই অন্যান্য অনেক কৌশল সিডিটি মূল চাপাচাপি সিডি কিনা, বা অনুলিপি সনাক্তকরণের দিকে মনোনিবেশ করে। এটি বাস্তবায়নের জন্য , গেমটি প্রেসের সময় গেম ডিস্কে প্রবেশ করা অ-মানক উপাদানগুলির জন্য যাচাই করতে পারে, তবে কোনও সিডি-আর-তে সহজে এবং নির্ভরযোগ্যভাবে কোনও সিডি বার্নার দ্বারা প্রতিলিপি করা যায় না। এটি করার কয়েকটি সাধারণ উপায় হ'ল:
মাস্টারিংয়ের সময় সিডিতে ডামি "ভুত" ফাইলগুলি তৈরি করা হচ্ছে যা সিডি ফাইল সিস্টেম থেকে অ্যাক্সেসযোগ্য নয়, তবে বিদ্যমান রয়েছে এবং আপনি সেগুলি কোথায় পাবেন তা যদি আপনি জানেন তবে পড়তে পারবেন। এই ডেটা ফাইল-বাই-ফাইল ডিস্ক অনুলিপিগুলিতে অনুপস্থিত। পুরো ডিস্ক চিত্রটি অনুলিপি করা হলেও এই ফাইলগুলি অনুলিপি করবে।
অন্য উপায় হ'ল ডিস্কে ইচ্ছাকৃত ত্রুটি inোকানো। সিডিতে ত্রুটি সংশোধন কোড থাকে। ডেটাতে ত্রুটিগুলি সন্নিবেশ করে, যা ডিস্ক রিডার দ্বারা স্বচ্ছভাবে সংশোধন করা যায়, ডিস্কটি স্বাভাবিকভাবে কাজ করবে, তবে ত্রুটিগুলি সিডি-আর-তে অনুলিপি করা হবে না। এই ইচ্ছাকৃত ত্রুটিগুলি অনুসন্ধান করে কোনও গেম কোনও সিডিটিকে একটি আসল চাপা অনুলিপি হিসাবে বিবেচনা করতে পারে। RAW ডিস্ক চিত্রের অনুলিপি যদিও এটি পরাস্ত করে।
যুগল সেক্টর একই ঠিকানা সহ সন্নিবেশ করা হচ্ছে তবে এগিয়ে এবং পিছনে ডেটা সন্ধান করার সময় বিভিন্ন তথ্য বিভিন্ন ফলাফল দেয়। এর অস্তিত্বের জন্য অনুসন্ধান করা সম্ভব এবং এই দুটি ক্ষেত্রের সাথে একটি সিডি নকল করা খুব কঠিন is
সিডিতে গর্তের প্রকৃত অবস্থান পরিমাপ করা । আবার, একই অবস্থানে পিটগুলি দিয়ে একটি সিডি নকল করা খুব কঠিন difficult
যাইহোক, অনেকগুলি সিডি এমুলেটর, যেমন ডেমন সরঞ্জামগুলি বা অ্যালকোহল 120% প্রকৃতপক্ষে এই বৈশিষ্ট্যগুলি অনুকরণ করতে পারে। এ কারণে, অনেক প্রকাশক একটি সিডি এমুলেটর সনাক্তকরণ পদক্ষেপ অন্তর্ভুক্ত করতে পছন্দ করেন এবং কোনও এমুলেটর সনাক্ত হলে গেমটি চলমান থেকে আটকাতে পারেন। একটি এমুলেটর সনাক্তকারী এর বাস্তবায়ন যদিও এই উত্তরের ক্ষেত্রের বাইরে।
পরিবর্তে, বা কোনও ফিজিকাল সিডির জন্য পরীক্ষা করা ছাড়াও, একটি গেম ব্যবহারকারীকে পণ্য কী হিসাবে কিছু ডেটা ইনপুট করার জন্য অনুরোধ করতে পারে । পণ্য কীগুলি ব্যবহার করার কয়েকটি উপায় হ'ল:
কীতে গাণিতিক বৈশিষ্ট্যগুলি পরীক্ষা করা হচ্ছে। তবে এটি মূল অনুলিপি প্রতিরোধ করে না, এবং যদি চেকিং অ্যালগরিদম সনাক্ত হয় বা বিপরীত ইঞ্জিনিয়ার করা হয়, তবে জলদস্যু ইচ্ছায় নতুন কী তৈরি করতে সক্ষম হতে পারে যা গেমটি বৈধ বলে মনে হবে। যে সফ্টওয়্যার ইচ্ছামত কী তৈরি করে তাকে " কীজেনস " বলা হয় ।
ব্যবহারকারীর হার্ডওয়ারের উপর ভিত্তি করে একটি হ্যাশ তৈরি করা, এই হ্যাশ এবং পণ্য কী (সাধারণত একটি সংমিশ্রণ, "ইনস্টলেশন কী" নামে পরিচিত) গেম সংস্থার মালিকানাধীন একটি সার্ভারে প্রেরণ করুন এবং হ্যাশ এবং সিরিয়ালের উপর ভিত্তি করে একটি অ্যাক্টিভেশন কী তৈরি করুন । একমুখী সংখ্যা পদ্ধতিগুলি (যেমন মডিউলার গাণিতিক বা উপবৃত্তাকার কার্ভগুলির সাথে কিছু পদ্ধতি) ব্যবহার করে একটি গেম দেখতে পারে যে সক্রিয়করণ কী হ্যাশ এবং সিরিয়াল কোডটির সাথে মেলে কিনা, এবং কেবল সেগুলি মিললে চালানো যায়। এই কৌশলটিকে "অ্যাক্টিভেশন" বলা হয়।
অ্যাক্টিভেশন সহ, একটি সার্ভার একই সিরিয়াল কোড সহ একাধিক হার্ডওয়্যার হ্যাশগুলির জন্য অ্যাক্টিভেশন কীগুলি সরবরাহ করতে অস্বীকার করতে পারে। এর কারণে, সিরিয়াল কোড এবং অ্যাক্টিভেশন কী অনুলিপি করা থাকলেও অ্যাক্টিভেশন কীটি মেলে না এবং গেমটি অন্য কম্পিউটারে চলবে না।
এই সমস্ত পদক্ষেপের অর্থ ব্যবহারকারী এই গেমটির একটি ক্রয়কৃত অনুলিপিটির মালিক কিনা তা খুঁজে বের করার জন্য। তবে, তাদের বাস্তবায়নের জন্য প্রোগ্রাম কোড প্রয়োজন যা এটি পরীক্ষা করে। জলদস্যুদের পক্ষে অনুলিপি বা চেকগুলি বাইপাস করার জন্য গেম কোডটি সংশোধন করা সম্ভব অনুলিপি সুরক্ষা ব্যবস্থাগুলি আক্রমণ করার পরিবর্তে themselves জলদস্যুতা বিরোধী চেকগুলি অপসারণ করতে গেম বাইনারিগুলি সংশোধন করার কাজটিকে "ক্র্যাকিং" বলা হয়।
ক্র্যাকিংয়ের মধ্যে কেবল এক্সিকিউটেবল গেমটি ছড়িয়ে দেওয়া, প্রাসঙ্গিক চেকগুলি কোথায় করা হয়েছিল তা খুঁজে পাওয়া, চেকগুলি অক্ষম করার জন্য এটি পরিবর্তন করে বা ফলাফলগুলি উপেক্ষা করে এবং এটি পুনরায় একত্রিত করে of ক্র্যাকিংয়ের বিরুদ্ধে লড়াই করার কয়েকটি উপায় হ'ল:
কিছু হ্যাশ দিয়ে বাইনারি পরীক্ষা করা হচ্ছে। তবে, এমন একটি প্রোগ্রাম অবশ্যই আছে যা হ্যাশ যাচাই করে, যার ফলে ক্র্যাকও হতে পারে।
প্রোগ্রামটি এনক্রিপ্ট করা বা কেবল চেক রুটিন এবং রানটাইম এ এটি ডিক্রিপ্ট করা। এটি বিচ্ছিন্নকরণকে আরও কঠিন করে তোলে, কারণ এতে এক বা একাধিক অতিরিক্ত ডিক্রিপশন পদক্ষেপ জড়িত। যদি প্রোগ্রামটিতে ডিক্রিপশন কীটি অন্তর্ভুক্ত করা হয় (যেমন এটি হওয়া আবশ্যক, কারণ এটি ছাড়া গেমটি ডিক্রিপ্ট করা যায় না), তবে জলদস্যু প্রকৌশলী ডিক্রিপশনকে বিপরীত করতে, রুটিনটি সন্ধান করতে এবং অনুলিপি সুরক্ষা ক্র্যাক করতে পারেন।
এ কারণে, একজন গেম প্রকাশক হিসাবে আপনি কীটি যথাসম্ভব শক্ত করে তুলতে চান এবং বিকল্পভাবে ডিক্রিপশন অ্যালগরিদমকে বোঝা শক্ত করে তুলতে চান। কীটি সন্ধান করা শক্ত করার কয়েকটি উপায় হ'ল:
তবে, আপনার কীগুলি তৈরি করতে আপনি যে পদ্ধতি ব্যবহার করেন তা নির্বিশেষে, ডিক্রিপশন প্রক্রিয়া চলাকালীন কীগুলি সেগুলি মেমরিতে থাকবে। মেমোরি ইন্সপেক্টর, ডিবাগার এবং এমুলেটররা জলদস্যুদের স্মৃতিতে থাকা অবস্থায় কীটি খুঁজে পেতে এবং অনুলিপি করতে সহায়তা করতে পারে। স্মৃতি উঁকি দেওয়ার উপর বিভিন্নভাবে আক্রমণ করা যেতে পারে:
একটি বিশেষাধিকারযুক্ত পরিষেবা রয়েছে যা নির্দিষ্ট অঞ্চলে মেমরির অ্যাক্সেসগুলি সনাক্ত করে এবং অন্য কোনও জায়গায় ঠিকানাটি পুনর্নির্দেশ করে। যেহেতু এর জন্য রিং 0 অ্যাক্সেসের প্রয়োজন হয় এবং প্রোগ্রামগুলি যেগুলি সাধারণত এটি বৈধ নয় এমন আইনী উদ্দেশ্যে ব্যবহৃত হয় , অ্যান্টিভাইরাস সফ্টওয়্যার সাধারণত এগুলি ব্লক করে। (এ কারণেই অনেক গেমস এবং অন্যান্য সফ্টওয়্যার চলমান অবস্থায় ভাইরাস সুরক্ষা বন্ধ করতে বলে)। লিখিত সফ্টওয়্যার যা সঠিকভাবে এটি করে তা অত্যন্ত কঠিন এবং এটি হোস্ট ওএসের স্থায়িত্ব এবং সুরক্ষার সাথে সহজেই আপস করতে পারে। XCP কলঙ্ক এই পদ্ধতি সর্বস্বান্ত ভুল একটি বাস্তবায়ন একটি ভাল উদাহরণ।
আধুনিক হার্ডওয়্যার এবং অপারেটিং সিস্টেমগুলি মেমরির পরিদর্শন প্রতিরোধী থাকা অবস্থায় ডেটা ডিক্রিপ্ট করে এমন একটি প্রোগ্রাম তৈরি করা আরও সহজ করার জন্য মেমোরি পর্দা , সুরক্ষিত মিডিয়া পাথ এবং টিপি মডিউলগুলির মতো কিছু সরঞ্জাম সরবরাহ করে ।
জলদস্যুদের আক্রমণ করার জন্য আরও অনেক কৌশল রয়েছে, তুচ্ছ থেকে শুরু করে এসোসট্রিক পর্যন্ত। দুর্ভাগ্যক্রমে, এই সমস্ত কৌশলগুলির পক্ষে একটি আসল অনুলিপি সনাক্ত করতে ব্যর্থ হওয়া সম্ভব এবং এটি সাধারণত আরও আক্রমণাত্মক কৌশলগুলির উচ্চতর মিথ্যা ধনাত্মক অনুপাত রয়েছে।
গেম প্রকাশক হিসাবে, আপনি সাধারণত কৌশলগুলির একটি সেট চয়ন করতে চান যার বাস্তবায়নের ব্যয়, প্রত্যাশিত ক্র্যাকিং সময় এবং মিথ্যা ইতিবাচক অনুপাত আপনার প্রত্যাশার সাথে সামঞ্জস্য হয়।
এটি একটি সাধারণ ভুল ধারণা যে পাইরেসি রক্ষা সম্পূর্ণরূপে অবিচ্ছেদ্য হতে বোঝানো। বেশিরভাগ গেম বিক্রয় রিলিজের পরে প্রথম কয়েক মাসেই ঘটে থাকে, তাই জলদস্যুতা সুরক্ষা স্কিমটি প্রায়শই কার্যকর হিসাবে বিবেচিত হয় যদি এটি ভঙ্গ হয়ে যাওয়ার আগে গেম প্রকাশককে প্রচুর পরিমাণে মুনাফা সংগ্রহ করতে যথেষ্ট সময় ব্যয় করে।
গেম ডেভ টাইকুন সম্পর্কিত, তারা কোনও জলদস্যুতা বিরোধী প্রযুক্তি ব্যবহার করেনি। তারা কেবল একটি "ভাঙা" বিল্ড তৈরি করেছে এবং এটি বিটটোরেন্টের উপরে বিতরণ করেছে, যেমনটি আপনি উল্লিখিত নিবন্ধটির শুরুতে বলা আছে।