በፋይል ስርዓት ውስጥ ስቴጋኖግራፊ

ሃይ ሀብር።

አንድ ትንሽ ፕሮጀክት ላቀርብልዎ እፈልጋለሁ ስቴጋኖግራፊ, በማጥናት በነጻ ጊዜዬ የተሰራ.

በፋይል ስርዓቱ ውስጥ በተደበቀ የመረጃ ማከማቻ ላይ ፕሮጀክት ሠራሁ (ተጨማሪ ኤፍ.ኤስ).
ይህ ለትምህርታዊ ዓላማ ሚስጥራዊ መረጃን ለመስረቅ ሊያገለግል ይችላል።

በፋይል ስርዓት ውስጥ ስቴጋኖግራፊ

በጣም የቆየ ሊኑክስ ኤፍኤስ እንደ ምሳሌ ተመርጧል EX2.

ትግበራ

የትግበራ ግምት

የ ext2 ደረጃውን "መፍታት" ጥሩ ከሆነ በ FS ውስጥ አንድ የሚባል ነገር እንዳለ መተካት ይችላሉ. ሱፐርብሎኮችስለ ስርዓቱ መሠረታዊ መረጃ የሚሰጥ። ካገኘሁ በኋላ Bitmapን አግድ и የኢኖድ ሰንጠረዥ. ወዲያውኑ ማለት ይቻላል መረጃን ወደ ባዶ የ FS ብሎኮች የመቅዳት ሀሳብ ተወለደ። አሁን ከታጠቀ ፕሮግራመር ስለመጠበቅ ማሰብ ተገቢ ነበር። ሄክስ አርታዒ.

ያለ ምስጠራ የተደበቀ መረጃን ካከማቹ ፣ ምንም እንኳን በ FS ውስጥ ብዥታ ቢኖረውም ፣ አሁንም በጣም ግልፅ ይሆናል ፣ በተለይም ፕሮግራም አውጪው ምን መፈለግ እንዳለበት ካወቀ። ስለዚህ የምንጭ ፋይሉን ሁሉንም ብሎኮች ለማመስጠር ተወስኗል። የማገጃ ምስጥርን መርጫለሁ። aes, ግን እርስዎ እንደተረዱት, ይህ አስፈላጊ አይደለም.

በማንበብ ጊዜ አስፈላጊ የሆኑትን ብሎኮች ከሌሎቹ ሁሉ ለመለየት በእገዳው መጀመሪያ ላይ በእያንዳንዱ እገዳ ላይ ልዩ ምልክት ለማከል ተወስኗል. ይህ ማስመሰያ የተመሰጠረው በምንጭ ፋይሉ ውስጥ ባለው የማገጃ ቁጥር ላይ በመመስረት ነው። ይህ ብልሃት ወዲያውኑ አስፈላጊ የሆኑትን ብሎኮች ለማግኘት ብቻ ሳይሆን ትክክለኛውን ቅደም ተከተል ለማወቅም አስችሎታል።

የስርዓቱ አጠቃላይ የአሠራር መርህ.

በፋይል ስርዓት ውስጥ ስቴጋኖግራፊ

ቀረጻ አልጎሪዝም

ነጥቦቹ፡-

  • በመጀመሪያ አንዳንድ መረጃዎችን ወደ ምንጭ ፋይል ስርዓት ይፃፉ;
  • ይህንን መረጃ ሰርዝ (ሁሉም የግድ አይደለም);
  • የሚደበቀው ፋይል እኩል ርዝመት ባለው ብሎኮች ተከፍሏል ፣ ምልክት ማድረጊያን ይጨምራል ።
  • እነዚህን ብሎኮች ያመስጥሩ;
  • የተመሰጠሩ ብሎኮችን በባዶ FS ብሎኮች ውስጥ ያስቀምጡ።

ለብሎክ ዲያግራም አፍቃሪዎች

