د فایل سیسټم سټیګنګرافي

اې حبر

زه غواړم تاسو ته یوه کوچنۍ پروژه وړاندې کړم سټیګنګرافي، د مطالعې څخه زما په وړیا وخت کې جوړ شوی.

ما د فایل سیسټم کې د معلوماتو پټ ذخیره کولو پروژه جوړه کړه (نور ФС).
دا د تعلیمي موخو لپاره د محرم معلوماتو غلا کولو لپاره کارول کیدی شي.

د فایل سیسټم سټیګنګرافي

یو ډیر زوړ لینکس FS د پروټوټایپ په توګه غوره شوی و ext2.

پلي کول

د تطبیق په اړه نظرونه

که دا ښه وي چې د ext2 معیاري "افشا" کړئ ، نو تاسو کولی شئ دا په FS کې ځای په ځای کړئ چې په نوم یادیږي سوپر بلاکس، کوم چې د سیسټم په اړه لومړني معلومات چمتو کوي. وروسته له دې چې وموندل شوم Bitmap بلاک کړئ и انډ جدول. نږدې سمدلاسه ، د اوسني خالي FS بلاکونو کې د معلوماتو ثبتولو نظر رامینځته شو. اوس دا د وسله وال پروګرامر څخه د ساتنې په اړه فکر کولو ارزښت درلود هیکس ایډیټر.

که تاسو پټ معلومات پرته له کوډ کولو ذخیره کړئ، بیا هم، حتی په FS کې د هغې د تیاره کیدو سره سره، دا به لاهم خورا څرګند وي، په ځانګړې توګه که چیرې پروګرامر پوهیږي چې څه باید وګوري. له همدې امله، پریکړه وشوه چې د سرچینې فایل ټول بلاکونه کوډ کړئ. ما بلاک سیفر غوره کړ AESمګر لکه څنګه چې تاسو پوهیږئ، دا مهمه نده.

د لوستلو پر مهال د نورو ټولو څخه اړین بلاکونو جلا کولو لپاره، پریکړه وشوه چې د بلاک په پیل کې هر بلاک ته یو ځانګړی مارکر اضافه کړي. دا نښه د سرچینې فایل کې د بلاک نمبر پورې اړه لري کوډ شوی. دا چال سمدلاسه دا ممکنه کړه چې نه یوازې د اړینو بلاکونو موندلو لپاره، بلکې د دوی سم ترتیب پیژني.

د سیسټم عمومي عملیاتي اصول.

د فایل سیسټم سټیګنګرافي

د ثبت کولو الګوریتم

ټکي:

  • لومړی د سرچینې فایل سیسټم ته ځینې معلومات ولیکئ؛
  • دا معلومات ړنګ کړئ (ضروري نه ده چې ټول)؛
  • د پټولو لپاره فایل په مساوي اوږدوالي بلاکونو ویشل شوی، مارکر اضافه کوي؛
  • دا بلاکونه کوډ کړئ؛
  • کوډ شوي بلاکونه په خالي FS بلاکونو کې ځای په ځای کړئ.

د بلاک ډیاګرام مینه والو لپاره

لاندې د ثبت کولو الګوریتم بلاک ډیاګرام دی. الګوریتم څلور فایلونه د ننوتلو په توګه ترلاسه کوي:
- د بدلون وړ فایل سیسټم انځور؛
- د سټیګنګرافي موضوع فایل؛
- د AES لپاره د کوډ کولو کیلي سره فایل؛
- د مارکر سره فایل.
د فایل سیسټم سټیګنګرافي

دا سمدلاسه د یادونې وړ ده چې دا الګوریتم یو نیمګړتیا لري: FS ته د فایل لیکلو وروسته ، نشي کولی په FS کې هر څه نوي ولیکئ، ځکه چې کوم نوي معلومات کولی شي په هغه بلاکونو کې پای ته ورسیږي چې موږ یې زموږ زپ شوي فایل ته ځانګړي کړي دي، که څه هم دا امکان هم خلاصوي چې "زموږ ټریکونه په چټکۍ سره پوښلي."

مګر دا خورا روښانه ده چې دا څنګه تنظیم کیدی شي: دا اړینه ده چې په FS کې د بلاکونو لیکلو لپاره الګوریتم بیا ولیکئ. دا یو د پوهیدو وړ، مګر په حیرانتیا سره د وخت ضایع کولو کار دی.
د مفهوم د ثبوت لپاره ما دا پلي نه کړه.

پایله به په FS کې لاندې بدلونونه وي، دا هغه څه دي چې FS د سټیګنګرافي څخه مخکې ښکاري (د آډیو فایل دمخه ثبت شوی و).
د فایل سیسټم سټیګنګرافي
او دا هغه څه دي چې FS دمخه د زپ شوي معلوماتو سره ښکاري.
د فایل سیسټم سټیګنګرافي

د لوستلو الګوریتم

