এম্বেডড initramfs নিষ্কাশন করুন


9

আমার কাছে একটি কার্নেল রয়েছে যাতে একটি ইন্ট্র্যামফ এমবেড করা আছে। আমি এটি নিষ্কাশন করতে চান।

আমি x86 boot sectorযখন আউটপুট পেয়েছিলামfile bzImage

আমার কাছে এই কার্নেল চিত্রের জন্য System.map ফাইল রয়েছে।

System.map ফাইলটির সাহায্য ছাড়াই বা এই কার্নেল থেকে এম্বেড করা ইনি্রামগ্রাম চিত্রটি বের করার কোনও উপায় আছে কি ?

সিস্টেম মানচিত্র ফাইলে পাওয়া আকর্ষণীয় স্ট্রিংটি হ'ল: (এটি কেবল যদি সহায়তা করে তবে)

57312:c17fd8cc T __initramfs_start
57316:c19d7b90 T __initramfs_size

উত্তর:


14

ভদ্রলোক উইকিতে এটি সম্পর্কে কিছু তথ্য রয়েছে: https://wiki.gentoo.org/wiki/Custom_Initramfs# সালভেজিং

এটি ব্যবহারের প্রস্তাব দেয় binwalkযা অত্যধিক ভাল কাজ করে।

আমি একটি উদাহরণ সহ একটি দ্রুত পদব্রজে ভ্রমণ দেবো:

প্রথমে বিনওয়াক দিয়ে bzI छवि ফাইলটি বের করুন:

> binwalk --extract bzImage
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             Microsoft executable, portable (PE)
18356         0x47B4          xz compressed data
9772088       0x951C38        xz compressed data

আমি তিনটি ফাইল সঙ্গে শেষ পর্যন্ত: 47B4, 47B4.xzএবং951C38.xz

> file 47B4
47B4: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=aa47c6853b19e9242401db60d6ce12fe84814020, stripped

এখন আবার বিনওয়াক চালাতে দিন 47B4:

> binwalk --extract 47B4
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             ELF, 64-bit LSB executable, AMD x86-64, version 1 (SYSV)
9818304       0x95D0C0        Linux kernel version "4.4.6-gentoo (root@host) (gcc version 4.9.3 (Gentoo Hardened 4.9.3 p1.5, pie-0.6.4) ) #1 SMP Tue Apr 12 14:55:10 CEST 2016"
9977288       0x983DC8        gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)
<snip>

এটি পাওয়া পথগুলির দীর্ঘ তালিকা এবং বেশ কয়েকটি সম্ভাব্য আকর্ষণীয় ফাইল সহ ফিরে এসেছিল। চল একটু দেখি.

> file _47B4.extracted/*
<snip>
_47B4.extracted/E9B348:     ASCII cpio archive (SVR4 with no CRC)

ফাইলটি E9B348একটি (ইতিমধ্যে সঙ্কুচিত) সিপিও সংরক্ষণাগার, ঠিক আমরা যা খুঁজছি! বিঙ্গো!

আপনার বর্তমান ডিরেক্টরিতে সঙ্কুচিত সিপিও সংরক্ষণাগারটি (আপনার initramfs!) আনপ্যাক করতে কেবল চালান

> cpio -i < E9B348

এটা প্রায় খুব সহজ ছিল। binwalkআপনি যা খুঁজছেন তা হ'ল এটি। রেফারেন্সের জন্য, আমি এখানে v2.1.1 ব্যবহার করছিলাম।


বিঙ্গো !!! আপনি এটি পেরেক!
SHW

2

আমি যতদূর জানি, initramfs সিপিও সংরক্ষণাগারটি সবেমাত্র কার্নেলের সাথে সংযুক্ত রয়েছে।

সুতরাং, এটি কাজ করা উচিত:

  1. এবং এর ddমধ্যে ব্যাপ্তি বের করতে ব্যবহার করুনc17fd8ccc19d7b90
  2. সিপিআইও আনপ্যাকার ব্যবহার করে ফলাফল ডেটা আনপ্যাক করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.