এই নিবন্ধটি আপনার কম্পিউটারের RAM এর বিষয়বস্তু কিভাবে পড়তে হয় তার একটি ব্যাপক নির্দেশিকা।
র্যান্ডম অ্যাক্সেস মেমরি (RAM) হল যেকোন কম্পিউটার সিস্টেমের একটি গুরুত্বপূর্ণ উপাদান, এবং এটি অস্থায়ীভাবে ডেটা সঞ্চয় করার জন্য দায়ী যা সিস্টেমের কার্য সম্পাদনের জন্য প্রয়োজনীয়। কিন্তু RAM-এর বিষয়বস্তুগুলি বেশ উদ্বায়ী হতে পারে এবং সিস্টেমটি বন্ধ হয়ে গেলে সেগুলি সাধারণত হারিয়ে যায়৷
RAM এর বিষয়বস্তু সংরক্ষণ করার একটি উপায় হল একটি RAM ডাম্প করা, যা একটি হার্ড ড্রাইভের মতো স্টোরেজ ডিভাইসে RAM-এর বিষয়বস্তু অনুলিপি করার একটি প্রক্রিয়া। আপনি RAM ডাম্প বিশ্লেষণ করতে পারেন, এবং এর মধ্যে থাকা ডেটা ডাম্প নেওয়ার সময় সিস্টেমের অবস্থা সম্পর্কে মূল্যবান অন্তর্দৃষ্টি প্রদান করতে পারে৷
এই নিবন্ধে, আমি আপনাকে RAM-এর বিষয়বস্তু পড়ার প্রক্রিয়ার মধ্য দিয়ে হেঁটে যাব, সেইসাথে ব্যাখ্যা করব যে RAM ডাম্প কী এবং এটি একটি কম্পিউটার সিস্টেম বিশ্লেষণে কীভাবে কার্যকর হতে পারে। কিভাবে একটি RAM ডাম্প সঞ্চালন করতে হয় এবং কিভাবে ফলাফল ডেটা বিশ্লেষণ করতে হয় সে সম্পর্কে আমি আপনাকে ধাপে ধাপে নির্দেশাবলী প্রদান করব।
কেন RAM ডেটা পড়বেন?
ডিস্ক থেকে ডেটা পড়া এমন কিছু যা আপনি হয়তো জানেন। কিন্তু আমরা কি সরাসরি RAM থেকে ডেটা পড়তে পারি, যেখানে সবচেয়ে প্রয়োজনীয় তথ্য সংরক্ষণ করা হয়?
বিকাশকারী হিসাবে, আমরা স্থানের জটিলতা তদন্ত করতে পারি এবং কী ঘটছে তা বোঝার জন্য RAM এর আরও গভীরে যেতে পারি।
RAM এর বিষয়বস্তু অ্যাক্সেস করা এবং পড়া বিভিন্ন পরিস্থিতিতে কার্যকর হতে পারে। একটি সাধারণ ব্যবহারের ক্ষেত্রে একটি কম্পিউটার সিস্টেমের সমস্যা সমাধান এবং নির্ণয়ের জন্য। RAM এর বিষয়বস্তু পরীক্ষা করে, আপনি একটি নির্দিষ্ট সময়ে সিস্টেমের অবস্থা সম্পর্কে অন্তর্দৃষ্টি পেতে পারেন।
উদাহরণস্বরূপ, যদি আপনার কম্পিউটার হঠাৎ করে ক্র্যাশ হয়ে যায়, তাহলে RAM এর বিষয়বস্তু পরীক্ষা করা আপনাকে ক্র্যাশের কারণ শনাক্ত করতে সাহায্য করতে পারে।
আরেকটি ব্যবহারের ক্ষেত্রে ফরেনসিক বিশ্লেষণের জন্য। ভুল কাজের প্রমাণের জন্য একটি কম্পিউটার সিস্টেমের তদন্ত করার সময়, RAM-এর বিষয়বস্তু পরীক্ষা করা সিস্টেমে যে কার্যকলাপগুলি চালানো হয়েছিল তার মূল্যবান অন্তর্দৃষ্টি প্রদান করতে পারে।
উদাহরণস্বরূপ, একটি নিরাপত্তা পেশাদার সিস্টেমে একটি নির্দিষ্ট প্রক্রিয়া চলমান কিনা তা নির্ধারণ করতে বা সম্প্রতি অ্যাক্সেস করা ফাইলগুলি সনাক্ত করতে RAM বিশ্লেষণ ব্যবহার করতে পারে৷
উপরন্তু, RAM এর বিষয়বস্তু অ্যাক্সেস করা এবং পড়া সফ্টওয়্যার বিকাশকারী এবং গবেষকদের জন্য দরকারী হতে পারে। RAM-এ সংরক্ষিত ডেটা বিশ্লেষণ করে, বিকাশকারীরা তাদের সফ্টওয়্যারটির কার্যকারিতা সম্পর্কে অন্তর্দৃষ্টি অর্জন করতে পারে এবং সম্ভাব্য সমস্যা বা বাধা শনাক্ত করতে পারে। গবেষকরা ম্যালওয়্যারের আচরণ অধ্যয়ন করতে বা নতুন সুরক্ষা সরঞ্জাম এবং কৌশল বিকাশ করতে RAM বিশ্লেষণ ব্যবহার করতে পারেন৷
সামগ্রিকভাবে, RAM এর বিষয়বস্তু অ্যাক্সেস করা এবং পড়া সমস্যা সমাধান, ফরেনসিক বিশ্লেষণ, সফ্টওয়্যার বিকাশ এবং গবেষণার জন্য কার্যকর হতে পারে। এটি একটি কম্পিউটার সিস্টেমের অভ্যন্তরীণ কাজ সম্পর্কে অন্তর্দৃষ্টি অর্জনের একটি মূল্যবান উপায় প্রদান করে এবং সমস্যা এবং সম্ভাব্য নিরাপত্তা হুমকি সনাক্ত করতে সাহায্য করতে পারে৷
আমরা সুনির্দিষ্ট বিষয়ে আরও এগিয়ে যাওয়ার আগে, আসুন নামকরণটি সংক্ষিপ্তভাবে দেখে নেওয়া যাক। এটি সাধারণ জ্ঞান হতে পারে, তবে এই নির্দেশিকাটি দেখার সাথে সাথে আপনাকে পরিভাষাটি বুঝতে হবে, তাই এটি একটি পর্যালোচনার যোগ্য৷
RAM নামক একটি শারীরিক হার্ডওয়্যার ডিভাইস রয়েছে (যা র্যান্ডম অ্যাক্সেস মেমরিকে বোঝায়):ফিজিক্যাল মেমরি, একটি সিপিইউ, একটি হার্ড ডিস্ক এবং অন্যান্য শারীরিক উপাদান।
এর উপরে, আমাদের অপারেটিং সিস্টেম রয়েছে। অপারেটিং সিস্টেম সবসময় "কার্নেল" নামে পরিচিত হার্ডওয়্যারের অংশের সাথে কথোপকথনে থাকে - এবং এটি এই সফ্টওয়্যারটির সবচেয়ে গুরুত্বপূর্ণ দিকগুলির মধ্যে একটি৷
যদি আমরা ব্যবহারকারীর দৃষ্টিকোণ থেকে বিষয়গুলি বিবেচনা করি, আমরা প্রাথমিকভাবে অপারেটিং সিস্টেমে লগ ইন করি যাতে আমরা আমাদের কাজগুলি সম্পাদন করতে পারি, যার মধ্যে বেশিরভাগই অ্যাপ্লিকেশনগুলিকে কার্যকর করা অন্তর্ভুক্ত৷
কার্নেল কি?
একটি কার্নেল হল একটি অপারেটিং সিস্টেমের একটি মৌলিক অংশ যা আমরা পর্দার আড়ালে যে প্রোগ্রামটি চালাই তার সাহায্যে ব্যবহারকারীর কাছ থেকে নির্দেশাবলী গ্রহণ করে। আমরা পর্দার আড়ালে যে প্রোগ্রামটি চালাই তা নির্বিশেষে এটি ঘটতে পারে।
যা কিছু গণনা করতে হয় তা সেন্ট্রাল প্রসেসিং ইউনিট (CPU) দ্বারা পরিচালিত হয়, তবে আমরা যাই করি না কেন এবং যাইহোক আমরা CPU দ্বারা প্রদত্ত পরিষেবাগুলি পরিচালনা করি, ডেটা, নির্দেশাবলী, কোড এবং প্রোগ্রামগুলি অবশ্যই র্যান্ডম অ্যাক্সেস মেমরি (RAM) এর মাধ্যমে যেতে হবে৷
এটি বোঝায় যে আমরা যেকোন সময় ডেটার সাথে যা কিছু করি তার ফলাফল মেমরির উপরে পাওয়া যাবে। আপনি যদি একজন প্রোগ্রামার হন এবং আপনি কোনো ধরনের ডেটা স্ট্রাকচার তৈরি করেন, তাহলে এটি নির্দেশ করে যে সমস্ত ডেটা RAM-এর উপরে থাকবে৷
আমরা সরাসরি RAM এ যেতে পারি এবং দেখতে পারি কিভাবে ডেটা স্ট্রাকচার তৈরি করা হয়েছে এবং কিভাবে তারা সারিবদ্ধ করে এবং আমরা দেখতে পারি কিভাবে সেখানে স্থান জটিলতা কাজ করে।
উদাহরণস্বরূপ, আমরা যদি Chrome এর মতো কোনো ওয়েব ব্রাউজার নিয়ে আলোচনা করি, তাহলে কোনো অ্যাপ্লিকেশনে নিরাপত্তা ত্রুটি তৈরি হতে পারে। তাই সবচেয়ে কার্যকর পদ্ধতি হল RAM-এ নেভিগেট করা এবং ডেটা কীভাবে কাজ করছে তা তদন্ত করা।
ধরা যাক আপনি Chrome-এ (বা যেকোনো ব্রাউজার) কোনো সুরক্ষিত ওয়েবসাইট খুলছেন, যেমন gmail.com। আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড সহ আপনি Gmail এ প্রবেশ করা যেকোনো তথ্য ইন্টারনেটের মাধ্যমে Google দ্বারা পরিচালিত একটি সার্ভারে পাঠানো হয়। সেই ডেটা সম্পূর্ণরূপে এনক্রিপ্ট করা হয়েছে, এবং পাসওয়ার্ড ক্র্যাক করা অসম্ভব না হলে চ্যালেঞ্জিং হবে৷
কিন্তু আপনার পাসওয়ার্ড লিখতে, আপনি সম্ভবত এটির সাথে সংযুক্ত একটি কীবোর্ড সহ একটি কম্পিউটার ব্যবহার করুন৷ এর পরে, কিছু প্রোগ্রাম ডেটা এনক্রিপ্ট করবে এবং ইন্টারনেটে পাঠাবে। এর মানে হল যে প্রাথমিকভাবে, আপনার ডেটা RAM এ উপস্থিত ছিল।
প্রথমত, পাসওয়ার্ডটি স্ট্যান্ডার্ড ডেটা, এবং পাসওয়ার্ডটি যায় এবং RAM এর শীর্ষে চলে যায়। তারপর, কিছু প্রোগ্রাম ডেটা এনক্রিপ্ট করবে এবং ইন্টারনেটে পাঠাবে। আপনি যদি RAM অ্যাক্সেস করতে পারেন তবে আপনার পাসওয়ার্ড এনক্রিপ্ট করা হয়েছে কিনা তা নির্ধারণ করতে আপনি এটি পরীক্ষা করতে পারেন। এবং এই প্রক্রিয়াটি বেশ সহজবোধ্য৷
৷এটি কিভাবে কাজ করে তা দেখতে একটি উদাহরণ দেখি। আমরা ভান করব যে "a" একটি পরিবর্তনশীল এবং "9" হল ডেটা। যখন আমরা প্রোগ্রামটি এক্সিকিউট করি, তখন এই ডাটা র্যামের উপর লোড হয়। প্রোগ্রামটি শেষ হলে, RAM থেকে ডেটা চলে যাবে, যদিও কেউ এখনও এটি প্রমাণ করেনি। কিন্তু এই ঘটনা, এবং আমরা একটু তদন্ত করে প্রমাণ করতে পারি।
সুতরাং অ্যাপ্লিকেশনটি চালানো শেষ হওয়ার পরেও যদি মেমরির একেবারে শীর্ষে লোড করা হয় তবে এই ডেটা এখনও RAM-তে উপস্থিত আছে কিনা তা আমরা কীভাবে পরীক্ষা করতে পারি?
ঠিক আছে, র্যাম শীঘ্রই এই বিষয়বস্তুগুলি পরিষ্কার করা হবে। একটি "RAM ডাম্প" হল সমস্ত RAM ক্যাপচার করার প্রক্রিয়া। এটি প্রকৃত ফর্মটি প্রদর্শন করে যেখানে সম্পূর্ণ ডেটা সেটটি অ্যাক্সেসযোগ্য করা হয় এবং প্রথমবার RAM-তে লোড করা হয়। এবং আপনি পরবর্তী মেমরি থেকে ডেটা ক্যাপচার বা এক্সট্র্যাক্ট করতে শিখবেন।
এটি সম্পন্ন করার জন্য, আপনার কিছু ধরণের সফ্টওয়্যার প্রয়োজন হবে। ফলস্বরূপ, এই প্রোগ্রামের লক্ষ্য স্মৃতিতে আরও ভ্রমণ করা। এটি মেমরিতে যাবে এবং চালিয়ে যাওয়ার আগে মেমরি থেকে সমস্ত সঞ্চিত ডেটা পুনরুদ্ধার করবে৷
LiME কি?
লিনাক্স মেমরি এক্সট্র্যাক্টর, কখনও কখনও LiME নামে পরিচিত, সফ্টওয়্যারের একটি শক্তিশালী অংশ। আপনি লিনাক্স থেকে মেমরি বের করতে এটি ব্যবহার করেন। সফ্টওয়্যারের এই অংশটিকে ড্রাইভার হিসাবেও পরিচিত, মডিউল হিসাবেও উল্লেখ করা হয়। এর কারণ হল RAM একটি ডিভাইস, যা জিনিসগুলিকে আরও জটিল করে তোলে৷
৷ডিভাইসটি অ্যাক্সেস করার জন্য আমাদের কিছু ধরণের ড্রাইভার প্রয়োজন যাতে আমরা এটির বিষয়বস্তু পড়ার চেষ্টা করতে পারি। LiME হল একজন ড্রাইভারের একটি উদাহরণ, এবং আপনি যদি লিনাক্সের সাথে পরিচিত হন তাহলে আপনি হয়তো জানেন যে কোনো ড্রাইভার ফাংশন তৈরি করতে, আপনাকে কার্নেলের সহায়তায় সেই ড্রাইভারটিকে লোড করতে হবে।
লিনাক্সের প্রেক্ষাপটে, একজন ড্রাইভারকে মডিউল হিসাবেও উল্লেখ করা হয়। তাই LiME হল একটি লিনাক্স কার্নেল মডিউল। কার্নেল লোডযোগ্য মডিউল হিসাবে পরিচিত যা আমাদের কাছে অ্যাক্সেস রয়েছে, যা আমাদের অপারেটিং সিস্টেমে মডিউলটি ইনস্টল করার অনুমতি দেয়৷
আমরা যথেষ্ট পটভূমি কভার করেছি. এখন, আসুন দেখি কিভাবে আমরা RAM এর বিষয়বস্তু বের করতে পারি। আমরা হাতে-কলমে ধাপে ধাপে প্রক্রিয়ার মধ্য দিয়ে যাব।
সেটআপ৷ এবং ইনস্টলেশন
সুতরাং, আমাদের একমাত্র জিনিসটি হল LiME ড্রাইভার। এই বিশেষ মডিউলটি ডাউনলোড করার লিঙ্কটি এখানে:https://github.com/gursimarsm/LiME৷
এখন, আপনার লিনাক্স সিস্টেম বুট আপ করুন (আমি RedHat Enterprise Linux ব্যবহার করি)। আপনি free -h ব্যবহার করতে পারেন যে পরিমাণ RAM মেমরি ব্যবহার করা হচ্ছে, সেটি উপলব্ধ এবং অন্যান্য বিবরণ পরীক্ষা করার জন্য কমান্ড। আমার এই মত দেখায়:
free -m চালানো থেকে আউটপুট আদেশ
RAM অ্যাক্সেস করার জন্য, আমাদের কিছু সফ্টওয়্যার প্রয়োজন যেখানে কার্নেল কিছু অতিরিক্ত মডিউল লোড করতে পারে। আমাদের ক্ষেত্রে, মডিউল নাম হল LiME. সুতরাং, আমরা যে সফ্টওয়্যারটি ইনস্টল করি তাকে বলা হয় “kernel-devel ”, এবং “কার্নেল-হেডার ” এই দুটি সফ্টওয়্যার হল যা আমাদের পরবর্তী ক্রিয়া সম্পাদন করার জন্য ইনস্টল করতে হবে, অর্থাৎ LiME মডিউল ব্যবহার করতে হবে৷
আপনি যদি সফ্টওয়্যারটি ইনস্টল করতে চান তবে আপনার "yum" কনফিগার করা উচিত। প্রসঙ্গে, yum একটি কমান্ড যা আপনি RedHat Linux অপারেটিং সিস্টেমে সফ্টওয়্যার ইনস্টল করতে ব্যবহার করতে পারেন। আমি রেফারেন্সের জন্য পরিশিষ্টে এটিকে কীভাবে কনফিগার করতে হয় তা ডেমো করব।
ইনস্টলেশন
সুতরাং, এখন আপনি সেই সফ্টওয়্যারটি ইনস্টল করেছেন, আপনার আরও একটি সফ্টওয়্যার প্রয়োজন কারণ আপনাকে গিটহাব থেকে কিছু ড্রাইভার ডাউনলোড করতে হবে। সুতরাং, এখন আপনার যদি এটি ইতিমধ্যে না থাকে তবে আপনাকে গিট ইনস্টল করতে হবে। আপনি yum install git কমান্ড ব্যবহার করে এটি করতে পারেন . আপনাকে আপনার অ্যাকাউন্ট কনফিগার করতে হবে যাতে আপনি এটির সাথে কাজ করতে পারেন।
# git config --global user.name "Your Name"
# git config --global user.email "you@example.com"
আমি উপরে সংগ্রহস্থল ভাগ. এটি একটি লোডযোগ্য কার্নেল মডিউল (LKM)। এটি আপনাকে আপনার লিনাক্স অপারেটিং সিস্টেম বা যেকোনো ধরনের ভাষা অপারেটিং সিস্টেম থেকে সম্পূর্ণ মেমরি অর্জন করতে দেয় (অ্যান্ড্রয়েড ডিভাইস সহ কারণ অ্যান্ড্রয়েডও লিনাক্সের উপর ভিত্তি করে)।
আপনি **# g**it clone**** [**https://github.com/gursimar**sm**/LiME**](https://github.com/gursimarsm/LiME) ব্যবহার করে মডিউলটি ডাউনলোড করতে পারেন আদেশ।
এটি ডাউনলোড করার পরে, আপনাকে সফ্টওয়্যারটির ডিরেক্টরিতে যেতে হবে। আপনি সেখানে একাধিক ফোল্ডার পাবেন। কিন্তু, প্রধান কোড চালানোর জন্য, আপনাকে "src" ডিরেক্টরিতে যেতে হবে।
এই ডিরেক্টরিতে, আপনি সি ভাষার উপর ভিত্তি করে একাধিক প্রোগ্রাম পাবেন। সুতরাং, ফাইলগুলি ব্যবহার করার জন্য, আপনাকে সেগুলি কম্পাইল করতে হবে। এটি করতে, আপনি make ব্যবহার করতে পারেন আদেশ এভাবে ইন্সটল করুন:
# yum install make
# yum install gcc
/LiME/src/ ডিরেক্টরিতে, make চালান সম্পূর্ণ কোড কম্পাইল করার জন্য কমান্ড।
আপনি যদি কোনো ত্রুটির সম্মুখীন হন, তাহলে এটি হতে পারে কারণ আমরা LiME এর সর্বশেষ সংস্করণ ব্যবহার করছি এবং এটি orc মেটাডেটা জেনারেট নামে একটি নতুন বৈশিষ্ট্যের সাথে আসে৷ এই বৈশিষ্ট্যটি বাস্তবায়ন করতে, আপনাকে আরও একটি জিনিস ইনস্টল করতে হবে যা LiME এর অংশ যাকে বলা হয় elfutils-libelf-devel . আপনি yum ব্যবহার করে এটি করতে পারেন যেমন আপনি নীচে দেখতে পারেন:
কিভাবে
elfutils-libelf-devel ইনস্টল করবেন
এর পরে, যদি আমরা এখন make চালাই কমান্ড এটি জিসিসি কম্পাইলারকে পুরো কোড কম্পাইল করতে বলবে। সংকলনের পরে, এটি কার্নেল অবজেক্ট ফাইল নামে একটি চূড়ান্ত অবজেক্ট ফাইল তৈরি করবে, এবং এটিই LiME-এর চূড়ান্ত মডিউল।
আউটপুট
আপনি ls ব্যবহার করে এই ফাইলটিকে একই ডিরেক্টরিতে খুঁজে পেতে পারেন আদেশ।
কিভাবে মডিউল ব্যবহার করবেন
এই মডিউলের সাহায্যে, কার্নেলের এখন সম্পূর্ণ RAM ক্যাপচার বা পড়ার ক্ষমতা রয়েছে। ডিফল্টরূপে, আমরা একবারে পুরো RAM পড়তে পারি না, কিন্তু এখন LiME মডিউলের কারণে, আমরা পারি।
LiME মডিউল সম্পর্কে আরও জানতে, আপনি modinfo ব্যবহার করতে পারেন আদেশ modinfo টাইপ করুন সাথে lime . এটি আপনাকে আরও কিছু বিবরণ দেখাবে যেমন ফাইলটি কোথায় পাওয়া যায় এবং এটি সমস্ত মডিউল বা ড্রাইভারগুলিকেও প্রদর্শন করে যা কিছু ধরণের অতিরিক্ত পরামিতি সহ আসে। প্রতিটি প্যারামিটারের কিছু সুবিধা আছে।
মডিনফো
এখানে আমরা দুটি প্যারামিটার ব্যবহার করতে যাচ্ছি যা খুবই গুরুত্বপূর্ণ:path এবং format .
path মানে যখন আমরা পুরো RAM পড়ি, তখন আমাদের কিছু ফাইলে র্যামের ডেটা সংরক্ষণ করতে হয়। সুতরাং, আমরা যে গন্তব্য ফাইলটি তৈরি করতে চাই তা নির্দিষ্ট করতে, আমাদের এখানে সেই নির্দিষ্ট তথ্য দিতে হবে।
পরবর্তী প্যারামিটার, format , যে বিন্যাসে আমরা RAM ডেটা পড়তে চাই তা নির্দিষ্ট করে। সুতরাং, এই ক্ষেত্রে, আমরা RAM এর বিন্যাসটি যেমন আছে তেমন পড়তে চাই। র্যামে সংরক্ষিত ডেটা বেশিরভাগই বাইনারিতে থাকে, এবং আমরা সম্পূর্ণ ডেটা শুধুমাত্র সেই বাইনারি ফর্ম্যাটে পড়তে চাই এবং এটির কাঁচা আকারে ক্যাপচার করতে চাই।
সুতরাং, বিন্যাসটি কাঁচা থাকবে এবং ফাইলে সংরক্ষণ করা হবে যেখানেই আমরা পাথ দিই৷
৷অবশেষে, RAM থেকে ডেটা পড়ার সময় এসেছে। তো, আসুন মূল কমান্ডে আসি যা আমাদের পুরো RAM পড়তে শুরু করতে সাহায্য করবে।
প্রদর্শন
এই প্রদর্শনের জন্য Chrome-এ আপনার Gmail অ্যাকাউন্টের জন্য আপনার পাসওয়ার্ড টাইপ করুন। এটি আপনাকে RAM থেকে ডেটা ক্যাপচার করতে এবং আপনার পাসওয়ার্ড এনক্রিপ্ট করা থাকলে তা শিখতে সাহায্য করবে৷
এই দুটি জিনিস যাচাই করতে, কমান্ড প্রম্পটে যান এবং ডেটা এখনও RAM এ আছে কিনা তা পরীক্ষা করুন। আপনাকে insmod কমান্ড ব্যবহার করে একটি নির্দিষ্ট মডিউল লোড করতে হবে . এটি আপনাকে মডিউল সন্নিবেশ করতে সাহায্য করবে৷
মডিউলটির সম্পূর্ণ পথটি অনুলিপি করুন এবং insmod বরাবর পেস্ট করুন আদেশ।
insmod আদেশ
এই মডিউলটি কার্নেলের সাহায্যে লোড করা হবে। মডিউলটি RAM থেকে সম্পূর্ণ ডেটা ক্যাপচার করা শুরু করবে এবং এটি একটি ফাইলে সংরক্ষণ করবে, উদাহরণস্বরূপ, myram.data
এটি এই ফাইলটিতে সম্পূর্ণ মেমরি ডাম্প বা RAM ডাম্প লোড করবে এবং আমরা কোন ফর্ম্যাটটি ক্যাপচার করতে চাই৷ সুতরাং, বিন্যাসটি কাঁচা বিন্যাস হবে।
আমরা এই দুটি পরামিতি ব্যবহার করব (এটা নিয়ে এখন চিন্তা করবেন না)। সম্পাদন করার জন্য আমাদের শুধুমাত্র দুটি প্যারামিটার প্রয়োজন, এবং এখন আমরা এই কমান্ডটি আঘাত করার সাথে সাথে আমাদের কাছে যা কিছু তথ্য আছে তা এই নির্দিষ্ট ফাইলে ক্যাপচার এবং সংরক্ষণ করা হবে। এই কমান্ডটি সাধারণত কয়েক সেকেন্ড সময় নেয়, CPU গতির উপর নির্ভর করে এবং আমাদের RAM-এ থাকা ডেটার পরিমাণের উপর নির্ভর করে।
কমান্ড
কিভাবে ডেটা পড়তে হয়
এখন, আমাদের কাছে myram.data এই ফাইলটি আছে এবং RAM এর সম্পূর্ণ ডাটা এই ফাইলটিতে সংরক্ষিত আছে। যেহেতু আমরা এই ডেটাটি কাঁচা বিন্যাসে ক্যাপচার করেছি, ডেটা বাইনারিতে হতে চলেছে। যদি আমরা এই ফাইলটি থেকে সরাসরি এই ডেটা পড়ার চেষ্টা করি, মানুষ হিসাবে, আমরা এটি পড়তে পারি না যদিও আমরা প্রাথমিক লাইনগুলি দিয়ে হেড কমান্ড ব্যবহার করে শীর্ষ 10টি লাইন পড়ার জন্য চেষ্টা করি৷
আউটপুট
সুতরাং, আমরা "বিড়াল" কমান্ডটি ব্যবহার করতে পারি, যা সম্পূর্ণ ডেটা পড়বে। কিন্তু, আবার, একই জিনিস ঘটতে যাচ্ছে - এটি সম্পূর্ণ ডেটা পড়বে, কিন্তু ডেটা বাইনারি বিন্যাসে প্রদর্শিত হবে। তারপরে আমাদের এই কমান্ডের সাথে পাইপ ফাংশন ব্যবহার করতে হবে এবং এটিকে strings নামে আরেকটি নতুন কমান্ডের সাথে একত্রিত করতে হবে। :
কমান্ড
স্ট্রিং এমন একটি কমান্ড যা ডেটাকে মানুষের-পাঠযোগ্য বিন্যাসে নিয়মিত পাঠ্যে রূপান্তরিত করবে।
আউটপুট
তালিকা চলতেই থাকবে। আপনি Ctl+C ব্যবহার করে এটিকে বাধা দিতে পারেন .
এই মুহুর্তে, এর অর্থ পুরো ডেটা দেখা এবং পড়া নয়। আমরা জানি যে কিছু ডাটা র্যামে আছে যাকে mywebpasswordgmail বলা হয়। সুতরাং, শুধুমাত্র নিশ্চিত করার জন্য যে এই ডেটাটি RAM এ উপলব্ধ রয়েছে আমরা grep এর সাথে আরও একটি পাইপ ব্যবহার করতে পারি আদেশ grep কমান্ড আমাদের ডেটা সাজাতে সাহায্য করে।
cat /myram.data | strings | grep mywebpasswordgmail
এখন, আমরা পুরো ডেটাতে এই স্ট্রিংটি অনুসন্ধান করছি। এটি ডেটাকে নিয়মিত পাঠ্যে রূপান্তর করবে, এবং যেখানেই সেই নির্দিষ্ট স্ট্রিংটি প্রদর্শিত হবে, grep সেই লাইনটি ধরবে এবং আমাদের অনুসন্ধান শুরু করতে দিন, তারপরে আমাদের এই ডেটা দেখান৷
সুতরাং, আপনি এই সাধারণ উদাহরণ থেকে দেখতে পাচ্ছেন, আপনি আপনার কীবোর্ডে যা কিছু টাইপ করেন তা RAM-তেও যেতে পারে – এমনকি এটি আপনার পাসওয়ার্ড বা যেকোনো ধরনের সুরক্ষিত সাইট আপনি সার্ফিং করলেও, আপনার ডেটা RAM-তে থাকে। আপনি কোন প্রোগ্রাম চালান তা বিবেচ্য নয়। আপনি কিবোর্ড ব্যবহার করে টাইপ করলে সবকিছু র্যামে লোড হবে এবং এক্সট্রাক্ট করা যাবে। একে মেমরি ডাম্প বলা হয়।
LiME আমাদের আরও অনেক শক্তিশালী ক্ষমতা প্রদান করে। এই মুহুর্তে, আমরা সরাসরি সিস্টেম থেকে ডেটা ক্যাপচার করছি যেখানে আমরা কাজগুলি করি৷ কিন্তু আমরা সিস্টেমে LiME চালাতে পারি এবং এটি রিয়েল-টাইমে ডেটা ক্যাপচার করতে পারে এবং নেটওয়ার্কের মাধ্যমে ডেটা অন্য কম্পিউটারে পাঠাতে পারে।
এর মানে কি? এটিকে এভাবে ভাবুন:উদাহরণস্বরূপ, কেউ একটি ওয়েবসাইট খোলে এবং তারা রিয়েল-টাইমে কিছু টাইপ করছে। এই সম্পূর্ণ বার্তাটি রিয়েল-টাইমে অন্য কম্পিউটারে প্রেরণ করা হচ্ছে৷
আমরা কী লগার সম্পর্কে কথা বলছি না, আমরা শুধু RAM সম্পর্কে কথা বলছি। যে কোন প্রোগ্রাম চলাকালীন যা ঘটছে না কেন, ডাটাবেস কিছু তথ্য সংরক্ষণ করছে। প্রোগ্রামগুলি হার্ড ডিস্কের অন্যান্য অংশ থেকে ডেটা পড়ছে। এবং RAM-তে যা ঘটছে তা সিস্টেম দ্বারা রিয়েল-টাইমে ক্যাপচার করা যায় এবং নেটওয়ার্কের মাধ্যমে অন্যান্য কম্পিউটারে পাঠানো যায়৷
উপসংহার
আমরা অবশেষে এই নিবন্ধের শেষে এসেছি। আমি আশা করি আপনি এটি উপভোগ করেছেন এবং নতুন কিছু শিখেছেন।
আমি লিঙ্কডইনে পরামর্শ এবং আলোচনার জন্য সবসময় উন্মুক্ত। সরাসরি বার্তা দিয়ে আমাকে আঘাত করুন।
আপনি যদি আমার লেখাটি উপভোগ করেন এবং আমাকে অনুপ্রাণিত রাখতে চান, GitHub-এ যাত্রা শুরু করার কথা বিবেচনা করুন এবং LinkedIn-এ প্রাসঙ্গিক দক্ষতার জন্য আমাকে সমর্থন করুন।
পরেরটি পর্যন্ত, নিরাপদে থাকুন এবং শিখতে থাকুন।
বিনামূল্যে কোড শিখুন. freeCodeCamp-এর ওপেন সোর্স পাঠ্যক্রম 40,000-এরও বেশি লোককে ডেভেলপার হিসেবে চাকরি পেতে সাহায্য করেছে। শুরু করুন