উপর সরকারী raspberrypi.org ফোরাম , "ডোম" - কোন মডারেটরের লিখেছিলেন:
আমি আপনার বোর্ডটিকে আপনার ক্রমিক নম্বরটি দিতে অনুরোধ করেছি
আমি কীভাবে রাস্পবেরি পাইয়ের ক্রমিক নম্বর সম্পাদনা করব?
/proc/cpuinfo
? নিশ্চিত না যদিও এটি ডিকোডার
উপর সরকারী raspberrypi.org ফোরাম , "ডোম" - কোন মডারেটরের লিখেছিলেন:
আমি আপনার বোর্ডটিকে আপনার ক্রমিক নম্বরটি দিতে অনুরোধ করেছি
আমি কীভাবে রাস্পবেরি পাইয়ের ক্রমিক নম্বর সম্পাদনা করব?
/proc/cpuinfo
? নিশ্চিত না যদিও এটি ডিকোডার
উত্তর:
আমি এই ফোরামের থ্রেড থেকে এটি অনুলিপি করছি ।
ডোমের সমস্ত উত্স কোড, ভিডিওোকোর ডিবাগার এবং অনেকগুলি বন্ধ ভিসি নির্দিষ্ট সরঞ্জামগুলিতে অ্যাক্সেস রয়েছে। এবং সিরিয়াল নম্বর পরিবর্তন করার অনুমতি দেওয়ার জন্য কোনও তথ্য প্রকাশ করা কোডেক লাইসেন্সিংয়ের প্রক্রিয়াটিকে ভেঙে দেয়, তাই কখনই ঘটে না।
থ্রেড হিসাবে পোস্ট হিসাবে অতিরিক্ত। সিরিয়ালটি পরিবর্তনের একমাত্র কারণ হ'ল অন্য কারও এমপি 4 লাইসেন্স অনুলিপি করা এবং এটি ব্যবহার করা। যেমন লাইসেন্সের চারপাশে সুরক্ষা। আপনার অনন্য সিরিয়ালটি এমপি 4 লাইসেন্সের সাথে যুক্ত, সুতরাং কেউ যদি আপনার লাইসেন্সের কীটি পেয়েও যায় তবে তারা এটির সাথে কিছু করতে সক্ষম হবে না (যদি না তারা রাস্পবেরি পাইয়ের ক্রমিক নম্বর পরিবর্তন করতে পারে)।
আপডেট: আসল প্রশ্নের উত্তর দিতে। আমি বলব যেহেতু ডোমের প্রকৃত নিম্ন স্তরের ফার্মওয়্যারের উত্স রয়েছে। আমি কল্পনা করতে পারি যে তিনি সত্যই সিরিয়ালটি পড়ার উত্স কোডটি পরিবর্তন করছেন এবং এটিকে আলাদা মান ফেরত দিতে বাধ্য করছেন। আমি সত্যই সন্দেহ করি যে এটি আসলে পরিবর্তিত হয়েছিল (সিপিইউতে আমি বলতে চাইছি), যেমনটি তিনি অন্য কোনও সিরিয়াল ফেরানোর জন্য ফার্মওয়্যারের কিছু কোড পরিবর্তন করেছিলেন। জিজ্ঞাসাকারীর কাছে ক্ষমা চেয়েও, আমরা সবাই আপনাকে প্রশ্নের উত্তর দেওয়ার পরিবর্তে একটি "কেন? ভাল লাগছে না ste তোমার চুরি" দিয়েছে। আমার খারাপ।
ইউজারস্পেস প্রোগ্রামগুলি যতটা উদ্বিগ্ন, এগুলি বোকা বানানো এবং কোনও ফাইলের বিষয়বস্তু নকল করা বেশ সহজ। উদাহরণস্বরূপ, ধরুন কোনও সি প্রোগ্রাম /proc/cpuinfo
সিরিয়াল নম্বর যাচাই করতে ফাইল ব্যবহার করছে । প্রোগ্রামটি কপিরাইট-সুরক্ষিত এবং সিরিয়ালে বাঁধা, এবং আমার কাছে সোর্স কোড নেই। তবে, আমি এখনও চালাতে পারি strace program 2>&1 | grep cpuinfo
, যা এরকম কিছু প্রকাশ করবে:
open("/proc/cpuinfo", O_RDONLY) = 3
এই মুহুর্তে, আমি cpuinfo.so
নীচের ফাংশন সহ একটি ছোট গ্রন্থাগার তৈরি করতে পারি :
int open(const char *file, int flags) {
static int (*real_open)(const char *file, int flags);
if(!real_open) real_open = dlsym(RTLD_NEXT, "open");
if(!strcmp(file, "/proc/cpuinfo")) file = "/tmp/cpuinfo";
return real_open(file, flags);
}
আপনি দেখতে পাচ্ছেন যে, আমি লাইব্রেরির ব্যবহারকারীটি খোলার চেষ্টা করে কিনা তা যাচাই করছি /proc/cpuinfo
, সেই ক্ষেত্রে আমি /tmp/cpuinfo
পরিবর্তে খোলাম।
তারপরে আমি আসল অনুলিপি-সুরক্ষিত প্রোগ্রামটি LD_PRELOAD=/path/to/cpuinfo.so program
এটির মতো চালাব /proc/cpuinfo
এবং বাকী ফাইলগুলির সাথে সঠিকভাবে কাজ করার সময় এটি ভেবে আমার নকল ফাইলটি আনন্দের সাথে পড়বে ।
মনে রাখবেন যে অনুলিপি-সুরক্ষিত সফ্টওয়্যারটিতে কার্নেল অবজেক্টগুলি অন্তর্ভুক্ত থাকলে বোকা বানানো আরও কঠিন হবে, কারণ এটি সরাসরি হার্ডওয়্যার অ্যাক্সেস করতে পারে। তবে, এই জাতীয় সফ্টওয়্যার কেবল কার্নেলের সাথে কাজ করবে যার জন্য এটি নির্মিত হয়েছিল, এটি বিতরণ করা একেবারেই অবৈধ তৈরি করে।