ከታች ያለው የመቅጃ ስልተ ቀመር የማገጃ ንድፍ ነው። አልጎሪዝም እንደ ግብአት አራት ፋይሎችን ይቀበላል፡-
- ሊቀየር የሚችል የፋይል ስርዓት ምስል;
- ለስቴጋኖግራፊ ተገዢ ፋይል;
- ለ AES የምስጠራ ቁልፍ ያለው ፋይል;
- ምልክት ማድረጊያ ጋር ፋይል.
በፋይል ስርዓት ውስጥ ስቴጋኖግራፊ

ይህ ስልተ ቀመር አንድ ችግር እንዳለው ወዲያውኑ ልብ ሊባል የሚገባው ነው-ፋይሉን ወደ FS ከፃፉ በኋላ ፣ ማድረግ አይችልም ማንኛውም አዲስ መረጃ ወደ ዚፕ ፋይላችን በመደብንባቸው ብሎኮች ውስጥ ስለሚገባ አዲስ ማንኛውንም ነገር በ FS ውስጥ ይፃፉ ፣ ምንም እንኳን ይህ “ትራኮቻችንን በፍጥነት የመሸፈን” እድልን የሚከፍት ቢሆንም ።

ግን ይህ እንዴት ማስተካከል እንደሚቻል በጣም ግልፅ ነው-በ FS ውስጥ ብሎኮችን ለመፃፍ ስልተ-ቀመር እንደገና መፃፍ አስፈላጊ ነው። ይህ ለመረዳት የሚቻል ነገር ግን በሚያስደንቅ ሁኔታ ጊዜ የሚወስድ ተግባር ነው።
ለፀፀት ማረጋገጫ ይህንን ተግባራዊ አላደረኩም።

በውጤቱም, የሚከተሉት ለውጦች በ FS ላይ ይደረጋሉ, ይህ FS ከስቴጋኖግራፊ በፊት ምን ይመስላል (የድምጽ ፋይል ቀደም ብሎ ተመዝግቧል).
በፋይል ስርዓት ውስጥ ስቴጋኖግራፊ
እና ኤፍኤስ አስቀድሞ ዚፕ ከተጨመረው መረጃ ጋር ይህን ይመስላል።
በፋይል ስርዓት ውስጥ ስቴጋኖግራፊ

የንባብ ስልተ ቀመር

ነጥቦቹ፡-

  • ቁልፉን እና ጠቋሚዎችን የመገንባት ዘዴን በማወቅ የመጀመሪያዎቹን N ማርከሮች ያዘጋጁ ፣ በፋይል ስርዓት ማገጃው ርዝመት N ሲባዛ ከስቴጋኖግራፍ ፋይል ርዝመት የበለጠ ነው ።
  • በጠቋሚዎች ጀምሮ በ FS ውስጥ ብሎኮችን ይፈልጉ;
  • የተቀበሉትን እገዳዎች ይፍቱ እና ጠቋሚዎቹን ይለያሉ;
  • የተገኙትን ብሎኮች በትክክለኛው ቅደም ተከተል ይሰብስቡ እና የምንጭ ፋይሉን ያግኙ።

ለብሎክ ዲያግራም አፍቃሪዎች

ከታች ያለው የመቅጃ ስልተ ቀመር የማገጃ ንድፍ ነው። አልጎሪዝም ሶስት ፋይሎችን እንደ ግብአት ይቀበላል፡-
- የፋይል ስርዓት ምስል;
- ለ AES የምስጠራ ቁልፍ ያለው ፋይል;
- ምልክት ማድረጊያ ጋር ፋይል.
በፋይል ስርዓት ውስጥ ስቴጋኖግራፊ

ፕሮግራሙ ከተጀመረ በኋላ የንባብ ፋይሉ ብቅ ይላል ፣ እሱም ከስቴጋኖግራፍ ፋይል ስርዓት የወጣው ፋይል ይሆናል ፣ ቁልፉ ወይም ምልክት ማድረጊያው በስህተት ከተገለፀ ፣ ያነበብ ፋይሉ ባዶ ይሆናል።
(ለውበት አፍቃሪዎች ፋይሉን ብቻ ሳይሆን ሜታ መረጃን የያዘ “ራስጌ” ማስገባት ይችላሉ፡ የፋይል ስም፣ መብቶች፣ የመጨረሻ የተሻሻለው ጊዜ፣ ወዘተ.)

