ዚፕ ቦምብ እንዴት እንደሚሰራ። የፑቲን ማህደር ቦምብ። ዎርድፕረስ ፈርዶብናል።

💖 ወደውታል?ሊንኩን ለጓደኞችዎ ያካፍሉ።
[አዘምን] አሁን እኔ በአንዳንድ የስለላ ዝርዝር ውስጥ ነኝ ምክንያቱም ስለ አንድ ዓይነት "ቦምብ" አንድ ጽሑፍ ስለጻፍኩ ነው?

ድህረ ገጽ አስተናግደህ ወይም ሰርቨርን የምታስተዳድር ከሆነ በንብረትህ ላይ መጥፎ ነገር ለማድረግ የሚሞክሩትን መጥፎ ሰዎች በደንብ ታውቅ ይሆናል።

በ13 ዓመቴ ትንሿ ሊኑክስ ሳጥኔን ከኤስኤስኤች መዳረሻ ጋር ለመጀመሪያ ጊዜ ሳስተናግድ፣ መዝገቦቹን ተመለከትኩኝ እና በየቀኑ የአይፒ አድራሻዎችን (በአብዛኛው ከቻይና እና ሩሲያ የመጡ) ከጣፋጭ ትንሽዬ ሳጥን ጋር ለመገናኘት ሲሞክሩ አየሁ (ይህም በእውነቱ በእውነቱ ነበር) አሮጌው ThinkPad T21 ላፕቶፕ ከተሰበረ ማሳያ አልጋው ስር ሲጮህ)። እነዚህን አይፒዎች ለአይኤስፒዎች ሪፖርት አድርጌላቸው ነበር።

በእርግጥ፣ የተከፈተ ኤስኤስኤች ያለው የሊኑክስ አገልጋይ ካለህ፣ በየቀኑ ምን ያህል የግንኙነት ሙከራዎች እንደሚከሰቱ ራስህ ማየት ትችላለህ።

Grep "የማረጋገጫ አለመሳካቶች" /var/log/auth.log


ምንም እንኳን አገልጋዩ ምንም አይነት የይለፍ ቃል ፍቃድ ባይኖረውም እና መደበኛ ባልሆነ ወደብ ላይ እየሰራ ቢሆንም በመቶዎች የሚቆጠሩ የፍቃድ ሙከራዎች አልተሳኩም

ዎርድፕረስ ፈርዶብናል።

እሺ፣ እውነቱን እንነጋገር ከተባለ፣ የዌብ ተጋላጭነት ስካነሮች ከ Wordpress በፊት ነበሩ፣ ነገር ግን መድረኩ በጣም ታዋቂ ከሆነ በኋላ፣ አብዛኛዎቹ ስካነሮች የተሳሳቱ የwp-አድሚን አቃፊዎችን እና ያልተጣበቁ ተሰኪዎችን መፈተሽ ጀመሩ።

ስለዚህ ትንሽ ጀማሪ ጠላፊ ቡድን አንዳንድ ትኩስ አካውንቶችን ማግኘት ከፈለገ ከእነዚህ የስካነር መሳሪያዎች አንዱን አውርደው በተወሰኑ ድረ-ገጾች ላይ አንዳንድ ድረ-ገጾችን ለመድረስ በማሰብ ያካሂዱት እና ያበላሹታል።


የናሙና ምዝግብ ማስታወሻዎች በNikto መሣሪያ ሲቃኙ

ለዚህ ነው ሁሉም አገልጋዮች እና የድር ጣቢያ አስተዳዳሪዎች በመጎብኘት ሙከራዎች የተሞሉ ጊጋባይት ምዝግብ ማስታወሻዎችን የሚያካሂዱት። ስለዚህ አሰብኩ…

መመለስ ትችላለህ?

በIDS ወይም Fail2ban አጠቃቀም ላይ ሙከራ ካደረግኩ በኋላ፣ ካለፈው ጥሩ የዚፕ ቦምቦች አስታወስኩ።

ዚፕ ቦምብ ምን ዓይነት ነገር ነው?

እንደሚታየው፣ ዚፕ መጭመቅ ተደጋጋሚ ውሂብን ለመቋቋም በጣም ጥሩ ነው፣ ስለዚህ ግዙፍ ካሎት የጽሑፍ ፋይል, እንደ ሁሉም ዜሮዎች በተደጋገመ ውሂብ ተሞልቷል, በደንብ ይጨመቃል. በጣም ጥሩ ማለቴ ነው።

42.zip እንዳሳየው 4.5 petabytes (4,500,000 ጊጋባይት) ወደ 42 ኪሎባይት መጭመቅ ይቻላል። የማህደሩን ይዘት ለማየት ሲሞክሩ (ማውጣት ወይም መፍታት) ምናልባት ሁሉንም የዲስክ ቦታ ወይም ራም ይጠቀሙ።

በተጋላጭነት ስካነር ላይ የዚፕ ቦምብ እንዴት መጣል ይቻላል?

እንደ አለመታደል ሆኖ የድር አሳሾች ዚፕን አይረዱም፣ ግን GZIPን ይገነዘባሉ።

ስለዚህ እኛ የምናደርገው የመጀመሪያው ነገር በዜሮ የተሞላ 10GB GZIP ፋይል መፍጠር ነው። ብዙ የጎጆ መጭመቂያዎችን ማድረግ ይችላሉ, ግን በቀላል እንጀምር.

Dd ከሆነ =/dev/ዜሮ bs=1M ቆጠራ=10240 | gzip > 10G.gzip


ቦምብ መገንባት እና መጠኑን ማረጋገጥ

እንደሚመለከቱት, መጠኑ 10 ሜባ ነው. ትንሽ ጥብቅ ሊሆን ይችል ነበር፣ ግን ያ አሁን በቂ ነው።

አሁን ለደንበኛው የሚያደርስ ፒኤችፒ ስክሪፕት እንጭን።

ዝግጁ!

አሁን እንደ ቀላል መከላከያ ልንጠቀምበት እንችላለን:

በግልጽ ለማየት እንደሚቻለው, ይህ ስክሪፕት የሚያምር ነገር አይደለም, ነገር ግን ቀደም ሲል ከተጠቀሱት የስክሪፕት ኪዲዎች ሊጠብቀን ይችላል, በተጠቃሚዎች ውስጥ የተጠቃሚ-ወኪሉን መለወጥ እንደሚቻል ምንም ሀሳብ የላቸውም.

ስለዚህ... ይህን ስክሪፕት ቢያካሂዱ ምን ይሆናል?


