د هارډ ډیسک ځای خوندي کولو لپاره د عجیب میتود په اړه

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

هیڅوک دا ستونزه نلري. زموږ په هارډ ډرایو کې د ټیرابایټ معلومات شتون لري، او دا اندازه کمیږي. مګر دا څومره بې ساري دی؟ په پای کې، ټولې فایلونه یوازې د یو ټاکلي اوږدوالی د بټونو سیټ دي او ډیری احتمال، نوی د هغه څخه ډیر توپیر نلري چې دمخه زیرمه شوي.

دا روښانه ده چې دمخه په هارډ ډرایو کې زیرمه شوي د معلوماتو ټوټو لټون کول دي ، که ناکامي نه وي ، نو لږترلږه یو مؤثر کار ندی. له بلې خوا، که توپیر کوچنی وي، نو تاسو کولی شئ دا یو څه تنظیم کړئ ...

د هارډ ډیسک ځای خوندي کولو لپاره د عجیب میتود په اړه

TL؛ DR - د JPEG فایلونو په کارولو سره د ډیټا اصلاح کولو عجیب میتود په اړه د خبرو کولو دوهمه هڅه ، اوس په ډیر پوهیدو وړ شکل کې.

د بټونو او توپیر په اړه

که تاسو د ډیټا دوه بشپړ تصادفي ټوټې واخلئ ، نو په اوسط ډول د بټونو نیمایي دوی سره یو ځای کیږي. په حقیقت کې، د هرې جوړې لپاره د ممکنه ترتیبونو په منځ کې ('00، 01، 10، 11')، دقیقا نیمایي ورته ارزښت لري، دلته هرڅه ساده دي.

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

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

د سمبالولو طریقې

ضایع شوي کمپریس شوي فایلونه د ژغورنې لپاره راځي. دا ټول jpegs، mp3s او نور، که څه هم زیانمن کمپریشن، د بټونو یوه ډله لري چې په خوندي توګه بدلیدلی شي. دا ممکنه ده چې پرمختللي تخنیکونه وکاروئ چې د کوډ کولو په مختلفو مرحلو کې د دوی اجزاو په ناڅرګند ډول تعدیل کړي. انتظار وکړئ. پرمختللي تخنیکونه... د نه منلو وړ تعدیل ... یو څه بل ته ... دا تقریبا ورته دی سټیګنګرافي!

په حقیقت کې ، د یو معلوماتو ځای په ځای کول بل ته د هغې میتودونو یادونه کوي لکه بل څه. زه د انسان په حواس کې د رامینځته شوي بدلونونو د ناڅرګندتیا څخه هم متاثره یم. چیرې چې لارې توپیر کوي په محرمیت کې: زموږ دنده کارونکي ته راځي چې خپل هارډ ډرایو ته اضافي معلومات داخل کړي؛ دا به یوازې هغه ته زیان ورسوي. هغه به بیا هیر کړي.

له همدې امله، که څه هم موږ کولی شو دوی وکاروو، موږ اړتیا لرو چې ځینې تعدیلات وکړو. او بیا به زه دوی ته د موجوده میتودونو او یو عام فایل فارمیټ مثال په کارولو سره ووایم او وښیم.

د کبانو په اړه

که تاسو واقعیا دا وخورئ ، دا په نړۍ کې ترټولو فشار وړ شی دی. موږ، البته، د JPEG فایلونو په اړه خبرې کوو. نه یوازې په دې کې د ډیټا ځای پرځای کولو لپاره ډیری وسیلې او موجوده میتودونه شتون لري ، مګر دا په دې سیارټ کې ترټولو مشهور ګرافیک فارمیټ دی.

د هارډ ډیسک ځای خوندي کولو لپاره د عجیب میتود په اړه

په هرصورت، د دې لپاره چې د سپي په نسل کې ښکیل نه شئ، تاسو اړتیا لرئ چې د دې فارمیټ فایلونو کې ستاسو د فعالیت ساحه محدوده کړئ. هیڅوک د مونوکروم چوکۍ نه خوښوي چې د ډیر کمپریشن له امله څرګندیږي ، نو تاسو اړتیا لرئ خپل ځان د دمخه کمپریس شوي فایل سره کار کولو ته محدود کړئ ، د بیا کوډ کولو څخه ډډه کول. په ځانګړې توګه، د انټیجر کوفیفینټ سره، کوم چې د عملیاتو وروسته پاتې دي د معلوماتو ضایع کولو لپاره مسؤل دي - DCT او مقدار کول، کوم چې د کوډ کولو سکیم کې په بشپړه توګه ښودل شوي (د بومن ملي کتابتون د ویکي څخه مننه):
د هارډ ډیسک ځای خوندي کولو لپاره د عجیب میتود په اړه

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

F5

د الګوریتم ټوله کورنۍ د دې شرایطو سره سمون لري، کوم چې تاسو کولی شئ خپل ځان وپیژنئ په دې ښه پریزنټشن کې. د دوی ترټولو پرمختللی الګوریتم دی F5 د اندریاس ویسټفیلډ لخوا، د روښانتیا اجزاو کوفیفینټ سره کار کوي، ځکه چې د انسان سترګې د هغې بدلونونو سره لږ حساس دي. سربیره پردې ، دا د میټریکس کوډ کولو پراساس د سرایت کولو تخنیک کاروي ، کوم چې دا ممکنه کوي چې لږ بدلونونه رامینځته کړي کله چې ورته مقدار معلومات سرایت کوي ، د کارول شوي کانټینر اندازه لوی وي.

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

