Mabapi le mokhoa o makatsang oa ho boloka sebaka sa hard disk

Mosebelisi e mong o batla ho ngola sengoathoana sa data ho hard drive, empa ha a na sebaka se lekaneng sa ho etsa sena. Hape ha ke batle ho hlakola letho, kaha "ntho e 'ngoe le e' ngoe e bohlokoa haholo ebile e hlokahala." Hona re lokela ho etsa’ng ka eona?

Ha ho motho ea nang le bothata bona. Ho na le li-terabyte tsa tlhahisoleseling ho li-hard drive tsa rona, 'me chelete ena ha e fokotsehe. Empa e ikhetha hakae? Qetellong, lifaele tsohle ke likotoana tsa bolelele bo itseng, 'me ho ka etsahala hore e ncha ha e fapane haholo le e seng e bolokiloe.

Ho hlakile hore ho batla likarolo tsa tlhahisoleseding e seng e bolokiloe ho hard drive ke, haeba e se ho hlōleha, joale bonyane hase mosebetsi o atlehang. Ka lehlakoreng le leng, haeba phapang e le nyane, joale o ka e lokisa hanyane ...

Mabapi le mokhoa o makatsang oa ho boloka sebaka sa hard disk

TL; DR - teko ea bobeli ea ho bua ka mokhoa o makatsang oa ho ntlafatsa data ka ho sebelisa lifaele tsa JPEG, hona joale ka mokhoa o utloisisoang haholoanyane.

Mabapi le likotoana le phapang

Haeba u nka likotoana tse peli tsa data tse sa reroang, joale ka karolelano halofo ea likotoana tseo li nang le tsona lia lumellana. Ha e le hantle, har'a mekhoa e ka khonehang bakeng sa para e 'ngoe le e' ngoe ('00, 01, 10, 11′), hantle halofo e na le litekanyetso tse tšoanang, ntho e 'ngoe le e' ngoe e bonolo mona.

Empa ha e le hantle, haeba re nka lifaele tse peli feela 'me re lumellana le e' ngoe ho ea ho ea bobeli, joale re tla lahleheloa ke e 'ngoe ea tsona. Haeba re boloka liphetoho, re tla iqapela bocha khouto ea delta, e leng teng hantle ntle le rona, le hoja hangata e sa sebelisetsoe merero e tšoanang. Re ka leka ho kenya tatellano e nyane ho e kholoanyane, empa leha ho le joalo re kotsing ea ho lahleheloa ke likarolo tsa bohlokoa tsa data haeba re e sebelisa ka bohlasoa ka ntho e ngoe le e ngoe.

Pakeng tsa eng le eng joale phapang e ka felisoa? Ho joalo, ke hore, faele e ncha e ngotsoeng ke mosebelisi ke tatellano ea likotoana, eo ka eona re ke keng ra etsa letho ka boyona. Joale o hloka feela ho fumana likotoana tse joalo ho hard drive e le hore li ka fetoloa ntle le ho boloka phapang, e le hore u ka pholoha tahlehelo ea bona ntle le liphello tse tebileng. 'Me hoa utloahala ho fetola eseng feela faele ho FS ka boeona, empa lintlha tse ling tse fokolang ka hare ho eona. Empa ke efe, hona joang?

Mekhoa ea ho kopanya

Lifaele tse hatelitsoeng tse lahlehileng lia thusa. Li-jpegs tsena kaofela, li-mp3 le tse ling, leha ho le joalo, li na le likotoana tse ngata tse ka fetoloang ka mokhoa o sireletsehileng. Hoa khonahala ho sebelisa mekhoa e tsoetseng pele e fetolang likarolo tsa bona ka mokhoa o sa bonahaleng maemong a fapaneng a khouto. Ema. Mekhoa e tsoetseng pele ... phetoho e sa amoheleheng ... e 'ngoe ho ea ho e' ngoe ... e batla e tšoana steganography!

Ka 'nete, ho kenyelletsa tlhahisoleseding e 'ngoe ho e' ngoe ho hopotsa mekhoa ea hae ho feta leha e le efe. Ke boetse ke khahliloe ke ho se hlokomelehe ha liphetoho tse entsoeng menahanong ea batho. Moo litsela li fapanang ka lekunutu: mosebetsi oa rona o theohela ho mosebelisi ea kenyang tlhaiso-leseling e eketsehileng ho hard drive ea hae; e tla mo ntša kotsi feela. O tla lebala hape.

Ka hona, le hoja re ka li sebelisa, ho hlokahala hore re etse liphetoho tse itseng. 'Me joale ke tla ba bolella le ho ba bontša ho sebelisa mohlala oa e' ngoe ea mekhoa e teng le mokhoa o tloaelehileng oa faele.

Mabapi le liphokojoe