(ቦምቡን በሌሎች መሳሪያዎች/አሳሾች/ስክሪፕቶች ላይ ከሞከርክ፣ እባክህ

አንድ በጣም አስደሳች እና አስፈላጊ ክስተት በጸጥታ እና በማይታወቅ ሁኔታ ለስድብ ተከሰተ። የሩሲያው ፕሬዝዳንት ቭላድሚር ፑቲን ከሲቪል ሰርቪሱ መሪዎች መካከል ስማቸው በፕሬስ ላይ እምብዛም የማይታይ ከሆነ አንዱን አግኝተው ተነጋገሩ። የለም፣ ይህ ሰው በባህሪው ሚስጥራዊ ወኪል አይደለም፣ ምንም እንኳን በእንቅስቃሴው ባህሪው ሚስጥራዊ መረጃዎችን ማግኘት ቢችልም እንደ “የማይታየው ግንባር ተዋጊ” አይነት ተደርጎ ሊወሰድ ይችላል። በአጠቃላይ ፑቲን የፌዴራል አርኪቫል ኤጀንሲ ኃላፊ አንድሬ አርቲዞቭን አነጋግረዋል።

በርዕሰ መስተዳድሩ እና በኤጀንሲው ኃላፊ መካከል የተደረገው ውይይት ከንግዱ ጋር የሚመሳሰል ነበር፤ ይህ ሊሆን የቻለው መዘዙ በአንዳንድ ቦታዎች የፈንጂ ቦምብ እንዲፈጠር ሊያደርግ ይችላል፤ አልፎ ተርፎም የግለሰቦች አፍንጫ ሊፈነዳ ይችላል።

ፕሬዚዳንቱ ብዙ የማህደር ሰነዶችን ለመለየት መወሰናቸውን ዝቅተኛ መግለጫ ሰጥተዋል፣ በተጨማሪም አዋጁ በተመሳሳይ ቀን ይፈርማል። በተጨማሪም ፑቲን ብዙዎቹ የመምሪያው ቁሳቁሶች "ልዩ ዋጋ ያላቸው እና ዓለም አቀፋዊ ጠቀሜታ ያላቸው" ስለሆኑ የሮዛርኪቭን ወደ ሩሲያ ፕሬዝዳንት ቀጥተኛ ተገዢነት መተላለፉን አስታውቋል.

የኤጀንሲው ኃላፊ በበኩላቸው ለፕሬዚዳንቱ እንዳሳወቁት የሩሲያ የታሪክ ማህደር ፈንድ 500 ሚሊዮን ፋይሎችን ያከማቻል እና "ከቅርብ አሥርተ ዓመታት ወዲህ አሁን እንደሚደረገው የመግለጫ ሥራ የተደራጀና የተደራጀ ሥራ አልተሠራም" ብለዋል።

ዋናው ነጥብ ከተከፋፈለ በኋላ ወዲያውኑ የመዝገብ ሰነዶች በሩሲያ መዝገብ ቤት ኦፊሴላዊ ድረ-ገጽ ላይ ይገኛሉ, ለዚህም ልዩ የውሂብ ጎታ አስቀድሞ በተፈጠረበት.

ቀደም ሲል ከተዘረዘሩት መዛግብት መካከል የሀገር ውስጥ እና የውጭ ሀገር የታሪክ ተመራማሪዎች ለረጅም ጊዜ ከንፈራቸውን ይልሱ የነበሩ ቁሳቁሶች፡- 1400 ልዩ የስታሊን መመሪያዎች፣ ከዋናው መስሪያ ቤት ትእዛዝ፣ የፊት መስመር ትእዛዝ፣ የስራ ካርታዎች፣ የውሳኔ ሃሳቦች እና የዛን ጊዜ ፎቶግራፎች በቅርብ ጊዜ ውስጥ እስኪቀመጡ ድረስ። ማህደሮች "ከፍተኛ ሚስጥር" በሚለው ርዕስ ስር.

አንድ ሰው ለታሪክ ሊቃውንት በቅንነት ሊደሰት ይችላል, ትኩስ እና አስደሳች ስራዎችን እመኛለሁ, ይህም ከላይ በተጠቀሱት ሰነዶች ላይ የተመሰረተ ነው, ነገር ግን መለያየት ብቻ አንድ ወታደራዊ-ታሪካዊ ርዕስ ላይ ተጽዕኖ አይኖረውም.

ለሩሲያ ቤተ መዛግብት ቅርበት ያለው ምንጭ አስደሳች ዝርዝሮችን ይሰጣል:- “ከማህደር ክፍል ከሚገኘው መረጃ እስከማውቀው ድረስ ይህ ከ1930 እስከ 1989 ባለው ጊዜ ውስጥ ነው። ጉዳዮች አሉ ፣ ይቅርታ አድርግልኝ ፣ መረጃ ሰጭዎች - እንዲሁም በንፁሃን የተጨቆኑ ፣ በጣም አስደሳች የአያት ስም ያላቸው። ቀደም ሲል ሪፖርት ሊደረጉ የሚችሉ የጠፈር እና ወታደራዊ እድገቶች ላይ መረጃ ይኖራል. በተጨማሪም በታላቁ የአርበኝነት ጦርነት ወቅት የተቀበሉት ጦርነቶች፣ ትዕዛዞች እና መረጃዎች እንዲሁም በቀዝቃዛው ጦርነት ወቅት ስለ ኢንተርስቴት ግንኙነቶች መረጃ እየተከፋፈለ ነው።

እና በጣም ክብደት ያለው አክሎ እንዲህ ብሏል: - “አንዳንድ ሰነዶች ህብረተሰቡን ያስደንቃሉ። ምንም ይሁን ምን የራስዎን ታሪክ ማወቅ አለብዎት.

ቤተ መዛግብት ረጅም የማስታወስ ችሎታ አላቸው እና ከሃይድሮጂን ቦምብ የባሰ ክፍያን ይይዛሉ። በአገራችን "የማርሻል ጉዳይ" እና "የዶክተሮች ጉዳይ" ተከፋፍሎ መቆየቱ በአጋጣሚ አይደለም, ለረጅም ጊዜ ለሁሉም ዓይነት ግምቶች ምክንያቶችን ይፈጥራል. ብዙም ሳይቆይ፣ በዩኬ፣ ልዩ ኮሚሽን የሚስጢራዊነት ጊዜያቸው ሊያበቃ በመጣባቸው ማህደር ሰነዶች ላይ ተወያይቶ ነበር፣ ነገር ግን ከጦርነት በፊት የብሪታንያ የስለላ ድርጅት ጋር ባደረገው መረጃ መሰረት የምስጢር ጥበቃ ስርዓቱን ለተጨማሪ 50 ዓመታት እንዲራዘም ተወስኗል። የናዚ ኤስዲ.

ስለ "አንዳንድ ሰነዶች ህዝቡን ያስደንቃሉ" የሚለው ቦታ በአጋጣሚ አይደለም. እ.ኤ.አ. በ 1980 ዎቹ መገባደጃ ላይ በሩሲያም ሆነ በቀድሞዋ የዩኤስኤስ አር ሪፐብሊኮች ውስጥ የተለያዩ ሰዎች በ "ዲሞክራሲ" ማዕበል ወደ ስልጣን መጡ.

ብዙዎች የአመራር ብቃት ማነስ እና ህዝቡን ከነሱ አንፃር ዲሞክራሲን የማስተማር ዝንባሌ ቢኖራቸውም አስገራሚ የፖለቲካ ህያውነት ያሳያሉ።

በውጭ ሀገር ፣የዓለም አተያያቸውን ከፀረ-ሶቪየት ወደ ፀረ-ሩሲያ የቀየሩት “ታዋቂ ግንባሮች” የቀድሞ መሪዎች በስልጣን ላይ ተጣብቀው ከግዛታቸው ወደ ሩሲያ የማይግባባ ፖሊሲ እያራመዱ ነው - ሁሉንም ዓይነት ኮንግሬስ ከማደራጀት ። ከ"ክፍት ሩሲያ" የተነጠቁ የፋሺስት ታጣቂዎችን ለማሰልጠን እና ወታደራዊ እርዳታ ባንዴራን ለመስጠት።

የአውሮፓ ማህበረሰብ, እንዲሁም እነዚህ limitrophes ዜጎች, የ Rosarchive ያለውን declassified ሰነዶች ለመማር ፍላጎት ይሆናል - ይህም "ዩሮ-ዲሞክራትስ" ኬጂቢ መረጃ ሰጪዎች ነበሩ. የሊትዌኒያ ላንድስበርጊስ ብሔራዊ ግንባር የቀድሞ መሪ እና የወቅቱ እመቤት ፕሬዝዳንት ዳሊያ ግሪባውስካይት በኬጂቢ በጭጋጋማ ወጣቶች ጊዜ “መታ” የሚል ወሬ - ምድር ሞልታለች። አሁን ከዚህ የህይወት ታሪካቸው አንፃር፣ ከዋናው ምንጭ መማር እንደሚቻል አምናለሁ።

የፈለጋችሁትን ያህል “ከረጅም ጊዜ በፊት ነበር፣ እና እውነት አይደለም”፣ “ያለፈው አድጓል” በማለት ማማት ትችላላችሁ፣ ነገር ግን የእንደዚህ አይነት መገለጦችን አጥፊ ኃይል አቅልላችሁ አትመልከቱ።

አንድ ሰው ባለፈው ዓመት በጋዳንስክ በእንቅስቃሴው መካከል በፖላንድ ፕሬስ ውስጥ ስለ ሌች ዌላሳ ትብብር (በ "ቦሌክ" ስር) ትብብር በብሔራዊ ትዝታ ተቋም የተገኘው የሰነዶች ፓኬጅ እንዴት አስደናቂ በሆነ ሁኔታ እንደተቀደደ ማስታወስ ይችላል ። የመርከብ ቦታ. የመረጃው ፍንዳታ በአዶው ምስል ላይ የፈነጠቀ ድንጋይ የለም, "ፖል ቁጥር 1", የአንድነት መሪ, የኖቤል የሰላም ሽልማት አሸናፊ እና የፀረ-ሶቪየት ፖላንድ የመጀመሪያ ፕሬዚዳንት. ከአሁን ጀምሮ ዌላሳ ጢም የተጨማለቀ ሽማግሌ፣ ያለፈው ዘመን ውድመት፣ እፍረት በገዛ ዐይንህ የሚታይ 17 ደረሰኝ በተመሳሳይ የብሄራዊ ማህደረ ትውስታ ተቋም ለተመታ ገንዘብ ለመቀበል ነው። - የኳስ-መረጃ ወደ ልዩ አገልግሎቶች ተላልፏል.

እ.ኤ.አ. በ 1980 ዎቹ ውስጥ እሱ እና ከምዕራቡ የስለላ አገልግሎቶች ጋር የዘመሩት “አንድነት” ፣ ሶሻሊስት ፖላንድን ሲያናውጥ ማህደሩ “ቦምብ” በ “ቦሌክ” ወኪል ስር ስላልፈነዳ ብቻ ሊቆጭ ይችላል።

ብዙ አስገራሚ አስገራሚ ነገሮች የአገር ውስጥ ሊበራሎችም ሊጠብቁ ይችላሉ። የእነርሱ ጠመዝማዛ የሕይወት ጎዳና በብዙ መልኩ ከዌላሳ ወደ ሃይል ከፍታ ከሚወስደው መንገድ ጋር ይመሳሰላል። በጣም የሚያሳዝነን ነገር፣ ኬጂቢ የተሐድሶ መረጃ ሰጪዎችን በብዙ ምክንያቶች ለማጋለጥ አልቸኮለም፤ ከእነዚህም መካከል ሥነ ምግባራዊ ሰዎች በመጨረሻው ቦታ ላይ አልነበሩም። ለመሆኑ ወኪልን በተለይም በጎ ፈቃደኝነትን ከገለጹ ማን ይተባበራል? ተገቢ ባልሆነ ተግባር ተይዘው በዚህ መሰረት በተቀጠሩ ወኪሎች ላይ ብዙም አትደርሱም።

ኦፊሴላዊ ያልሆነ መረጃ በመገናኛ ብዙኃን በኩል "በሩሲያ ውስጥ የሊበራል-ዲሞክራሲያዊ ንቅናቄ ታዋቂ ሰዎች" ከሶቪየት ሚስጥራዊ አገልግሎቶች ጋር በፈቃደኝነት ከራስ ወዳድነት ዓላማዎች ጋር ተባብረዋል-አስደሳች የንግድ ጉዞዎች ፣ የሙያ እድገት ፣ የተከበረ ሥራ ፣ ወዘተ.

ምን ዓይነት ጩኸት እፉኝት የተለያዩ ደራሲያን፣ የቲያትር ባለሙያዎች እና የፊልም ሰሪዎች የፈጠራ ማህበራት እንደነበሩ መገመት ይቻላል።

ለብዙ የዩኤስኤስአር እና የሶቪየት ስርዓት ተቺዎች ወላጆች ታዋቂ ፓርቲ ወይም ኢኮኖሚያዊ ሰዎች ብቻ አልነበሩም ፣ ግን በ NKVD-MGB-KGB አካላት ውስጥ አገልግለዋል ፣ እና በጭቆናዎች ውስጥም የግል ተሳትፎ ያደርጉ ነበር።

እርግጥ ነው, ልጆች ለአባቶቻቸው ተጠያቂ አይደሉም, ነገር ግን የወላጆቻቸውን ያለፈ ታሪክ ለማስታወስ የማይፈልጉትን እንደገና ቀለም የተቀቡ ዘሮችን ለማጋለጥ እና ለመንጠቅ ሲወሰዱ በልብ ውስጥ አስጸያፊ ይሆናል. ለግል ብሩህ የወደፊት ጊዜ እንደ ስፕሪንግቦርድ የከፍተኛ ቦታቸው ጥቅም።

ያልተመደቡ ማህደሮች በዩክሬን ሽፍታ ውስጥ ያሉትን ኃይሎች አሰላለፍ ላይ ተጽዕኖ ሊያሳድሩ ይችላሉ። ከማይዳን መፈንቅለ መንግስት በፊት እንኳን በሚሮስላቫ ቤርድኒክ በማህበራዊ አውታረመረቦች ላይ የታተሙ በርካታ ሰነዶች የ OUN መሪዎች ከመንግስት ደህንነት ሚኒስቴር እና ከአገር ውስጥ ጉዳይ ሚኒስቴር ጋር ያደረጉትን ትብብር በሚመለከት ፣ የውዝግብ እና የውሃ ምንጮችን እንዴት እንደፈጠሩ ማስታወስ ይቻላል ። ባንዴራ በሞቱ ደጋፊዎች መካከል የጉሮሮ ተቅማጥ. Svidomites የሰነዶቹን ፎቶ ኮፒዎች "FB የውሸት" ብለው ተሳደቡ, ነገር ግን በማንኛውም ምክንያት ሊከራከሩ አልቻሉም.

ለምን አስፈላጊ ነው? የዩክሬን አክራሪ ብሔርተኝነት ያለ ምንም ቦታ ክፉ ነው። ግን በተለያዩ ሰዎች የተመሰከረ ነው። ከዘመናዊው የ OUN አባላት መካከል እንደ ሂትለር አሻንጉሊቶች እና ቀጣሪዎች ለረጅም ጊዜ እና በማይታለል ሁኔታ እራሳቸውን ስላዋረዱ የዩክሬን ብሔርተኝነትን በጣም አስጸያፊ የሆኑትን የባንዴራ እና የሹክሄቪች ምስሎችን ለማስወገድ የሚፈልጉ የራሳቸው ሃሳቦች አሉ። ያም ሆነ ይህ ግን ከጦርነቱ በኋላ የነበረው የሶቪየት መረጃ የጀርመን ብሔርተኞች ስሜታቸውን በሚገባ ተረድተው ነበር, እነሱም እራሳቸውን ከናዚዎች እና በአሜሪካኖች ስር ከወደቁት የጄኔራል ጌህለን ደጋፊዎች ጋር በግልጽ ለዩ. የቢስማርክን ጣዖት አድርገው የቆጠሩት የጀርመን ብሔርተኞች ከጦርነቱ አስከፊነት ተርፈው እና አሜሪካኖች FRGን ከዩኤስኤስአር ጋር አዲስ ጦርነት ውስጥ እንዴት እንደሚገፋፉ በማየታቸው ለሶቪየት እና ለምስራቅ ጀርመን የስለላ ስራ መስራትን መረጡ። ይህ ነጥብ በእርግጠኝነት ሊታሰብበት የሚገባ ነው.

በሌላ በኩል፣ ዩክሬን ከናዚ ሚስጥራዊ አገልግሎቶች ጋር ጣዖቶቻቸውን በመተባበር የሚያሳዩትን ምንም ዓይነት የሰነድ ማስረጃ በማይፈሩ፣ ከመጠን በላይ አስጸያፊ በሆኑ ኒዮ-ባንደርስቶች የተሞላች ናት። እና ጣዖቶቻቸው ልክ እንደ ቫሲል ኩክ፣ “ወንድሞቻቸው” በመሸጎጫ ውስጥ ተቀምጠው መረጃ ለኤም.ቢ.ቢ አውጥተዋል የሚሉ ያልተመደቡ ሰነዶች ቢታተሙስ?

በኋለኛው የሶቪየት ዘመን “ቀኝ ዘመም” እና “ካሬዎች” ሁሉም ዓይነት የእስር አገዛዝን ለማለዘብ ኬጂቢን አንኳኩቶ ከቤት ለተጨማሪ የቤከን እሽግ ወይም የሻግ እሽግ በድንገት ቢከሰትስ? የካምፕ ድንኳን? የሞስኮን፣ የኤፍኤስቢ እና የፑቲንን ረጅም እጅ የሚያየው የባንዴራ “ስፒልኖታ” በግላቸው እንዲህ ያለውን የጥፋተኝነት ጥንካሬ ይቋቋማል?

የዚህ ዓይነቱ መረጃ ከ Svidomo dups, ባለቤቶች "ብሔራዊ ንፅህና" እና "Svidomo" የሚኩራራውን የቴርሞኑክሌር ፕላዝማ ኃይለኛ መለቀቅን ሊያስከትል ይችላል. የጣዖታት መገለጥ አንድ ሰው እንዲያፈገፍግ እና ሀሳቡን እንዲለውጥ ሊያደርግ ይችላል።

ራሳቸውን "መጅሊስ" ብሎ የሚጠራው ቡድን መሪዎች እንዲሁም ሌሎች ወራዳ ግለሰቦች በዘፈቀደ በራሳቸው ላይ በተወሰደው "የብሄረሰብ ህሊና" ሸክም ውስጥ ስለሚማቅቁት ድርብ ህይወት መማር አስደሳች ይሆናል።

ታዲያ የመጀመሪያው መዝገብ ቤት “ቦምብ” የሚፈነዳው በማን አህያ ስር ነው? ከ"ሎኮሞቲቭ" ጋር ረጅም የራዕይ ሰንሰለት እየፈታ ማን ይሄዳል?


*ሁለት የ42.ዚፕ ስሪቶች አሉ፡ የድሮው 42,374 ባይት፣ አዲሱ ደግሞ 42,838 ባይት ነው። ልዩነቱ አዲሱ ከማሸግ በፊት የይለፍ ቃል ያስፈልገዋል። ከአሮጌው ስሪት ጋር ብቻ እናነፃፅራለን. ከፈለጉ የፋይሉ ቅጂ ይኸውና፡ 42.zip .

ዚፕ ቦምቦች በተለምዶ በተንታኞች የሚደገፉት DEFLATE compressionalgorithm ከታመቀ ሬሾ ከ1032 እስከ 1 መብለጥ አለመቻሉን ማሸነፍ አለባቸው።በዚህም ምክንያት ዚፕ ቦምቦች ተጨማሪ ሬሾን 1032 ለማግኘት ዚፕ ፋይሎችን በዚፕ ፋይሎች ውስጥ በመክተት ተደጋጋሚ መበስበስ ላይ ይመካሉ። ከእያንዳንዱ ንብርብር ጋር. ነገር ግን ብልሃቱ የሚሰራው በተደጋጋሚ በሚፈቱ ትግበራዎች ላይ ብቻ ነው፣ እና አብዛኛዎቹ አያደርጉም። በጣም ዝነኛ የሆነው 42.ዚፕ ቦምብ ወደ አስፈሪው 4.5 ፒቢ የሚዘረጋው ስድስቱም ንብርብሮች በተደጋጋሚ ሲጨመቁ፣ ነገር ግን በላይኛው ሽፋን ላይ 0.6 ሜጋ ባይት አለው። የዚፕ ኩዊን ልክ እንደ ኮክስ እና ኤሊንግሰን የራሳቸው ቅጂ ያመነጫሉ እና በተደጋጋሚ ሲጨመቁ ላልተወሰነ ጊዜ ይሰፋሉ። ነገር ግን አንድ ጊዜ ሲፈቱ ፍጹም ደህና ናቸው።

ይህ መጣጥፍ የማይደጋገም ዚፕ ቦምብ እንዴት መፍጠር እንደሚቻል ያሳያል ፣የመጭመቂያው ጥምርታ ከ DEFLATE ወሰን 1032 ይበልጣል።በዚፕ ኮንቴይነር ውስጥ ያሉ ፋይሎችን ተደራራቢ በማድረግ ብዙ ቅጂዎችን ሳያደርጉ በብዙ ፋይሎች ውስጥ ያሉ በጣም የተጨመቁ መረጃዎችን "ኮር" ለማመልከት ይሰራል። የዚፕ ቦምብ የውጤት መጠን ከግቤት መጠን በአራት እጥፍ ያድጋል; ማለትም የቦምብ መጠን ሲጨምር የጨመቁ መጠን ይሻሻላል. ዲዛይኑ በዚፕ እና DEFLATE ባህሪያት ላይ የተመሰረተ ነው፡ ወደ ሌሎች የፋይል ቅርጸቶች ወይም የመጨመቂያ ስልተ ቀመሮች በቀጥታ ተንቀሳቃሽ አይደለም. ቦምቡ የዚፕ ፋይሉን ማእከላዊ ማውጫ ሳያረጋግጡ ፋይሎችን በአንድ ማለፊያ ከሚተነትኑት ከ"ዥረት መልቀቅ" በስተቀር ከአብዛኞቹ ዚፕ ፓሰሮች ጋር ተኳሃኝ ነው። ሁለት የሚጋጩ ግቦችን ለማመጣጠን እንሞክራለን-

  • የጨመቁትን ጥምርታ ይጨምሩ። የጨመቁትን ጥምርታ በማህደሩ ውስጥ ያሉ የሁሉም ፋይሎች መጠኖች ድምር በዚፕ ፋይሉ መጠን ተከፋፍለን እንገልፃለን። ይህ የፋይል ስሞችን ወይም ሌላ የፋይል ስርዓት ዲበ ውሂብን አያካትትም፣ ይዘት ብቻ።
  • ተኳኋኝነትን ጠብቅ. ዚፕ ውስብስብ ቅርጸት ነው እና ተንታኞች በተለይም በጠርዝ ጉዳዮች እና ተጨማሪ ባህሪያት ይለያያሉ። ከተወሰኑ ተንታኞች ጋር ብቻ የሚሰሩ ዘዴዎችን አይጠቀሙ። በተወሰነ የተኳኋኝነት ማጣት የዚፕ ቦምብ ውጤታማነትን ለማሻሻል አንዳንድ መንገዶችን እናስተውላለን።

የዚፕ ፋይል መዋቅር

ዚፕ ፋይል ያቀፈ ነው። ማዕከላዊ ማውጫአገናኞች ወደ ፋይሎች.

ማዕከላዊው ማውጫ በዚፕ ፋይሉ መጨረሻ ላይ ነው። ዝርዝሩ ይህ ነው። ማዕከላዊ ማውጫ ራስጌዎች. እያንዳንዱ ማዕከላዊ የማውጫ ራስጌ እንደ የፋይል ስም እና CRC-32 ቼክ ድምር ያሉ ነጠላ የፋይል ዲበ ውሂብ እና ለአካባቢው የፋይል ራስጌ የኋላ ጠቋሚ ይዟል። የማዕከላዊው ማውጫ ራስጌ 46 ባይት እና የፋይል ስም ርዝመት አለው።

ፋይሉ የአካባቢያዊ ፋይል ራስጌ እና የተጨመቀ የፋይል ውሂብን ያካትታል። የአካባቢያዊ ፋይል ራስጌ ርዝመት 30 ባይት እና የፋይል ስም ርዝመት ነው። ከማዕከላዊው ማውጫ ራስጌ የተገኘ ተደጋጋሚ የሜታዳታ ቅጂ እና ከጀርባው የታመቁ እና ያልተጨመቁ የውሂብ ፋይሎች መጠኖችን ይዟል። ዚፕ የመያዣ ፎርማት እንጂ የመጭመቂያ ስልተ-ቀመር አይደለም። የእያንዳንዱ ፋይል ውሂብ በዲበ ዳታ ውስጥ በተጠቀሰው ስልተ-ቀመር በመጠቀም ይጨመቃል፣ ብዙውን ጊዜ DEFLATE .

ይህ የዚፕ ፎርማት መግለጫ የዚፕ ቦምቡን ለመረዳት የማያስፈልጉትን ብዙ ዝርዝሮችን ይተዋል። ለተሟላ ዝርዝሮች ክፍል 4.3 APPNOTE.TXT ወይም Florian Buchholz's "PKZip File Structure" ይመልከቱ ወይም ይመልከቱ።

በዚፕ ፎርማት ውስጥ ያለው ትልቅ ድግግሞሽ እና ብዙ አሻሚዎች ለሁሉም አይነት ጥፋቶች እድሎችን ይከፍታሉ። ዚፕ ቦምብ የበረዶ ግግር ጫፍ ብቻ ነው. ለተጨማሪ ንባብ አገናኞች፡-

$ python3 -m zipfile -e መደራረብ.ዚፕ . መከታተያ (የቅርብ ጊዜ ጥሪ)፡ ... __main__.BadZipFile፡ የፋይል ስም በማውጫው "B" እና ርእስ b"A" ይለያያሉ።
በመቀጠል፣ አብዛኞቹን የተደራራቢ ፋይሎች ጥቅሞች እየያዝን ለፋይል ስም ወጥነት ግንባታውን እንዴት ማሻሻል እንደምንችል እንመለከታለን።

ሁለተኛ ግኝት፡ የአካባቢ ፋይል ራስጌዎችን በመጥቀስ

አሁንም አንድ ኮር እንደገና እየተጠቀምን ሳለ ለእያንዳንዱ ፋይል የአካባቢያዊ ፋይል ራስጌዎችን መለየት አለብን። ሁሉንም ራስጌዎች ማገናኘት ብቻ አይሰራም፣ ምክንያቱም ዚፕ ተንታኙ የDEFLATE ዥረቱ እንዲጀምር የሚጠብቅበትን የአካባቢያዊ ፋይል ራስጌ ያገኛል። ግን ሀሳቡ ይሰራል, ከጥቂት ለውጦች ጋር. ያልተጨመቁ ብሎኮች የDEFLATE ተግባርን እንጠቀማለን የአካባቢ ፋይል ራስጌዎችን "ለመጥቀስ" በከርነል ውስጥ የሚያልቅ ተመሳሳይ የDEFLATE ዥረት አካል ሆነው እንዲታዩ። እያንዳንዱ የአካባቢ ፋይል ራስጌ (ከመጀመሪያው በስተቀር) በሁለት መንገዶች ይተረጎማል፡ እንደ ኮድ (የዚፕ ፋይል መዋቅር አካል) እና እንደ ውሂብ (የፋይል ይዘት አካል)።

DEFLATE ዥረት ማለት እያንዳንዱ ብሎክ ሊጨመቅ ወይም ሊጨመቅ የሚችልበት ተከታታይ ብሎኮች ነው። እኛ ብዙውን ጊዜ የምናስበው ስለ የተጨመቁ ብሎኮች ብቻ ነው፣ ለምሳሌ ከርነል አንድ ትልቅ የታመቀ ብሎኬት ነው። ነገር ግን በ5-ባይት ራስጌ በርዝመት መስክ የሚጀምሩ ያልተጨመቁም አሉ፣ ይህም በቀላሉ የሚከተለውን ያትሙ። nባይት በቃል። ያልተጨመቀ ብሎክን መፍታት ማለት ባለ 5 ባይት ራስጌን ማስወገድ ብቻ ነው። የታመቁ እና ያልተጨመቁ ብሎኮች በDEFLATE ዥረት ውስጥ በነፃነት ሊደባለቁ ይችላሉ። ውጤቱ ሁሉንም ብሎኮች በቅደም ተከተል የመክፈት ውጤቶች ጥምረት ነው። "ያልተጨመቀ" የሚለው ቃል በDEFLATE ደረጃ ላይ ብቻ ጠቃሚ ነው; ምንም አይነት ብሎኮች ጥቅም ላይ ቢውሉ የፋይል ውሂቡ አሁንም በዚፕ ደረጃ እንደ "ተጨመቀ" ይቆጠራል።

ይህንን ግንባታ ለማሰብ ቀላሉ መንገድ እንደ ውስጣዊ መደራረብ ነው, ከመጨረሻው ፋይል እስከ መጀመሪያው ድረስ. ለእያንዳንዱ ፋይል የውሂብ ፋይሉ መጨረሻ የሚሠራውን ከርነል በማስገባት እንጀምራለን. የአካባቢያዊ LFH ፋይል ራስጌ በማከል ላይ ኤንእና የማዕከላዊው ማውጫ CDH ርዕስ ኤን, ይህም የሚያመለክተው. የተጨመቀውን መጠን ሜታዳታ መስክ ወደ LFH አዘጋጅ ኤንእና ሲዲኤች ኤንበተጨመቀው የከርነል መጠን ላይ. አሁን ባለ 5-ባይት ያልተጨመቀ የማገጃ ራስጌ እንጨምራለን (በሥዕላዊ መግለጫው ውስጥ በአረንጓዴ) ፣ የርዝመቱ መስክ ከኤልኤፍኤች መጠን ጋር እኩል ነው። ኤን. ሁለተኛ የአካባቢ LFH ፋይል ራስጌ በማከል ላይ ኤን-1 እና የሲዲኤች ማዕከላዊ ማውጫ ራስጌ ኤን-1, ይህም የሚያመለክተው. "የተጨመቀ መጠን" ሜታዳታ መስክ እንደ አዲሱ የከርነል የታመቀ መጠን ራስጌ ያዘጋጁ ሲደመርያልታመቀ የራስጌ መጠን (5 ባይት) ሲደመርየ LFH መጠን ኤን .

በአሁኑ ጊዜ የዚፕ ፋይሉ Y እና Z የሚባሉ ሁለት ፋይሎችን ይዟል። ተንታኙ በሚተነተንበት ጊዜ ምን እንደሚያይ እንሂድ። የተጨመቀው የከርነል መጠን 1000 ባይት እና የኤልኤፍኤች መጠን ነው ብለው ያስቡ ኤን- 31 ባይት. ከሲዲኤች ጀምሮ ኤን-1 እና ጠቋሚውን ወደ LFH ይከተሉ ኤን-1. የመጀመሪያው ፋይል ስም Y ነው፣ እና የተጨመቀው የውሂብ ፋይሉ መጠን 1036 ባይት ነው። ቀጣዩን 1036 ባይት እንደ DEFLATE ዥረት ስንተረጉም በመጀመሪያ የሚቀጥሉትን 31 ባይት ቅዳ የሚል ባለ 5-ባይት ያልታመቀ ብሎክ ራስጌ አጋጥሞናል። የሚቀጥሉትን 31 ባይት ይፃፉ፣ እነሱም LFH ናቸው። ኤንእኛ ነቅለን ወደ ፋይል Y እንጨምረዋለን። ወደ DEFLATE ዥረት በመቀጠል የተጨመቀውን ብሎክ (ከርነል) እናገኛለን ወደ ፋይል Y የምንጨምረው። አሁን የተጨመቀው መረጃ መጨረሻ ላይ ደርሰን በፋይል Y ጨርሰናል።

ወደ ቀጣዩ ፋይል ስንሄድ፣ ጠቋሚውን ከሲዲኤች እንከተላለን ኤንወደ LFH ኤንእና የታመቀ መጠኑ 1000 ባይት የሆነ Z የሚባል ፋይል ያግኙ። እነዚህን 1000 ባይት እንደ DEFLATE ዥረት በመተርጎም የተጨመቀውን ብሎክ (ከርነል እንደገና) እናጋጥመዋለን እና ወደ ፋይል Z እንጨምረዋለን። አሁን የመጨረሻው ፋይል መጨረሻ ላይ ደርሰናል እና ጨርሰናል። የ Z ውፅዓት ፋይል ያልታሸገውን ከርነል ይዟል; የውጤት ፋይል Y ተመሳሳይ ነው፣ ግን በተጨማሪ በ 31 ባይት LFH ቅድመ ቅጥያ ያለው ኤን .

የዚፕ ማህደሩ የሚፈለገውን የፋይል ብዛት እስኪይዝ ድረስ የጥቅሱን ሂደት በመድገም ግንባታውን እናጠናቅቃለን። እያንዳንዱ አዲስ ፋይል ወዲያውኑ የሚከተለውን የአካባቢ ፋይል ራስጌ ለመጥቀስ ማዕከላዊ ማውጫ ራስጌ፣ የአካባቢ ፋይል ራስጌ እና ያልተጨመቀ ብሎክ ያክላል። የታመቀ የፋይል ዳታ በተለምዶ ያልተጨመቁ DEFLATE ብሎኮች (የተጠቀሱ የአካባቢ ፋይል ራስጌዎች) እና የታመቀ ከርነል ነው። በከርነል ውስጥ ያለው እያንዳንዱ ባይት 1032 ያህሉ ያበረክታል። ኤንወደ የውጤት መጠን, ምክንያቱም እያንዳንዱ ባይት የሁሉም አካል ነው ኤንፋይሎች. የውጤት ፋይሎቹም የተለያየ መጠን ያላቸው ናቸው፡ አሮጌዎቹ ከኋለኞቹ የሚበልጡ ናቸው ምክንያቱም የአካባቢያዊ የፋይል ራስጌዎችን የበለጠ ይጠቅሳሉ። የውጤት ፋይሎቹ ይዘቶች ብዙ ትርጉም አይሰጡም, ግን ማንም አለባቸው ብሎ አልተናገረም.

ይህ ተደራራቢ የጥቅስ ግንባታ ካለፈው ክፍል ከተሰራው ሙሉ መደራረብ የተሻለ ተኳሃኝነት አለው፣ ነገር ግን ተኳሃኝነት የሚመጣው በመጨመቂያ ዋጋ ነው። እዚያ፣ እያንዳንዱ የተጨመረ ፋይል ዋጋ ያለው የማዕከላዊ ማውጫ ራስጌ ብቻ ነው፣ እዚህ ማዕከላዊው ማውጫ ራስጌ፣ የአካባቢ ፋይል ራስጌ እና ሌላ 5 ባይት ለጥቅስ ራስጌ ዋጋ አለው።

ማመቻቸት

የዚፕ ቦምብ መሰረታዊ ንድፍ ከተቀበልን በተቻለ መጠን ውጤታማ ለማድረግ እንሞክራለን. ሁለት ጥያቄዎችን መመለስ እንፈልጋለን።
  • ለአንድ የተወሰነ የዚፕ ፋይል መጠን ከፍተኛው የመጨመቂያ ሬሾ ስንት ነው?
  • የዚፕ ቅርጸት ውስንነት የተሰጠው ከፍተኛው የመጨመቂያ ሬሾ ምን ያህል ነው?

ኮር መጭመቅ

በተቻለ መጠን ዋናውን መጭመቅ ይጠቅመናል, ምክንያቱም እያንዳንዱ ያልታሸገ ባይት ተባዝቷል ኤን. ለዚሁ ዓላማ፣ ተደጋጋሚ ባይት ሕብረቁምፊ ለመጭመቅ ልዩ የሆነ ብጁ DEFLATE መጭመቂያ bulk_deflate እንጠቀማለን።

ሁሉም ጥሩ DEFLATE መዛግብት ማለቂያ በሌለው ተደጋጋሚ ባይት ዥረት ወደ 1032 የመጨመቂያ ሬሾ ይቀርባሉ፣ ነገር ግን የተወሰነውን መጠን እንጨነቃለን። በእኛ መዛግብት መጠን፣ bulk_deflate ከአጠቃላይ ዓላማ መዛግብት የበለጠ መረጃ ይይዛል፡ ከዝሊብ እና ከመረጃ ዚፕ ወደ 26 ኪባ ገደማ፣ እና ከዞፕፍሊ 15 ኪባ ገደማ ይበልጣል፣ ይህም ለመጭመቂያ ጥራት ፍጥነትን የሚከፍል።

የከፍተኛ የጅምላ_deflate መጭመቂያ ውድር ዋጋ ሁለገብነት እጥረት ነው። የተደጋገሙ ባይት ሕብረቁምፊዎች ብቻ እና የተወሰነ ርዝመት ብቻ ማለትም 517 + 258 መጭመቅ ይችላል። ለኢንቲጀር ≥ 0. ከጥሩ መጭመቂያ በተጨማሪ bulk_deflate ፈጣን ነው፣ የግብአት ውሂቡ መጠን ምንም ይሁን ምን ስራውን በተመሳሳይ ጊዜ በመስራት የተጨመቀውን ሕብረቁምፊ በትክክል ከመፃፍ ውጭ።

የፋይል ስሞች

ለእኛ ዓላማዎች፣ የፋይል ስሞች በተግባር የሞቱ ክብደት ናቸው። ምንም እንኳን በተጠቀሱት የአካባቢ የፋይል ራስጌዎች አካል በመሆን ለውጤቱ መጠን አስተዋፅኦ ቢያደርጉም በፋይል ስም ውስጥ ያለው ባይት በከርነል ውስጥ ካለው ባይት በጣም ያነሰ አስተዋጽኦ ያደርጋል። ተኳኋኝነትን ከግምት ውስጥ በማስገባት የፋይል ስሞቹ በተቻለ መጠን አጭር፣ ግን የተለያዩ እንዲሆኑ እንፈልጋለን።

እያንዳንዱ ባይት በፋይል ስም ላይ ያሳለፈው ሁለት ባይት በከርነል ላይ ያልዋለ ማለት ነው (ሁለት፣ ምክንያቱም እያንዳንዱ የፋይል ስም ሁለት ጊዜ ስለሚታይ በማዕከላዊው ማውጫ እና በአከባቢው ፋይል ራስጌ ውስጥ)። የፋይል ስም ባይት ብቻ በ ( ኤን+ 1) / 4 ባይት የውጤት መጠን፣ በከርነል ውስጥ ያለው ባይት 1032 ሆኖ ሲቆጠር ኤን. ምሳሌዎች፡,,.

የመጀመሪያው የተኳኋኝነት ግምት ኢንኮዲንግ ነው። የተወሰነ ባንዲራ ከተዋቀረ (APPNOTE.TXT፣ አባሪ መ) የፋይል ስሞች እንደ CP 437 ወይም UTF-8 መተርጎም እንዳለባቸው የዚፕ ቅርጸት መግለጫው ይገልጻል። ይህ የፋይል ስሞችን በአንዳንድ ቋሚ ወይም አካባቢያዊ-ተኮር ኢንኮዲንግ ሊተረጎም በሚችለው በዚፕ ተንታኞች መካከል ያለው አለመጣጣም ዋና ነጥብ ነው። ስለዚህ, ለተኳሃኝነት, በሁለቱም CP 437 እና UTF-8 ውስጥ ተመሳሳይ ኢንኮዲንግ ባላቸው ቁምፊዎች እራስዎን መወሰን የተሻለ ነው. ይኸውም፣ 95 ሊታተም የሚችል US-ASCII ቁምፊዎች ነው።

በፋይል ስርዓት ስያሜ ገደቦችም እንገደዳለን። አንዳንድ የፋይል ሲስተሞች ለጉዳይ የማይሰማቸው ናቸው፣ ስለዚህ "a" እና "A" እንደ የተለያዩ ስሞች አይቆጠሩም። እንደ FAT32 ያሉ የተለመዱ የፋይል ስርዓቶች እንደ "*" እና "?" ያሉ የተወሰኑ ቁምፊዎችን አይፈቅዱም።

እንደ አስተማማኝ፣ ግን ጥሩ ስምምነት አይደለም፣ የእኛ ዚፕ ቦምብ ልዩ ወይም የተቀላቀሉ ቁምፊዎችን የማያካትት ባለ 36-ቁምፊ ፊደላት የፋይል ስሞችን ይጠቀማል።

0 1 2 3 4 5 6 7 8 9 A B C D F G H I J K L M N O P Q R S T UV W X Y Z
የፋይል ስሞቹ የሚመነጩት ግልጽ በሆነ መንገድ ነው፣ ሁሉም አቀማመጦች በተራ፣ ቦታው በ loop መጨረሻ ላይ ተጨምሮበታል፡

"0"፣ "1"፣ "2"፣ …፣ "ዜድ"፣ "00"፣ "01"፣ "02"፣ …፣ "0Z"፣ …፣ "Z0"፣ "Z1"፣ "Z2"፣ …፣ “ZZ”፣ “000”፣ “001”፣ “002”፣…
አንድ ቁምፊ የሚረዝሙ 36 የፋይል ስሞች፣ 362 የፋይል ስሞች ሁለት ቁምፊዎች ያሉት እና የመሳሰሉት አሉ። ለ1,727,604 የተለያዩ የፋይል ስሞች አራት ባይት በቂ ነው።

በማህደር ውስጥ ያሉ የፋይሎች ስሞች ብዙውን ጊዜ የተለያየ ርዝመት እንደሚኖራቸው ግምት ውስጥ በማስገባት እነሱን ለማዘዝ ከሁሉ የተሻለው መንገድ ምንድነው-ከአጭሩ እስከ ረጅሙ ወይም በተቃራኒው? ትንሽ ካሰብክ, ረዣዥም ስሞችን በመጨረሻው ላይ ማስቀመጥ የተሻለ ነው. ይህ መደርደር ከ900ሜባ በላይ ውፅዓት ወደ zblg.zip ያክላል፣ ከረጅሙ እና ከአጭሩ ቅደም ተከተል ጋር ሲነፃፀር። ነገር ግን, ይህ ትንሽ ማመቻቸት ነው, ምክንያቱም 900 ሜባ ከጠቅላላው የችግር መጠን 0.0003% ብቻ ነው.

የከርነል መጠን

ተደራራቢ የጥቅስ ግንባታ የታመቀ ዳታ ኮርን እንድታስቀምጡ እና ከዚያም በርካሽ ደጋግመው እንድትገለብጡ ያስችልዎታል። ለተወሰነ የዚፕ ፋይል መጠን X, ከርነል ለማከማቸት ምን ያህል ቦታ ተስማሚ ነው, እና ቅጂዎችን ለመፍጠር ምን ያህል ነው?

ትክክለኛውን ሚዛን ለማግኘት አንድ ተለዋዋጭ ብቻ ማመቻቸት ያስፈልግዎታል ኤንበዚፕ ማህደር ውስጥ ያሉ የፋይሎች ብዛት። እያንዳንዱ እሴት ኤንለማዕከላዊ ማውጫ ራስጌዎች፣ ለአካባቢያዊ የፋይል ራስጌዎች፣ የብሎክ ራስጌዎችን እና የፋይል ስሞችን ለመጥቀስ የተወሰነ ክፍያ ያስፈልገዋል። የተቀረው ቦታ በዋናው ተይዟል. ምክንያቱም ኤንኢንቲጀር መሆን አለበት፣ እና የዋናው መጠን ወደ ዜሮ ከመውረዱ በፊት የተወሰኑ የፋይሎችን ብዛት ብቻ ማመጣጠን ይችላሉ፣ ሁሉንም የሚቻለውን ዋጋ ብቻ ያረጋግጡ። ኤንእና ከፍተኛውን ውጤት የሚሰጥዎትን ይምረጡ።

የማሻሻያ ሂደቱን በመተግበር ላይ X= 42 374 ለ 42.ዚፕ ከፍተኛውን በ ኤን= 250. እነዚህ 250 ፋይሎች 21,195 ባይት ኦፍ ኦፍላይ ያስፈልጋቸዋል፣ ለከርነል 21,179 ባይት ይቀራሉ። የዚህ መጠን ያለው ከርነል ወደ 21,841,249 ባይት (ከ1031.3 እስከ 1 ጥምርታ) ይከፍታል። 250 የተቀነሰው የከርነል ቅጂ እና አንዳንድ የአገር ውስጥ ፋይል ራስጌዎች የተጠቀሱ በድምሩ የተጨመቀ 5,461,307,620 ባይት እና 129,000 የመጭመቂያ ሬሾን ይሰጣሉ።

CRC-32 ለእያንዳንዱ የግቤት ቢት ባለ 32-ቢት ሁኔታ ምዝገባን የሚያዘምን እንደ የመንግስት ማሽን ሊቀረጽ ይችላል። ለቢት 0 እና 1 መሰረታዊ የማሻሻያ ስራዎች፡-

Uint32 crc32_update_0(uint32 ሁኔታ) (// ትንሹን ጉልህ ቢት ቀይር። bit b = state & 1; state = state >> 1; // የተለወጠው ቢት 1 ከሆነ፣ XOR ከ CRC-32 ቋሚ። (b == 1) ሁኔታ = ግዛት ^ 0xedb88320፤ የመመለሻ ሁኔታ፤ ) uint32 crc32_update_1(uint32 state) (// እንደ 0 ቢት አድርግ፣ በመቀጠል XOR ከ CRC-32 ቋሚ። crc32_update_0(state) ^ 0xedb)8320 ተመለስ።
የሁኔታ መመዝገቢያውን እንደ 32-element binary vector ከወከሉ እና ለመደመር እና ለማባዛት XORን ከተጠቀሙ crc32_update_0 መስመራዊ ካርታ ነው; ማለትም በ 32 × 32 ሁለትዮሽ ሽግግር ማትሪክስ እንደ ማባዛት ሊወከል ይችላል. ለምን እንደሆነ ለማየት ማትሪክስን በቬክተር ማባዛት እያንዳንዱን አምድ በቬክተር ተጓዳኝ አካል ካባዛ በኋላ የማትሪክሱን አምዶች ማጠቃለል ብቻ ነው። የ shift ክወና ሁኔታ >> 1 በቀላሉ እያንዳንዱን ቢት ይወስዳል እኔስቴት ቬክተር እና ከትንሽ በስተቀር በሁሉም ቦታ ዜሮ በሆነ በቬክተር ያባዛል እኔ- 1 (ቢት ቁጥር ከቀኝ ወደ ግራ). በአንፃራዊነት፣ የመጨረሻው XOR ሁኔታ ^ 0xedb88320 የሚከሰተው ቢት b ከአንድ ጋር እኩል ሲሆን ብቻ ነው። ይህ በመጀመሪያ b በ 0xedb88320 እና ከዚያ ወደዚያ ሁኔታ XOR እንደ መጨመር ሊታሰብ ይችላል።

እንዲሁም፣ crc32_update_1 ልክ crc32_update_0 እና (XOR) ቋሚ ነው። ይህ crc32_update_1ን የአፊን ለውጥ ያደርገዋል፡ የማትሪክስ ብዜት በካርታ ስራ (ማለትም፣ ቬክተር መደመር) ይከተላል። የትራንስፎርሜሽን ማትሪክስ ልኬቶችን ወደ 33x33 ከጨመርን እና በስቴት ቬክተር ላይ ተጨማሪ ንጥረ ነገር ከጨመርን ማትሪክስ ማባዛትን እና ካርታዎችን በአንድ ደረጃ መወከል እንችላለን ፣ ይህም ሁል ጊዜ 1 ነው (እንዲህ ዓይነቱ ውክልና ተመሳሳይ መጋጠሚያዎች ይባላል)።


33×33 የትራንስፎርሜሽን ማትሪክስ M 0 እና M 1፣ በቅደም ተከተል በቢት 0 እና 1 የተደረገውን የCRC-32 ሁኔታ ለውጥ ያሰላሉ። የአምድ ቬክተሮች ከታች በጣም አስፈላጊ በሆነው ቢት ይከማቻሉ፡ የመጀመሪያውን ዓምድ ከታች ወደ ላይ በማንበብ CRC-32 ፖሊኖሚል ቋሚ edb8832016 = ያያሉ. 111 011 011 0111 0001 0000011 001 00000 2 . ሁለቱ ማትሪክስ የሚለያዩት በመጨረሻው አምድ ላይ ብቻ ነው፣ እሱም የትርጉም ቬክተርን በአንድ ወጥ መጋጠሚያዎች ይወክላል። በ M 0 ውስጥ ትርጉሙ ዜሮ ነው ፣ እና በ M ​​1 ውስጥ edb88320 16 ፣ CRC-32 ፖሊኖሚል ቋሚ ነው። ከዲያግናል በላይ ያሉት የክዋኔውን ሁኔታ ያመለክታሉ >> 1

ሁለቱም ክዋኔዎች crc32_update_0 እና crc32_update_1 በ33x33 የሽግግር ማትሪክስ ሊወከሉ ይችላሉ። ማትሪክስ M 0 እና M 1 ይታያሉ. የማትሪክስ ውክልና ያለው ጥቅም ማትሪክስ ሊባዛ ይችላል. የ ASCII ቁምፊ "a" በማስኬድ የተደረገውን የመንግስት ለውጥ ማየት እንፈልጋለን እንበል, የሁለትዮሽ ውክልና 01100001 2 . የእነዚህን ስምንት ቢት ድምር CRC-32 ሁኔታ ለውጥ በአንድ የለውጥ ማትሪክስ ውስጥ ልንወክል እንችላለን፡


እና ብዙ የ M a ቅጂዎችን በማባዛት የ "a" ሕብረቁምፊ ሁኔታን መለወጥ መወከል እንችላለን - ማትሪክስ ወደ ኃይል ከፍ ማድረግ። ይህንን በፍጥነት በ 2 n ደረጃዎች ውስጥ M n ያሰላል ፈጣን የገለፃ ስልተ-ቀመር በመጠቀም። ለምሳሌ፣ የ 9 ቁምፊዎች ረድፍ "a" የግዛት ለውጥ ማትሪክስ ይኸውና፡
ፈጣን ማትሪክስ ማባዛት አልጎሪዝም M kernel , ላልተጨመቀ የከርነል ማትሪክስ, ምክንያቱም ከርነሉ የተደጋገመ ባይት ሕብረቁምፊ ነው. CRC-32 ቼክ ከማትሪክስ ለማግኘት፣ ማትሪክስ በንዑል ቬክተር ማባዛት (ኑል ቬክተር ተመሳሳይ በሆነ መጋጠሚያዎች ውስጥ ነው፣ ማለትም 32 ዜሮዎች አንድ ሲከተሉት፣ እዚህ ላይ የቼክሱን ቅድመ እና ድህረ-ሂደት ትንሽ ውስብስብነት እንተወዋለን። ለ ወጥነት). ለእያንዳንዱ ፋይል ቼክ ድምርን ለማስላት ወደ ኋላ እንሰራለን። ከመነሻ ጀምሮ M: = M kernel. የከርነል ፍተሻ እንዲሁ የመጨረሻው የፋይል ፍተሻ ነው። ኤን, ስለዚህ እንበዛለን ኤምወደ ዜሮ ቬክተር እና የተገኘውን ቼክ በ CDH N እና LFH N ውስጥ ያከማቹ. የፋይል ውሂብ N-1ከፋይል ውሂብ ጋር ተመሳሳይ ኤን፣ ግን ከ LFH N ቅድመ ቅጥያ ጋር። ስለዚህ, እኛ እናሰላለን, የስቴት ሽግግር ማትሪክስ ለ LFH N እና አዘምን. አሁን ኤምከ LFH N ሂደት ከከርነል በስተጀርባ ያለውን ድምር ሁኔታ ለውጥን ይወክላል። ለአንድ ፋይል ቼክ ድምርን አስሉት N-1, እንደገና ማባዛት ኤምወደ ባዶ ቬክተር. የስቴት ለውጥ ማትሪክቶችን በማከማቸት ሂደቱን እንቀጥላለን ኤምሁሉም ፋይሎች እስኪሰሩ ድረስ.

ቅጥያ: ዚፕ64

ከዚህ ቀደም በዚፕ ቅርጸት ውስንነት ምክንያት የማስፋፊያ ችግር አጋጥሞናል - የዚፕ ፋይሉ የቱንም ያህል በጥበብ የታሸገ ቢሆንም ከ281 ቴባ በላይ መስጠት አይቻልም ነበር። አንዳንድ የራስጌ መስኮችን ወደ 64 ቢት የሚጨምር የዚፕ ቅርጸት ቅጥያ የሆነ ዚፕ64 በመጠቀም እነዚህን ገደቦች ማሸነፍ ይቻላል። የዚፕ64 ድጋፍ በምንም መልኩ ሁለንተናዊ አይደለም፣ ነገር ግን በብዛት ከሚተገበሩ ቅጥያዎች አንዱ ነው። ከታመቀ ሬሾ አንፃር የዚፕ64 ውጤት የማዕከላዊው ማውጫ ራስጌ መጠን ከ46 እስከ 58 ባይት እና የአካባቢው ማውጫ ራስጌ መጠን ከ30 እስከ 50 ባይት መጨመር ነው። በቀላል ሞዴል ውስጥ ለተመቻቸ የማስፋፊያ ሁኔታ ቀመርን ስንመለከት የዚፕ64 ዚፕ ቦምብ አሁንም በአራት ደረጃ ያድጋል ፣ ግን በትልቁ መለያ ምክንያት ቀርፋፋ - ይህ ከዚህ በታች ባለው ሥዕላዊ መግለጫ ላይ ሊታይ ይችላል። በተኳኋኝነት ማጣት እና በዝግታ እድገት ምክንያት በፋይል መጠን ላይ ያሉ ማናቸውም ገደቦች ከኛ ተወግደዋል።

ወደ 4.5PB ልክ እንደ 42.ዚፕ የሚሰፋ ዚፕ ቦምብ እንፈልጋለን እንበል። ማህደሩ ምን ያህል ትልቅ መሆን አለበት? በሁለትዮሽ ፍለጋ, የእንደዚህ አይነት ፋይል ዝቅተኛው መጠን 46 ሜባ ነው.

  • zbxl.zip 46 ሜባ → 4.5 ፒቢ (ዚፕ64፣ ተኳሃኝ ያነሰ)
zipbomb --mode=የተጠቀሰ_መደራረብ --num-files=190023 --compressed-size=22982788 --zip64 > zbxl.zip
4.5 petabytes - ስለ ጥቁር ጉድጓድ የመጀመሪያ ምስል በ Event Horizon Telescope የተቀረጸው ያህል መረጃ: በመረጃ ማእከል ውስጥ ያሉ ሃርድ ድራይቭ ያላቸው መደርደሪያዎች እና መደርደሪያዎች።

በዚፕ64፣ ከፍተኛውን የመጨመቂያ ሬሾን ግምት ውስጥ ማስገባት ከአሁን በኋላ አስደሳች አይሆንም፣ ምክንያቱም የዚፕ ፋይሉን መጠን እና የጨመቁትን ጥምርታ ከእሱ ጋር መጨመር መቀጠል እንችላለን፣ የታመቀው ዚፕ ፋይል እንኳን በጣም ትልቅ እስከሚሆን ድረስ። የሚያስደንቀው ገደብ ግን 264 ባይት (18 ኢቢ ወይም 16 ኢቢ) ነው - ያ ብዙ ውሂብ በአብዛኛዎቹ የፋይል ስርዓቶች ውስጥ አይጣጣምም። ሁለትዮሽ ፍለጋ ቢያንስ ያን ያህል ምርት የሚያመነጨውን ትንሹ ዚፕ ቦምብ ያገኛል፡ 12 ሚሊዮን ፋይሎች እና 1.5 ጂቢ የታመቀ ከርነል ይዟል። የዚፕ ፋይሉ አጠቃላይ መጠን 2.9 ጂቢ ሲሆን ወደ 264+11727895877 ባይት የሚጨምቀው ከ6.2 ቢሊዮን ወደ አንድ የመጭመቂያ መጠን ያለው ነው። ይህን ፋይል ለማውረድ የለጠፍኩትም ነገር ግን እራስዎ በመጠቀም ማመንጨት ይችላሉ። በ Info-ZIP UnZip 6.0 ውስጥ ያለ ስህተት እንኳን ታይቷል እንደዚህ አይነት መጠን ያላቸው ፋይሎች አሉት።

Zipbomb --mode=የተጠቀሰ_መደራረብ --num-files=12056313 --compressed-size=1482284040 --zip64 > zbxxl.zip

ቅጥያ፡ bzip2

DEFLATE ለዚፕ ቅርጸት በጣም የተለመደው የማመቅ ስልተ ቀመር ነው፣ ግን ከብዙ አማራጮች ውስጥ አንዱ ብቻ ነው። ምናልባት ሁለተኛው በጣም የተለመደው አልጎሪዝም bzip2 ነው. ምንም እንኳን እንደ DEFLATE ተኳሃኝ ባይሆንም። በንድፈ ሀሳብ፣ bzip2 ከፍተኛው የመጨመቂያ ሬሾ 1.4 ሚሊዮን ወደ አንድ አለው፣ ይህም ከርነሉ የበለጠ እንዲታሸግ ያስችለዋል።

Bzip2 በመጀመሪያ የሩጫ ርዝመት ኢንኮዲንግ ኮድ ያደርጋል፣ ይህም የአንድ ተደጋጋሚ ባይት ሕብረቁምፊ ርዝመት በ51 እጥፍ ይቀንሳል። ከዚያም መረጃው በ 900 ኪ.ባ ብሎኮች የተከፋፈለ ሲሆን እያንዳንዱ እገዳ በተናጠል ይጨመቃል. በንድፈ ሀሳብ አንድ ብሎክ ወደ 32 ባይት ሊጨመቅ ይችላል። 900,000 × 51 / 32 = 1,434,375.

የተኳኋኝነት ኪሳራ ወደ ጎን፣ bzip2 የበለጠ ቀልጣፋ ቦምብ ይፈቅዳል?

አዎ - ግን ለአነስተኛ ፋይሎች ብቻ። ችግሩ bzip2 እንደ ያልተጨመቁ DEFLATE ብሎኮች የአካባቢያዊ ፋይል ራስጌዎችን ለመጥቀስ የተጠቀምነው ነገር የለውም። ስለዚህ, ፋይሎችን መደራረብ እና ዋናውን እንደገና መጠቀም አይቻልም - እያንዳንዱ ፋይል የራሱን ቅጂ መጻፍ አለበት, ስለዚህ አጠቃላይ የመጨመቂያው ጥምርታ ከማንኛውም ግለሰብ ፋይል ሬሾ የተሻለ አይሆንም. ከዚህ በታች ባለው ግራፍ ላይ፣ ያለ መደራረብ bzip2 ከDEFLATE በላይ በሆነ ሜጋባይት አካባቢ ላሉት ፋይሎች ብቻ እናያለን።

የቀረው ብቸኛው ተስፋ በሚቀጥለው ክፍል የሚብራራውን bzip2 ራስጌዎችን ለመጥቀስ አማራጭ መንገድ ነው። እንዲሁም፣ አንድ የተወሰነ ዚፕ ተንታኝ bzip2ን እንደሚደግፍ ካወቁ እናየፋይል ስም አለመዛመድን ይፈቅዳል፣መጥቀስ የማያስፈልገው ሙሉ መሻሪያ ግንባታን መጠቀም ትችላለህ።

የተለያዩ የዚፕ ቦምቦች የመጨመቂያ ሬሾን ማወዳደር። የሎጋሪዝም መጥረቢያዎችን ያስተውሉ. እያንዳንዱ ግንባታ በዚፕ64 እና ያለሱ ይታያል። መደራረብ የሌላቸው አወቃቀሮች ቀጥተኛ የእድገት መጠን አላቸው, ይህም ከመጥረቢያዎቹ ቋሚ ጥምርታ ሊታይ ይችላል. የ bzip2 ግራፍ አቀባዊ ማካካሻ ማለት የbzip2 የመጨመቂያ ሬሾ ከDEFLATE በሺህ እጥፍ ገደማ ይበልጣል። በ 2:1 skew እንደተረጋገጠው የተጠቀሱ የDEFLATE ግንባታዎች ባለአራት የእድገት መጠን አላቸው። የዚፕ64 ተለዋጭ ብቃቱ በትንሹ ያነሰ ነው፣ ግን ከ281 ቴባ በላይ ይፈቅዳል። ከፍተኛው የፋይል መጠን (2 32 −2 ባይት) ወይም የሚፈቀደው ከፍተኛው የፋይሎች ብዛት ሲደርስ ለbzip2 ተጨማሪ የመስክ ጥቅስ ከኳድራቲክ ወደ መስመራዊነት የሚቀየር ግራፍ።

ቅጥያ: ተጨማሪ መስክ በኩል በመጥቀስ

እስካሁን ድረስ የአካባቢ የፋይል አርዕስተሮችን ለመጥቀስ የDEFLATE ተግባርን እየተጠቀምን ነው፣ እና ይህ ብልሃት በbzip2 ላይ እንደማይሰራ አይተናል። ነገር ግን፣ የዚፕ ቅርጸት ተግባራትን ብቻ የሚጠቀም እና በጨመቀ ስልተ-ቀመር ላይ ያልተመሰረተ፣ በመጠኑም ቢሆን የተገደበ አማራጭ የመጥቀስ መንገድ አለ።

በአካባቢው የፋይል ራስጌ መዋቅር መጨረሻ ላይ አለ ተጨማሪ መስክበተለመደው የራስጌ መስኮች (APPNOTE.TXT፣ ክፍል 4.3.7) የማይመጥን መረጃ ለማከማቸት ተለዋዋጭ ርዝመት። ተጨማሪ መረጃ ለምሳሌ የጊዜ ማህተም ወይም Unix uid/gidን ሊያካትት ይችላል። የዚፕ64 መረጃ በተጨማሪ መስክ ውስጥ ተከማችቷል። ተጨማሪው መስክ እንደ የርዝመት እሴት መዋቅር ነው የሚወከለው; እሴት ሳይጨምሩ ርዝመቱን ከጨመሩ፣ ተጨማሪው መስክ ከኋላው ያለውን በዚፕ ፋይሉ ውስጥ ማለትም ቀጣዩን የአካባቢ ፋይል ራስጌ ያካትታል። ይህንን ዘዴ በመጠቀም እያንዳንዱ የአካባቢ ፋይል ራስጌ የሚከተሉትን ራስጌዎች በራሱ አማራጭ መስክ ጠቅልሎ "መጥቀስ" ይችላል። ከDEFLATE ጋር ሲነጻጸር፣ እዚህ ሶስት ጥቅሞች አሉ፡

  1. በትርፍ መስክ መጥቀስ ከ 5 ይልቅ 4 ባይት ብቻ ይፈልጋል፣ ይህም ለከርነል ተጨማሪ ቦታ ይተወዋል።
  2. የፋይሎቹን መጠን አይጨምርም, ይህም ማለት ትልቅ ከርነል ማለት ነው, የዚፕ ቅርጸት ውስንነት ነው.
  3. bzip2 ጥቅስ ያቀርባል።
እነዚህ ጥቅሞች ቢኖሩም, ተጨማሪ መስኮችን መጥቀስ ብዙም ተለዋዋጭ ነው. ይህ ሰንሰለት አይደለም፣ እንደ DEFLATE፡ እያንዳንዱ የአካባቢ ፋይል ራስጌ ወዲያውኑ የሚከተለውን ራስጌ ብቻ ሳይሆን መያዝ አለበት ሁሉምቀጣይ ርዕሶች. ወደ ዚፕ ፋይሉ መጀመሪያ ሲቃረቡ ተጨማሪ መስኮች ይጨምራሉ። ከፍተኛው የመስክ 2 ርዝማኔ 16 -1 ባይት ስለሆነ እስከ 1808 የሚደርሱ የሀገር ውስጥ የፋይል አርዕስቶችን (ወይም 1170 በዚፕ64 ውስጥ) ስሞችን በመገመት ብቻ መጥቀስ ይችላሉ (በDEFLATE ሁኔታ የመጀመሪያውን (አጭርን) ለመጥቀስ ተጨማሪ መስክ መጠቀም ይችላሉ። የአካባቢ ፋይል ራስጌዎች፣ እና ከዚያ ለተቀረው DEFLATE በመጥቀስ ይቀይሩ)። ሌላው ጉዳይ ከተጨማሪው መስክ ውስጣዊ የውሂብ መዋቅር ጋር ለማዛመድ ለአይነቱ ባለ 16-ቢት መለያ (APPNOTE.TXT, ክፍል 4.5.2) ከጥቅሱ መረጃ በፊት መመረጥ አለበት. ትርጉም ያለው ሜታዳታ አድርጎ ለመተርጎም ከመሞከር ይልቅ ተንታኞች የተጠቀሰውን ውሂብ ችላ እንዲሉ የሚያደርግ መለያ አይነት መምረጥ እንፈልጋለን። ዚፕ ተንታኞች ያልታወቁ መለያዎችን ችላ ማለት አለባቸው፣ ስለዚህ መለያዎችን በዘፈቀደ መምረጥ እንችላለን፣ ነገር ግን አንዳንድ መለያዎች ለወደፊቱ የንድፍ ተኳኋኝነትን ሊሰብሩ የሚችሉበት አደጋ አለ።

የቀደመው ሥዕላዊ መግለጫ በ bzip2፣ ከዚፕ64 ጋር እና ያለሱ ተጨማሪ መስኮችን የመጠቀም እድልን ያሳያል። ሁለቱም ግራፎች እድገቱ ከኳድራቲክ ወደ መስመራዊ የሚሄድበት መግቻ ነጥብ አላቸው። ዚፕ64 ከሌለ ይህ የሚሆነው ከፍተኛው ያልተጨመቀ የፋይል መጠን (2 32 -2 ባይት) ሲደርስ ነው። ከዚያ የፋይሎች ብዛት ብቻ ሳይሆን መጠናቸው ሊጨምር ይችላል። የፋይሎች ብዛት 1809 ሲደርስ ግራፉ ሙሉ በሙሉ ያበቃል, በዚህ ጊዜ ተጨማሪ አርእስቶችን ለመጥቀስ በትርፍ መስክ ውስጥ ያለ ቦታ እንቆራለን. በ Zip64, እረፍቱ በ 1171 ፋይሎች ላይ ይከሰታል, ከዚያ በኋላ የፋይሎች ብዛት ሳይሆን የፋይሎች መጠን ብቻ መጨመር ይቻላል. ተጨማሪው መስክ በDEFLATE ላይም ይረዳል፣ ነገር ግን ልዩነቱ በጣም ትንሽ ስለሆነ በእይታ የማይታይ ነው። የ zbsm.zip የመጨመሪያ ሬሾን በ 1.2% ይጨምራል; zblg.zip በ 0.019%; እና zbxl.zip በ 0.0025%.

ውይይት

በዚህ ርዕስ ላይ በሚሰሩት ስራ፣ ፕሌዝ እና ባልደረቦቻቸው እራሱን የሚደግም ዚፕ ማህደር ለመፍጠር የፋይል መደራረብን ይጠቀማሉ። የፋይሎች መደራረብ ቀደም ብሎ (ስላይድ 47) በጊንቫኤል ኮልድዊንድ ተጠቁሟል።

የጥቅስ-ተደራራቢ ዚፕ ቦምብ ተኳሃኝነትን ከግምት ውስጥ አስገብተናል፣ በርካታ የአተገባበር ልዩነቶች፣ አንዳንዶቹ ከታች ባለው ሠንጠረዥ ውስጥ ይታያሉ። የተገኘው ግንባታ በተለመደው መንገድ ከሚሰራው ዚፕ ፓርሰርስ ጋር ተኳሃኝ ነው, ማለትም በመጀመሪያ ማዕከላዊውን ማውጫ በመፈተሽ እና እንደ የፋይል መረጃ ጠቋሚ በመጠቀም. ከነሱ መካከል ልዩ የሆነ ዚፕ ተንታኝ ከ Nail , እሱም በራስ-ሰር ከመደበኛ ሰዋሰው የመነጨ ነው. ነገር ግን ዲዛይኑ በመጀመሪያ ማእከላዊ ማውጫውን ሳያነቡ የዚፕ ፋይልን ከጫፍ እስከ ጫፍ በአንድ ማለፊያ ከሚተነተን "ዥረት" ተንታኞች ጋር ተኳሃኝ አይደለም። በተፈጥሯቸው፣ የዥረት ተንታኞች ምንም አይነት የፋይል መደራረብን አይፈቅዱም። ምናልባትም የመጀመሪያውን ፋይል ብቻ ነው የሚያወጡት። በተጨማሪም, ልክ እንደ ሁኔታው ​​ስህተት እንኳን ሊጥሉ ይችላሉ

ጽሑፉ 9 የዚፕ ፋይሎችን ንብርብሮች ይጠቅሳል፣ ስለዚህ የዜሮዎች ስብስብ ብቻ አይደለም። ለምን 9, ለምን በእያንዳንዱ ውስጥ 10 ፋይሎች?

በመጀመሪያ፣ የዊኪፔዲያ መጣጥፍ በአሁኑ ጊዜ 5 የ 16 ፋይሎች ንብርብሮችን ይናገራል። አለመመጣጠኑ የት እንደሚከሰት እርግጠኛ አይደሉም፣ ግን ያ ብቻ አይደለም ተዛማጅነት ያለው። ትክክለኛው ጥያቄ ለምን በመጀመሪያ ደረጃ መክተቻ ይጠቀሙ.

DEFLATE, ለዚፕ ፋይሎች ብቸኛው የሚደገፈው የመጭመቂያ ዘዴ, ከፍተኛው የመጨመቂያ ሬሾ 1032 ነው. ይህ ለማንኛውም 1-3 ባይት ተደጋጋሚ ቅደም ተከተል በማይታወቅ ሁኔታ ሊገኝ ይችላል. በዚፕ ፋይሉ ምንም ቢያደርግ፣ በDEFLATE ብቻ ጥቅም ላይ እስከዋለ ድረስ፣ የተፈታው ፋይል መጠን ከዋናው ዚፕ ፋይል ከ1032 እጥፍ አይበልጥም።

ስለዚህ፣ የጎጆ ዚፕ ፋይሎች በእውነት በጣም አስጸያፊ የመጭመቂያ ሬሾዎችን ለማግኘት ጥቅም ላይ መዋል አለባቸው። 2 የጨመቁ ንብርብሮች ካሉ, ከፍተኛው ሬሾ 1032 ^ 2 = 1065024. ለ 3, 1099104768 እና የመሳሰሉት ነው. በ 42.zip ውስጥ ጥቅም ላይ ለሚውሉት 5 ንብርብሮች, የቲዎሬቲካል ከፍተኛው የመጨመቂያ ሬሾ 1170572956434432 ነው. እርስዎ እንደሚመለከቱት, ትክክለኛው የ 42.zip መጠን ከዚህ ደረጃ በጣም የራቀ ነው. ከፊል የዚፕ ቅርፀቱ የላይኛው ክፍል ነው ፣ እና ከፊሉ እነሱ ግድ የለሽ መሆናቸው ነው።

መገመት ካለብኝ 42.zip የተቋቋመው ትልቅ ባዶ ፋይል በመፍጠር እና ብዙ ጊዜ በመገልበጥ እና በመገልበጥ ነው እላለሁ። የቅርጸት ገደቦችን ለመግፋት ወይም መጭመቂያውን ወይም ማንኛውንም ነገር ለመጨመር ምንም መንገድ የለም - እነሱ በዘፈቀደ በንብርብሮች 16 ቅጂዎችን መርጠዋል። ነጥቡ ብዙ ጥረት ሳያደርግ ትልቅ ጭነት መፍጠር ነበር።

ማስታወሻ. እንደ bzip2 ያሉ ሌሎች የማመቂያ ቅርጸቶች ብዙ፣ ብዙ፣ በጣም ከፍተኛ ከፍተኛ የመጨመቂያ ሬሾዎችን ያቀርባሉ። ነገር ግን፣ አብዛኛዎቹ ዚፕ ተንታኞች አይቀበሏቸውም።

ፒ.ኤስ. የራሱን ቅጂ (quine) የሚፈታ ዚፕ ፋይል መፍጠር ይቻላል. እንዲሁም ብዙ ቅጂዎችን የሚያራግፍ ማድረግ ይችላሉ። ስለዚህ ፋይሉን ለዘለዓለም ደጋግመው ከፈቱ፣ የሚፈቀደው ከፍተኛ መጠን ገደብ የለሽ ነው። ብቸኛው ገደብ በእያንዳንዱ ድግግሞሽ በ 1032 ብቻ ሊጨምር ይችላል.

ፒ.ፒ.ኤስ. እሴቱ 1032 በዚፕ ውስጥ ያለው የፋይል ውሂብ አይደራረብም ብሎ ያስባል. የዚፕ ፋይል ቅርፀቱ አንዱ ባህሪ በማህደሩ ውስጥ ያሉ ፋይሎችን የሚዘረዝር እና የፋይል ዳታ ማካካሻዎችን የሚያካትት ማዕከላዊ ማውጫ ያለው መሆኑ ነው። ወደ ተመሳሳዩ ውሂብ የሚያመለክቱ ብዙ ግቤቶችን በፋይሎች ውስጥ ከፈጠሩ ፣ ምንም እንኳን ጎጆ ሳያደርጉ እንኳን በጣም ከፍተኛ የመጨመቂያ ሬሾዎችን ማግኘት ይችላሉ ፣ ግን እንደዚህ ዓይነቱ ዚፕ ፋይል በተንታኞች ውድቅ ሊደረግ ይችላል።

ለጓደኞች መንገር