اړین تعدیلات د محرمیت (د پاسورډ بیا تنظیم کول) لپاره مسؤل برخه له مینځه وړو لپاره راښکته کیږي ، کوم چې سرچینې او د اجرا کولو وخت خوندي کوي ، او په یو وخت کې د یو پرځای د ډیری فایلونو سره کار کولو میکانیزم اضافه کوي. احتمال نلري چې لوستونکی په ډیر تفصیل سره د بدلون پروسې سره علاقه ولري ، نو راځئ چې د پلي کولو توضیحاتو ته لاړ شو.

لوړ ټیک

د دې ښودلو لپاره چې دا طریقه څنګه کار کوي، ما طریقه په خالص C کې پلي کړه او د اجرا کولو سرعت او حافظې دواړو کې یو شمیر اصلاحونه ترسره کړل (تاسو تصور نشئ کولی چې دا انځورونه څومره وزن لري، حتی د DCT څخه مخکې). کراس پلیټ فارم د کتابتونونو ترکیب په کارولو سره ترلاسه شوی libjpeg, pcre и کوچنی، د کوم لپاره چې موږ له دوی څخه مننه کوو. دا ټول د 'میک' لخوا یوځای شوي، نو د وینډوز کاروونکي غواړي د ارزونې لپاره د ځان لپاره ځینې سایګوین نصب کړي، یا پخپله د بصری سټوډیو او کتابتونونو سره معامله وکړي.

تطبیق د کنسول افادیت او کتابتون په بڼه شتون لري. هغه څوک چې علاقه لري کولی شي د ګیتوب په ذخیره کې د وروستي کارولو په اړه نور معلومات ترلاسه کړي ، هغه لینک چې زه به یې د پوسټ په پای کې ضمیمه کړم.

څنګه کارول کیږي؟

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

په بشپړیدو سره ، یوټیلټي یو ځانګړی آرشیف فایل پریږدي چې د بسته بندۍ لپاره ټول اړین معلومات لري ، پشمول د کارول شوي عکسونو په اړه معلومات. پخپله، دا شاوخوا دوه کیلوبایټ وزن لري او د نیول شوي ډیسک ځای باندې کوم مهم اغیزه نلري.

تاسو کولی شئ د '-a' بیرغ په کارولو سره احتمالي ظرفیت تحلیل کړئ: './f5ar -a [د لټون فولډر] [پرل سره مطابقت لرونکي عادي بیان]'. بسته کول د کمانډ سره ترسره کیږي './f5ar -p [د فولډر لټون] [Perl-compatible regular expression] [packed file] [archive name]'، او unpacking with './f5ar -u [آرشیف فایل] [د فایل نوم بیرته ترلاسه کول. ]'

د کار ښودنه

د میتود اغیزمنتوب ښودلو لپاره ، ما د خدمت څخه د سپي 225 بالکل وړیا عکسونو ټولګه پورته کړه خلاصول او په اسنادو کې د دوهم حجم 45 متره لوی pdf وموندل شو د پروګرام کولو هنر Knuta.

ترتیب خورا ساده دی:

$ 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/

د مینه والو لپاره سکرین شاټونه

د هارډ ډیسک ځای خوندي کولو لپاره د عجیب میتود په اړه

نه بسته شوې فایل کولی شي او لاهم لوستل شي:

د هارډ ډیسک ځای خوندي کولو لپاره د عجیب میتود په اړه

لکه څنګه چې تاسو لیدلی شئ، په هارډ ډرایو کې د اصلي 633 + 36 == 669 میګابایټ ډیټا څخه، موږ ډیر په زړه پورې 551 ته رسیدلي. دا ډول بنسټیز توپیر د کوفیفینټ ارزښتونو کمښت لخوا تشریح شوی، کوم چې د دوی په اړه اغیزه کوي. وروستنی بې ضرر کمپریشن: یوازې د یو لخوا کمول کولی شي په اسانۍ سره "له وروستي فایل څخه یو څو بایټونه پرې کړي. په هرصورت، دا لاهم د معلوماتو ضایع دی، که څه هم خورا کوچنی دی، چې تاسو یې باید ورسره مخ شئ.

خوشبختانه، دوی د سترګو لپاره په بشپړه توګه پټ دي. د سپیلر لاندې (ځکه چې هیبراسټریج نشي کولی لوی فایلونه اداره کړي) ، لوستونکی کولی شي توپیر د سترګو او د دوی شدت دواړه ارزونه وکړي ، له اصلي څخه د بدل شوي اجزاو ارزښتونو کمولو سره ترلاسه کیږي: اصلي, دننه معلوماتو سره, توپیر (څومره چې رنګ کم وي، په بلاک کې توپیر کوچنی وي).

پر ځای د يو پایلې

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

-> GitHub

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

Add a comment