Haeba u hlile u e pepeta, ke ntho e hatellang ka ho fetisisa lefatšeng. Ehlile, re bua ka lifaele tsa JPEG. Ha se feela hore ho na le lithane tsa lisebelisoa le mekhoa e teng ea ho kenya data ho eona, empa ke mofuta oa litšoantšo o tsebahalang haholo polaneteng ena.

Mabapi le mokhoa o makatsang oa ho boloka sebaka sa hard disk

Leha ho le joalo, e le hore u se ke ua kopanela ho tsoalisa lintja, u lokela ho fokotsa mosebetsi oa hau ho lifaele tsa sebopeho sena. Ha ho motho ea ratang li-square tsa monochrome tse hlahang ka lebaka la khatello e feteletseng, kahoo o hloka ho ipehela meeli ea ho sebetsa ka faele e seng e hatelitsoe, ho qoba ho ngola botjha. Ka ho khetheha, ka li-coefficients tse feletseng, tse setseng ka mor'a ts'ebetso e ikarabellang bakeng sa tahlehelo ea data - DCT le quantization, e bonts'itsoeng ka mokhoa o phethahetseng lenaneong la khouto (ka lebaka la wiki ea Bauman National Library):
Mabapi le mokhoa o makatsang oa ho boloka sebaka sa hard disk

Ho na le mekhoa e mengata ea ho ntlafatsa lifaele tsa jpeg. Ho na le ts'ebetso e sa lahleheng (jpegtran), ho na le ts'ebetso "ha ho tahlehelo", tse hlileng li tlatsetsang ho hong, empa ha re na taba le tsona. Ntle le moo, haeba mosebelisi a ikemiselitse ho kenyelletsa tlhahisoleseling e 'ngoe ho e' ngoe e le ho eketsa sebaka sa mahala sa disk, joale o ntlafalitse litšoantšo tsa hae khale, kapa ha a batle ho etsa sena ho hang ka lebaka la ho tšaba tahlehelo ea boleng.

F5

Lelapa lohle la li-algorithms le lumellana le maemo ana, ao u ka tloaelanang le 'ona tlhahisong ena e ntle. E tsoetseng pele ka ho fetisisa ho bona ke algorithm F5 ka Andreas Westfeld, ho sebetsa le li-coefficients tsa karolo ea khanya, kaha leihlo la motho ke lona le sa tsotelleng liphetoho tsa lona. Ho feta moo, e sebelisa mokhoa oa ho kenya letsoho o thehiloeng ho khouto ea matrix, e leng se etsang hore ho khonehe ho etsa liphetoho tse fokolang ha ho kenngoa boitsebiso bo lekanang, boholo ba setshelo se sebelisoang.

Liphetoho ka botsona li theohela ho fokotsa boleng bo felletseng ba li-coefficients ka e le 'ngoe tlasa maemo a itseng (ke hore, eseng kamehla), e u lumellang ho sebelisa F5 ho ntlafatsa polokelo ea data ho hard drive ea hau. Taba ke hore coefficient ka mor'a phetoho e joalo e tla lula e le likotoana tse fokolang ka mor'a hore Huffman e kenngoe ka lebaka la kabo ea lipalo-palo ea boleng ho JPEG, 'me li-zero tse ncha li tla fana ka phaello ha u li kenya ka RLE.

Liphetoho tse hlokahalang li pheha ho felisa karolo e ikarabellang bakeng sa ho boloka sephiri (password rearrangement), e bolokang lisebelisoa le nako ea ho phethahatsa, le ho eketsa mokhoa oa ho sebetsa le lifaele tse ngata ho e-na le e le 'ngoe ka nako. Ho ke ke ha etsahala hore 'mali a thahaselle mokhoa oa phetoho ka ho qaqileng haholoanyane, kahoo a re tsoeleng pele ho tlhaloso ea ts'ebetsong.

Mahlale a phahameng

Ho bonts'a hore na mokhoa ona o sebetsa joang, ke sebelisitse mokhoa ona ka C e hloekileng mme ka etsa lintlafatso tse 'maloa ho latela lebelo la ts'ebetso le mohopolo (o ke ke oa nahana hore na litšoantšo tsena li boima hakae ntle le khatello, le pele ho DCT). Cross-platform finyelloa ka ho sebelisa motsoako oa lilaebrari libjpeg, pcre и nyenyanedir, tseo re ba lebohang ka tsona. Sena sohle se kopantsoe ke 'make', kahoo basebelisi ba Windows ba batla ho iketsetsa Cygwin bakeng sa ho itlhahloba, kapa ho sebetsana le Visual Studio le lilaebrari ka bobona.

Ts'ebetsong e fumaneha ka mokhoa oa lisebelisoa tsa console le laebrari. Ba nang le thahasello ba ka tseba haholoanyane ka ho sebelisa ea morao-rao ho bala sebakeng sa polokelo ho Github, sehokelo seo ke tla se hokela qetellong ea poso.

U ka se sebelisa joang?