ጅምር አውቶማቲክ

ለምቾት ሲባል የ bash ስክሪፕቶች የተፃፉት በሊኑክስ ላይ ጅምርን በራስ ሰር ለመስራት ነው (በኡቡንቱ 16.04.3 LTS ላይ ተፈትኗል)።
ማስጀመሪያውን ደረጃ በደረጃ እንመልከት።
ቅዳ

  1. sudo Copy_Flash.sh “DEVICE” - የFS ምስልን ከDEVICE (ፍላሽ) ያግኙ።
  2. ./Write.sh "ፋይል" "ቁልፍ" "ማርከር" - ምናባዊ አካባቢን ይፍጠሩ, አስፈላጊዎቹን ቤተ-መጻሕፍት ያውርዱ እና የጽሕፈት ስክሪፕቱን ያሂዱ;
  3. sudo ./Write_Flash.sh "DEVICE" - የተለወጠውን FS እንደገና ወደ DEVICE ይፃፉ።

ንባብ

  1. sudo Copy_Flash.sh “DEVICE” - የFS ምስልን ከDEVICE (ፍላሽ) ያግኙ።
  2. ./Read.sh “ቁልፍ” ‘ማርከር’ - ምናባዊ አካባቢን ይፍጠሩ፣ አስፈላጊዎቹን ቤተ-መጻሕፍት ያውርዱ እና ለንባብ መዝለልን ያሂዱ።
  3. አሁን ባለው ማውጫ ውስጥ የተነበበ ፋይልን ይክፈቱ - ይህ ዚፕ የተደረገው መረጃ ነው።

መደምደሚያ

ይህ ስቴጋኖግራፊ ዘዴ ምናልባት መሻሻል፣ ተጨማሪ ሙከራ እና ለታዋቂ የፋይል ስርዓቶች ማራዘም ያስፈልገዋል፣ ለምሳሌ Fat32, በ NTFS и EX4.
ነገር ግን የዚህ ስራ አላማ በፋይል ስርዓቱ ውስጥ የተደበቀ የመረጃ ማከማቻን ለማከናወን የሚቻልበትን መርህ ለማሳየት ነበር.
በእንደዚህ ዓይነት ስልተ ቀመሮች እገዛ መረጃን ያለ ፍርሃት ማከማቸት ይችላሉ ፣ እና ቁልፉን ካወቁ ፣ እንዲህ ዓይነቱን ስርዓት በጠንካራ ኃይል (ነገር ግን በጣም ረጅም በሆነ ስልተ-ቀመር) መጥለፍ ይቻላል ፣ ከዚያ ቁልፉን ሳያውቁ ፣ ይህ ስርዓቱ ለእኔ ፍጹም የተረጋጋ ይመስላል ፣ ሆኖም ፣ ይህ ለተለየ መጣጥፍ ምክንያት ሆኖ ሊያገለግል ይችላል።

ሁሉም ኮድ በፓይዘን ስሪት 3.5.2 ውስጥ ተተግብሯል. የሥራ ምሳሌ በዩትዩብ ቻናሌ ቀርቧል። የፕሮጀክቱ ሙሉ ኮድ ተለጠፈ የፊልሙ.
(አዎ፣ አዎ፣ ለምርት ሥሪት “በፍጥነት” በሆነ ነገር መጻፍ እንደሚያስፈልግ አውቃለሁ፣ ለምሳሌ C 😉)
በዚህ ትግበራ ለስቴጋኖግራፊ የመግቢያ ፋይል መጠን ከ 1000 ኪ.ባ መብለጥ የለበትም.

ለተጠቃሚው ምስጋናዬን መግለጽ እፈልጋለሁ PavelMSTU ጥናቱን ለማቀድ ጠቃሚ ምክር ለማግኘት እና በአንቀጹ ንድፍ ላይ ምክሮች.

ምንጭ: hab.com

አስተያየት ያክሉ