He olelo mua pokole
ʻO Steganography, inā ʻaʻole hoʻomanaʻo kekahi, ke hūnā nei i ka ʻike i loko o kekahi mau pahu. No ka laʻana, ma nā kiʻi (i kūkākūkā ʻia
Hiki paha ke hana me ka ʻole o nā algorithms maalea a me nā manipulations maʻalahi me ka ʻikepili, a e hōʻoia mau i ka hana o ka ipu a me kahi pae palekana o ka ʻikepili huna? Ke nānā nei i mua, e ʻōlelo wau - ʻae, hiki iā ʻoe! E hāʻawi nō wau i kahi pono.
Nā kikoʻī koko o ke ʻano
He mea maʻalahi ka manaʻo kumu e like me ka puʻu ʻana i ka lae: aia nā wahi ma ka disk i kākau ʻole ʻia e ka ʻōnaehana hana (a i ʻole ke kākau ʻana i nā hihia liʻiliʻi). I mea e pale aku ai i ka pono e ʻimi i kēia mau wahi me ka hoʻohana ʻana i nā algorithm maalea, e hoʻohana mākou i ka redundancy - ʻo ia hoʻi, e hoʻopalike mākou i kā mākou ʻike huna i nā manawa he nui ma nā ʻāpana āpau o ka disk. A laila, ma luna pono o kēia nani a pau, hiki iā ʻoe ke hana i nā ʻāpana e pono ai, nā ʻōnaehana faila, kākau i nā faila a hoʻokomo i nā OSes - nā mea like a pau, e mālama ʻia kahi ʻāpana o ka ʻikepili huna a hiki ke kiʻi ʻia, a ʻo ka hana hou ʻana e kōkua iā mākou. e hui pū i ka mea mua mai nā ʻāpana.
ʻIke ʻia ka maikaʻi o kēia ʻano: ʻaʻole mākou e hilinaʻi i ke ʻano faila, a i ʻole ke ʻano o ka ʻōnaehana faila i hoʻohana ʻia.
ʻO nā hemahema hoʻi, manaʻo wau, maopopo.
- Hiki ke hoʻololi wale ʻia ka ʻikepili huna ma ke kākau hou ʻana i ka diski holoʻokoʻa, a ma hope o ka hana hou ʻana i ka ʻike i ʻike ʻia e ka mea hoʻohana. Eia naʻe, ʻaʻole hiki iā ʻoe ke hoʻohana i ka polokalamu e hana hou i ka disk mai kahi kiʻi: e hana hou ia i ka ʻikepili huna mua.
- ʻO ka nui o ka nui o ka ʻikepili huna, ʻoi aku ka nui o ka nalowale ʻana o kekahi ʻike.
- Hiki ke lawe i ka ʻikepili mai ka diski i ka manawa lōʻihi. Mai kekahi mau minuke a hiki i kekahi mau lā (nui nā disks hou).
I kēia manawa e neʻe kākou i nā kikoʻī.
He mea maopopo, inā ʻoe e hamo wale i ka ʻikepili huna a puni ka disk, e hūnā ʻia ia mai ka maka ʻōlohelohe. Inā hoʻolako ʻoe i kou maka me ka mea hoʻoponopono disk, e ʻike ʻia ka ʻikepili i kona nani. No laila, he mea maikaʻi e hoʻopili i ka ʻikepili i ʻole e hōʻike ʻia. E hoʻopili maʻalahi mākou, akā maikaʻi: me ka hoʻohana ʻana i ka algorithm aes256-cbc. E noi mākou i ka mea hoʻohana i ke kī hoʻopunipuni a hāʻawi iā ia i kahi ʻōlelo huna maikaʻi.
ʻO ka nīnau aʻe pehea e hiki ai iā mākou ke hoʻokaʻawale i ka ʻikepili "maikaʻi" mai ka ʻikepili maikaʻi ʻole. Eia kahi checksum e kōkua iā mākou, akā ʻaʻole maʻalahi, akā SHA1. A pehea? Ua lawa ia no ka git, no laila e kūpono hoʻi iā mākou. Hoʻoholo: hāʻawi mākou i kēlā me kēia ʻāpana o ka ʻike i mālama ʻia me kahi checksum, a inā ma hope o ka hoʻokaʻawale ʻana ua kūlike ia, ʻo ia hoʻi ua kūleʻa ka decryption.
Pono ʻoe i ka helu ʻāpana a me ka lōʻihi o ka ʻikepili huna. ʻO ka helu ʻāpana ʻo ia ka mālama ʻana i nā ʻāpana a mākou i wehewehe mua ai a waiho ʻia. ʻO ka lōʻihi o ka lōʻihi e pono iā mākou i ka wā e hoʻoponopono ai i ka ʻāpana hope, i ʻole e kākau i ka ʻikepili pono ʻole (ʻo ia hoʻi, padding). ʻAe, ʻoiai he poʻomanaʻo kā mākou, e hoʻohui mākou i ka inoa o ka faila huna ma laila. He mea pono ia ma hope o ka decryption, i ʻole e koho pehea e wehe ai.
Ke ho'āʻo nei i ke ʻano ma ka hana
No ka nānā ʻana, e lawe kāua i ka mea maʻamau maʻamau - kahi flash drive. Ua loaʻa iaʻu kahi mea kahiko me ka mana 1 GB, kūpono loa ia no nā hoʻokolohua. Inā ʻoe, e like me aʻu, i hele mai me ka manaʻo ʻaʻole e hoʻopilikia i ka media kino, akā e hoʻāʻo iā ia ma kahi faila - kahi kiʻi disk, a laila e ʻōlelo koke wau: ʻaʻole ia e hana. Ke hoʻohālikelike nei i kēlā "disk," hana hou ʻo Linux i ka faila, a e hoʻopiha ʻia nā ʻāpana āpau ʻole i nā zeros.
Ma ke ʻano he mīkini me Linux, ʻaʻole naʻe, pono wau e hoʻohana i kahi kikowaena weather ma ka Raspberry Pi 3 e waiho ana ma ka balcony. ʻAʻole nui ka hoʻomanaʻo ma laila, no laila ʻaʻole mākou e hūnā i nā faila nui. Hoʻopaʻa mākou iā mākou iho i ka nui loa o 10 megabytes. ʻAʻohe kumu o ka hūnā ʻana i nā faila liʻiliʻi loa: kākau ka mea hoʻohana i ka ʻikepili i ka disk ma nā pūʻulu 4 KB. No laila, ma lalo mākou e kaupalena iā mākou iho i kahi faila 3 kb - kūpono ia i hoʻokahi puʻupuʻu.
E hoʻomāʻewaʻewa mākou i ka flash drive i nā pae, e nānā ana ma hope o kēlā me kēia pae inā hiki ke heluhelu ʻia ka ʻike huna:
- Hoʻopili wikiwiki i ka format FAT16 me ka nui puʻupuʻu o 16 KB. ʻO kēia ka mea a Windows 7 e hāʻawi ai e hana me kahi flash drive ʻaʻohe ʻōnaehana faila.
- ʻO ka hoʻopiha ʻana i ka ʻōpala uila me nā ʻōpala āpau e 50%.
- ʻO ka hoʻopiha ʻana i ka ʻōpala uila me nā ʻōpala āpau e 100%.
- "Long" formating ma FAT16 format (overwriting mea a pau).
ʻO nā hoʻokolohua mua ʻelua, e like me ka mea i manaʻo ʻia, ua pau i ka lanakila piha: ua hiki i ka mea hoʻohana ke hoʻopuka maikaʻi i 10 megabytes o ka ʻikepili huna mai ka flash drive. Akā ma hope o ka hoʻopiha ʻia ʻana o ka flash drive me nā faila, ua hiki ʻole mai kahi hemahema:
Total clusters read: 250752, decrypted: 158
ERROR: cannot write incomplete secretFile
E like me kāu e ʻike ai, ʻo 158 mau pūʻulu wale nō i hoʻopau maikaʻi ʻia (632 kilobytes o ka ʻikepili maka, e hāʻawi ana i 636424 bytes o ka uku uku). ʻIke ʻia ʻaʻohe ala e loaʻa ai ka 10 megabytes ma ʻaneʻi, akā naʻe ma waena o kēia mau puʻupuʻu ua maopopo nā kope. ʻAʻole hiki iā ʻoe ke hoʻihoʻi hou i ka 1 megabyte ma kēia ala. Akā hiki iā mākou ke hōʻoiaʻiʻo e hoʻihoʻi mākou i 3 kilobytes o ka ʻikepili huna mai kahi flash drive ʻoiai ma hope o ke ʻano a kākau ʻia i ka hiki. Eia naʻe, hōʻike ʻia nā hoʻokolohua he hiki ke unuhi i kahi faila 120 kilobytes ka lōʻihi mai kahi flash drive.
ʻO ka hōʻike hope loa, ʻaʻole naʻe, ua hōʻike ʻia ua hoʻopau ʻia ka flash drive holoʻokoʻa:
$ sudo ./steganodisk -p password /dev/sda
Device size: 250752 clusters
250700 99%
Total clusters read: 250752, decrypted: 0
ERROR: cannot write incomplete secretFile
ʻAʻole hoʻokahi puʻupuʻu i ola ... Kaumaha, akā ʻaʻole pōʻino! Ma mua o ka hoʻopili ʻana, e hoʻāʻo mākou e hana i kahi pā ma ka flash drive, a aia i loko o kahi ʻōnaehana faila. Ma ke ala, hele mai ia mai ka hale hana me kēia ʻano hoʻohālikelike, no laila ʻaʻole mākou e hana i kekahi mea kānalua.
Manaʻo ʻia ua emi iki ka wahi i loaʻa ma ka flash drive.
Manaʻo ʻia ʻaʻole hiki ke hūnā ʻia nā megabytes 10 ma kahi disk piha piha. Akā i kēia manawa ua ʻoi aku ka nui o nā pūʻulu decrypted kūleʻa ma mua o ka pālua!
Total clusters read: 250752, decrypted: 405
ʻO ka mea pōʻino, ʻaʻole hiki ke hōʻuluʻulu i kahi megabyte mai nā ʻāpana, akā maʻalahi ʻelua haneli kilobytes.
ʻAe, ʻo ka nūhou e pili ana i ka helu hope loa, 4th check, ʻoliʻoli kēia manawa: ʻaʻole i alakaʻi i ka luku ʻana i nā ʻike āpau i ka hoʻopili piha ʻana i kēlā flash drive! ʻO 120 kilobytes o ka ʻikepili huna i kūpono loa i ka lewa i hoʻohana ʻole ʻia.
Papa hōʻuluʻulu hoʻāʻo:
ʻO kahi manaʻo liʻiliʻi: e pili ana i kahi ākea a me nā ʻāpana i hoʻohana ʻole ʻia
Inā ʻoe i hoʻokaʻawale i kāu kīkī paʻa i nā ʻāpana, ua ʻike paha ʻoe ʻaʻole hiki ke hoʻokaʻawale i nā wahi āpau āpau ma ka disk. Hoʻomaka mau ka ʻāpana mua me kekahi indentation (maʻamau 1 megabyte, a i ʻole 2048 mau ʻāpana). Ma hope o ka pauku hope, aia kekahi "huelo" liʻiliʻi o nā ʻāpana i hoʻohana ʻole ʻia. A i kekahi manawa aia nā āpau ma waena o nā ʻāpana, ʻoiai kakaʻikahi.
I nā huaʻōlelo ʻē aʻe, aia nā māhele ma ka disk i hiki ʻole ke komo i ka wā hana maʻamau me ka disk, akā hiki ke kākau ʻia nā ʻikepili i kēia mau ʻāpana! A ʻo ia hoʻi ka heluhelu ʻana. Hoʻoponopono ʻia no ka ʻoiaʻiʻo aia kekahi papa ʻaina a me ka code bootloader, aia ma ka wahi ʻole i ka hoʻomaka ʻana o ka disk.
E hoʻomaha kākou i nā ʻāpana no kekahi manawa a nānā i ka diski mai ka maka o ka manu, pēlā e ʻōlelo ai. Eia mākou i kahi ʻāpana hakahaka ma ka disk. E hana kākou i ʻōnaehana faila i loko. Hiki iā mākou ke ʻōlelo ʻaʻole i holoi ʻia kekahi mau ʻāpana ma ka disk?
E-e-e - pahu pahu! ʻO ka pane ʻaneʻane he ʻae! ʻOiaʻiʻo, i ka hapa nui o ka hana ʻana i kahi ʻōnaehana faila e kākau wale i nā poloka o ka ʻike lawelawe i ka disk, a i ʻole e loli nā mea o ka pā.
A ʻo - maʻemaʻe maoli - hiki iā mākou ke manaʻo ʻaʻole hiki i ka ʻōnaehana faila ke noho mau i nā wahi āpau i hāʻawi ʻia iā ia a hiki i ka ʻāpana hope. No ka laʻana, ʻaʻole hiki i kahi ʻōnaehana faila FAT16 me ka nui o ka puʻupuʻu o 64 kilobytes ke hoʻopaʻa piha i kahi pā me ka nui ʻaʻole ka nui o 64 kilobytes. Ma ka hopena o ia ʻāpana, pono e loaʻa kahi "huelo" o kekahi mau ʻāpana, hiki ʻole ke loaʻa no ka mālama ʻana i ka ʻikepili mea hoʻohana. Eia naʻe, ʻaʻole hiki ke hōʻoia ʻia kēia manaʻo ma ka hoʻokolohua.
No laila, no ka hoʻonui ʻana i ka wahi i loaʻa no ka steganogram, pono ʻoe e hoʻohana i kahi ʻōnaehana faila me ka nui o ka cluster nui. Hiki iā ʻoe ke hana i kahi ʻāpana, ʻoiai inā ʻaʻole pono kēia (ma ka flash drive, no ka laʻana). ʻAʻohe pono e hana i nā ʻāpana ʻole a waiho i nā wahi i hoʻokaʻawale ʻole ʻia - e huki kēia i ka manaʻo o nā kamaʻāina hoihoi.
Pono no nā hoʻokolohua
Hiki iā ʻoe ke pā i ke kumu kumu o ka pono
No ke kūkulu ʻana, pono ʻoe i ka mana Qt 5.0 a i ʻole ke kiʻekiʻe a me OpenSSL. Inā hana ʻole kekahi mea, pono paha ʻoe e hoʻoponopono i ka faile steganodisk.pro.
Hiki iā ʻoe ke hoʻololi i ka nui puʻupuʻu mai ka 4 KB a i ka 512 bytes (ma secretfile.h). I ka manawa like, e hoʻonui ʻia ke kumukūʻai o ka ʻike lawelawe: noho ke poʻo a me ka checksum i kahi paʻa 68 bytes.
Pono ʻoe e holo i ka pono, ʻoiaʻiʻo, me nā kuleana mea hoʻohana aʻa, a me ka akahele. ʻAʻohe nīnau e nīnau ʻia ma mua o ke kākau ʻana i ka faila a i ʻole ka mea i ʻōlelo ʻia!
Nanea.
Source: www.habr.com