Ka hloko. Litšoantšo tse sebelisetsoang ho paka li khethoa ka ho batla ho sebelisa polelo e tloaelehileng bukeng ea metso e fanoeng. Ha o qetile, lifaele li ka sisinyeha, tsa reha bocha le ho kopitsoa ka thato ea eona ka har'a meeli ea eona, fetola faele le lits'ebetso tsa ts'ebetso, joalo-joalo. Leha ho le joalo, u lokela ho ba hlokolosi haholo 'me u se ke ua fetola litaba tsa hang-hang ka tsela efe kapa efe. Ho lahleheloa ke boleng ba karolo e le 'ngoe feela ho ka etsa hore ho se khonehe ho khutlisa tlhahisoleseling.

Ha e phethetsoe, sesebelisoa se siea faele e khethehileng ea polokelo e nang le tlhaiso-leseling e hlokahalang bakeng sa ho notlolla, ho kenyelletsa le data mabapi le litšoantšo tse sebelisitsoeng. Ka boeona, e boima ba li-kilobyte tse 'maloa' me ha e na tšusumetso e kholo sebakeng sa disk se tšoaretsoeng.

O ka sekaseka bokhoni bo ka bang teng ka ho sebelisa '-a' folakha: './f5ar -a [search folder] [Polelo e tloaelehileng e lumellanang le Perl]'. Ho paka ho etsoa ka taelo ea './f5ar -p [search folder] [Polelo e tloaelehileng e lumellanang le Perl] [packed file] [archive name]', 'me e khoasolla ka'./f5ar -u [archive file] [lebitso la faele le fumaneng ]' .

Pontšo ea mosebetsi

Ho bonts'a katleho ea mokhoa ona, ke kentse pokello ea linepe tse 225 tsa mahala tsa lintja tse tsoang ts'ebeletso. Unsplash 'me e fumane litokomaneng pdf e kholo ea limithara tse 45 tsa moqolo oa bobeli Art of Programming Knuta.

Tatelano e bonolo haholo:

$ du -sh knuth.pdf dogs/
44M knuth.pdf
633M dogs/

$ ./f5ar -p dogs/ .*jpg knuth.pdf dogs.f5ar
Reading compressing file... ok
Initializing the archive... ok
Analysing library capacity... done in 17.0s
Detected somewhat guaranteed capacity of 48439359 bytes
Detected possible capacity of upto 102618787 bytes
Compressing... done in 39.4s
Saving the archive... ok

$ ./f5ar -u dogs/dogs.f5ar knuth_unpacked.pdf
Initializing the archive... ok
Reading the archive file... ok
Filling the archive with files... done in 1.4s
Decompressing... done in 21.0s
Writing extracted data... ok

$ sha1sum knuth.pdf knuth_unpacked.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth_unpacked.pdf

$ du -sh dogs/
551M dogs/

Litšoantšo tsa skrini bakeng sa balateli

Mabapi le mokhoa o makatsang oa ho boloka sebaka sa hard disk

Faele e sa pakoang e ka baloa ebile e ntse e lokela ho baloa:

Mabapi le mokhoa o makatsang oa ho boloka sebaka sa hard disk

Joalokaha u ka bona, ho tloha ho ea pele ea 633 + 36 == 669 megabytes ea data ho hard drive, re fihlile ho monate ho feta 551. Phapang e joalo e kholo e hlalosoa ke ho fokotseha ha litekanyetso tsa coefficients, tse amang bona. khatello e sa lahleheng e latelang: ho fokotsa e le 'ngoe feela ho ka " khaola li-byte tse 'maloa faeleng ea ho qetela. Leha ho le joalo, ena e ntse e le tahlehelo ea data, leha e le e nyane haholo, eo u tla tlameha ho e mamella.

Ka lehlohonolo, ho hang ha li bonahale mahlong. Tlas'a spoiler (kaha habrastorage ha e khone ho sebetsana le lifaele tse kholo), 'mali a ka lekola phapang ka leihlo le matla a bona, e fumanoang ka ho tlosa boleng ba karolo e fetotsoeng ho ea pele: ea mantlha, ka boitsebiso ka hare, phapang ('mala o lerootho, phapang e nyane bolokong).

Ho e-na phetheha

Ha re nahana ka mathata ana kaofela, ho reka hard drive kapa ho kenya ntho e 'ngoe le e' ngoe ho leru ho ka 'na ha bonahala e le tharollo e bonolo haholoanyane bothateng. Empa le hoja re phela nakong e monate hakana hona joale, ha ho na tiiso ea hore hosasane ho ntse ho tla khoneha ho kena Inthaneteng le ho kenya lintlha tsohle tsa hau tse eketsehileng kae-kae. Kapa u ee lebenkeleng 'me u ithekele li-hard drive tse ling tse sekete tsa terabyte. Empa u ka sebelisa matlo a teng kamehla.

-> GitHub

Source: www.habr.com

Eketsa ka tlhaloso