ټکي:

  • د کلیدي پوهې او د مارکرونو د جوړولو طریقې سره، لومړی N مارکرونه ترتیب کړئ، د دې تضمین سره چې N ضرب د فایل سیسټم بلاک اوږدوالی د زپ شوي فایل اوږدوالی څخه ډیر دی؛
  • په FS کې د مارکرونو سره د بلاکونو لټون کول؛
  • ترلاسه شوي بلاکونه تشریح کړئ او مارکرونه جلا کړئ؛
  • نتیجه شوي بلاکونه په سم ترتیب کې راټول کړئ او د سرچینې فایل ترلاسه کړئ.

د بلاک ډیاګرام مینه والو لپاره

لاندې د ثبت کولو الګوریتم بلاک ډیاګرام دی. الګوریتم درې فایلونه د ننوتلو په توګه ترلاسه کوي:
- د فایل سیسټم عکس؛
- د AES لپاره د کوډ کولو کیلي سره فایل؛
- د مارکر سره فایل.
د فایل سیسټم سټیګنګرافي

د برنامه چلولو وروسته ، د لوستلو فایل څرګندیږي ، کوم چې به د سټیګنوګراف شوي فایل سیسټم څخه ایستل شوی فایل وي؛ که کیلي یا مارکر په غلط ډول مشخص شوی وي ، نو د لوستلو فایل به خالي وي.
(د ښکلا مینه والو لپاره، تاسو کولی شئ نه یوازې فایل داخل کړئ، مګر یو "سرلیک" چې د میټا معلومات لري: د فایل نوم، حقونه، وروستی بدل شوی وخت، او نور.)

د پیل اتوماتیک

د اسانتیا لپاره ، د باش سکریپټونه په لینکس کې د لانچ اتومات کولو لپاره لیکل شوي وو (په اوبنټو 16.04.3 LTS کې ازمول شوی).
راځئ چې ګام په ګام لانچ ته وګورو.
ثبت:

  1. sudo Copy_Flash.sh "DEVICE" - د FS عکس له DEVICE (flash) څخه ترلاسه کړئ؛
  2. ./Write.sh “فایل” “کیلي” “مارکر” – یو مجازی چاپیریال رامینځته کړئ ، اړین کتابتونونه ډاونلوډ کړئ او د لیکلو سکریپټ چل کړئ؛
  3. sudo ./Write_Flash.sh "DEVICE" - بدل شوی FS بیا DEVICE ته ولیکئ.

لوستل:

  1. sudo Copy_Flash.sh "DEVICE" - د FS عکس له DEVICE (flash) څخه ترلاسه کړئ؛
  2. ./Read.sh "KY" 'مارکر' - یو مجازی چاپیریال رامینځته کړئ، اړین کتابتونونه ډاونلوډ کړئ او د لوستلو لپاره سکیپ چل کړئ؛
  3. په اوسني لارښود کې، د لوستلو فایل خلاص کړئ - دا د زپ شوي معلومات دي.

پایلې

د سټیګنګرافي دا طریقه شاید د نورو مشهور فایل سیسټمونو ته وده ورکولو، اضافي ازموینې او غزولو ته اړتیا ولري، لکه فټ ایکس اینوم ایکس, NTFS и ext4.
مګر د دې کار موخه دا وه چې هغه اصول وښيي چې له مخې یې د فایل سیسټم کې د معلوماتو پټ ذخیره کول ممکن دي.
د دې ډول الګوریتمونو په مرسته ، تاسو کولی شئ په ویره سره معلومات ذخیره کړئ ، او که چیرې تاسو کیلي پیژنئ ، نو دا ممکنه ده چې دا ډول سیسټم هیک کړئ نه د وحشي ځواک (بلکې د خورا اوږد الګوریتم په واسطه) ، نو بیا پرته له دې چې د کیلي پوهه شي. سیسټم زما په اند په بشپړ ډول باثباته ښکاري، په هرصورت، دا ممکن د جلا مقالې لپاره د دلیل په توګه خدمت وکړي.

ټول کوډ د Python نسخه 3.5.2 کې پلي کیږي. د کار بېلګه زما په یوټیوب چینل کې وړاندې شوی. د پروژې بشپړ کوډ په دې ځای کې خپور شوی github.
(هو، هو، زه پوهیږم چې د تولید نسخه لپاره تاسو اړتیا لرئ په یو څه "چټک" کې ولیکئ، د مثال په توګه C 😉)
په دې تطبیق کې، د سټیګنګرافي لپاره د ان پټ فایل اندازه باید د 1000 kB څخه زیاته نه وي.

زه غواړم د کارونکي څخه خپله مننه څرګند کړم PavelMSTU د مقالې د ډیزاین په اړه د مطالعې او سپارښتنو په پلان کولو کې د ارزښت وړ مشورې لپاره.

سرچینه: www.habr.com

Add a comment