ಒಂದು ಸಣ್ಣ ಮುನ್ನುಡಿ
ನೆನಪಿಲ್ಲದವರಿಗೆ ಸ್ಟೆಗನೋಗ್ರಫಿ ಎಂದರೆ, ಯಾವುದೋ ರೀತಿಯ ಪಾತ್ರೆಗಳಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಮರೆಮಾಡುವ ಪ್ರಕ್ರಿಯೆ. ಉದಾಹರಣೆಗೆ, ಚಿತ್ರಗಳಲ್ಲಿ (ಚರ್ಚಿಸಲಾಗಿದೆ и ). ನೀವು ಫೈಲ್ ಸಿಸ್ಟಮ್ನ ಸೇವಾ ಕೋಷ್ಟಕಗಳಲ್ಲಿಯೂ ಡೇಟಾವನ್ನು ಮರೆಮಾಡಬಹುದು (ಇದನ್ನು ಬರೆಯಲಾಗಿದೆ ), ಮತ್ತು ಸಹ ದುರದೃಷ್ಟವಶಾತ್, ಈ ಎಲ್ಲಾ ವಿಧಾನಗಳು ಒಂದು ನ್ಯೂನತೆಯನ್ನು ಹೊಂದಿವೆ: ಒಂದು ಪಾತ್ರೆಯಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ವಿವೇಚನೆಯಿಂದ "ಎಂಬೆಡ್" ಮಾಡಲು, ಪಾತ್ರೆಯ ಆಂತರಿಕ ರಚನೆಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವ ಅತ್ಯಾಧುನಿಕ ಅಲ್ಗಾರಿದಮ್ಗಳು ಅಗತ್ಯವಿದೆ. ಇದಲ್ಲದೆ, ಪಾತ್ರೆಯ ಟ್ಯಾಂಪರಿಂಗ್-ನಿರೋಧಕ ಸ್ವಭಾವವು ಸಮಸ್ಯೆಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ: ಉದಾಹರಣೆಗೆ, ಚಿತ್ರವನ್ನು ಸ್ವಲ್ಪ ಸಂಪಾದಿಸಿದರೆ, ಗುಪ್ತ ಮಾಹಿತಿ ಕಳೆದುಹೋಗುತ್ತದೆ.
ಕಂಟೇನರ್ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಗುಪ್ತ ಡೇಟಾಗೆ ಸ್ವೀಕಾರಾರ್ಹ ಮಟ್ಟದ ಭದ್ರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವಾಗ ಸಂಕೀರ್ಣ ಅಲ್ಗಾರಿದಮ್ಗಳು ಮತ್ತು ಸೂಕ್ಷ್ಮ ಡೇಟಾ ಕುಶಲತೆಯನ್ನು ತಪ್ಪಿಸಲು ಒಂದು ಮಾರ್ಗವಿದೆಯೇ? ಮುಂದೆ ನೋಡುವಾಗ, ನಾನು ಹೌದು ಎಂದು ಹೇಳುತ್ತೇನೆ, ಅದು ಸಾಧ್ಯ! ನಾನು ಒಂದು ಉಪಯುಕ್ತತೆಯನ್ನು ಸಹ ನೀಡುತ್ತೇನೆ.
ವಿಧಾನದ ಭಯಾನಕ ವಿವರಗಳು
ಮೂಲ ಕಲ್ಪನೆಯು ಹಣೆಗೆ ಹೊಡೆತದಷ್ಟು ಸರಳವಾಗಿದೆ: ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಎಂದಿಗೂ ಬರೆಯದ (ಅಥವಾ ವಿರಳವಾಗಿ ಮಾತ್ರ ಬರೆಯುವ) ಪ್ರದೇಶಗಳು ಡಿಸ್ಕ್ನಲ್ಲಿವೆ. ಸಂಕೀರ್ಣ ಅಲ್ಗಾರಿದಮ್ಗಳೊಂದಿಗೆ ಈ ಪ್ರದೇಶಗಳನ್ನು ಹುಡುಕುವುದನ್ನು ತಪ್ಪಿಸಲು, ನಾವು ಪುನರುಕ್ತಿಯ ಲಾಭವನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತೇವೆ - ಅಂದರೆ, ಡಿಸ್ಕ್ನ ಎಲ್ಲಾ ವಲಯಗಳಲ್ಲಿ ನಮ್ಮ ಗುಪ್ತ ಮಾಹಿತಿಯನ್ನು ನಾವು ಹಲವು ಬಾರಿ ನಕಲು ಮಾಡುತ್ತೇವೆ. ನಂತರ, ಈ ಎಲ್ಲಾ ವೈಭವದ ಮೇಲೆ, ನಾವು ಅಗತ್ಯವಾದ ವಿಭಾಗಗಳನ್ನು ರಚಿಸಬಹುದು, ಫೈಲ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಬಹುದು, ಫೈಲ್ಗಳನ್ನು ಬರೆಯಬಹುದು ಮತ್ತು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಸ್ಥಾಪಿಸಬಹುದು - ಕೆಲವು ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಇನ್ನೂ ಸಂರಕ್ಷಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಹಿಂಪಡೆಯಬಹುದು, ಮತ್ತು ಬಹು ನಕಲುಗಳು ತುಣುಕುಗಳಿಂದ ಮೂಲ ಸಂಪೂರ್ಣವನ್ನು ಮತ್ತೆ ಜೋಡಿಸಲು ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಈ ವಿಧಾನದ ಪ್ರಯೋಜನ ಸ್ಪಷ್ಟವಾಗಿದೆ: ನಾವು ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ ಅಥವಾ ಬಳಸಿದ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಪ್ರಕಾರವನ್ನು ಅವಲಂಬಿಸಿಲ್ಲ.
ಅನಾನುಕೂಲಗಳು ಸಹ ಸ್ಪಷ್ಟವಾಗಿವೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ:
- ಸಂಪೂರ್ಣ ಡಿಸ್ಕ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಓವರ್ರೈಟ್ ಮಾಡುವ ಮೂಲಕ ಮಾತ್ರ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸಬಹುದು, ನಂತರ ಬಳಕೆದಾರರಿಗೆ ಗೋಚರಿಸುವ ವಿಷಯಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಡಿಸ್ಕ್ ಇಮೇಜ್ ರಿಕವರಿ ಸಾಫ್ಟ್ವೇರ್ ಬಳಸುವುದನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ, ಏಕೆಂದರೆ ಇದು ಹಿಂದಿನ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಸಹ ಪುನಃಸ್ಥಾಪಿಸುತ್ತದೆ.
- ವರ್ಗೀಕೃತ ದತ್ತಾಂಶದ ಪ್ರಮಾಣ ಹೆಚ್ಚಾದಷ್ಟೂ, ಕೆಲವು ಮಾಹಿತಿ ಕಳೆದುಹೋಗುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚಾಗುತ್ತದೆ.
- ಡಿಸ್ಕ್ನಿಂದ ಡೇಟಾವನ್ನು ಹೊರತೆಗೆಯಲು ಕೆಲವು ನಿಮಿಷಗಳಿಂದ ಹಲವಾರು ದಿನಗಳವರೆಗೆ (ಆಧುನಿಕ ಡಿಸ್ಕ್ಗಳು ದೊಡ್ಡದಾಗಿರುತ್ತವೆ) ಬಹಳ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು.
ಈಗ ವಿವರಗಳಿಗೆ ಹೋಗೋಣ.
ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ಡಿಸ್ಕ್ನಾದ್ಯಂತ ಹರಡುವುದರಿಂದ ಅದು ಬರಿಗಣ್ಣಿನಿಂದ ಮಾತ್ರ ಮರೆಮಾಡುತ್ತದೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ. ನೀವು ಡಿಸ್ಕ್ ಸಂಪಾದಕವನ್ನು ಬಳಸಿದರೆ, ಡೇಟಾವು ಅದರ ಎಲ್ಲಾ ವೈಭವದಲ್ಲಿ ಬಹಿರಂಗಗೊಳ್ಳುತ್ತದೆ. ಆದ್ದರಿಂದ, ಡೇಟಾವನ್ನು ಮರೆಮಾಡಲು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡುವುದು ಒಳ್ಳೆಯದು. ನಾವು ಸರಳ ಆದರೆ ಸೊಗಸಾದ ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ: aes256-cbc. ನಾವು ಬಳಕೆದಾರರಿಂದ ಎನ್ಕ್ರಿಪ್ಶನ್ ಕೀಲಿಯನ್ನು ಕೇಳುತ್ತೇವೆ ಮತ್ತು ಬಲವಾದ ಪಾಸ್ವರ್ಡ್ ರಚಿಸಲು ಅವರನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ.
ಮುಂದಿನ ಪ್ರಶ್ನೆ "ಸರಿಯಾದ" ಡೇಟಾವನ್ನು ದೋಷಪೂರಿತ ಡೇಟಾದಿಂದ ಹೇಗೆ ಪ್ರತ್ಯೇಕಿಸುವುದು ಎಂಬುದು. ಚೆಕ್ಸಮ್ ಇಲ್ಲಿ ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ - ಕೇವಲ ಸರಳವಾದದ್ದಲ್ಲ, ಆದರೆ SHA1 ಚೆಕ್ಸಮ್. ಹಾಗಾದರೆ ಏನು? ಇದು Git ಗೆ ಸಾಕು, ಆದ್ದರಿಂದ ಇದು ನಮಗೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಇದನ್ನು ನಿರ್ಧರಿಸಲಾಗಿದೆ: ನಾವು ಉಳಿಸಿದ ಪ್ರತಿಯೊಂದು ಮಾಹಿತಿಯ ತುಣುಕನ್ನು ಚೆಕ್ಸಮ್ನೊಂದಿಗೆ ಪೂರೈಸುತ್ತೇವೆ ಮತ್ತು ಅದು ಡೀಕ್ರಿಪ್ಶನ್ ನಂತರ ಹೊಂದಿಕೆಯಾದರೆ, ಡೀಕ್ರಿಪ್ಶನ್ ಯಶಸ್ವಿಯಾಗಿದೆ.
ನಮಗೆ ತುಣುಕು ಸಂಖ್ಯೆ ಮತ್ತು ರಹಸ್ಯ ಡೇಟಾದ ಒಟ್ಟು ಉದ್ದವೂ ಖಂಡಿತವಾಗಿಯೂ ಬೇಕಾಗುತ್ತದೆ. ತುಣುಕು ಸಂಖ್ಯೆಯು ನಾವು ಈಗಾಗಲೇ ಯಾವ ತುಣುಕುಗಳನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಿದ್ದೇವೆ ಮತ್ತು ಯಾವುದನ್ನು ಉಳಿಸಿದ್ದೇವೆ ಎಂಬುದನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ. ಕೊನೆಯ ತುಣುಕನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ಅನಗತ್ಯ ಡೇಟಾವನ್ನು (ಅಕಾ ಪ್ಯಾಡಿಂಗ್) ಬರೆಯುವುದನ್ನು ತಪ್ಪಿಸಲು ಒಟ್ಟು ಉದ್ದವು ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ. ಮತ್ತು ನಾವು ಈಗಾಗಲೇ ಹೆಡರ್ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತಿರುವುದರಿಂದ, ರಹಸ್ಯ ಫೈಲ್ನ ಹೆಸರನ್ನು ಸೇರಿಸೋಣ. ಡೀಕ್ರಿಪ್ಶನ್ ನಂತರ ನಮಗೆ ಅದು ಬೇಕಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದನ್ನು ಹೇಗೆ ತೆರೆಯುವುದು ಎಂದು ನಾವು ಲೆಕ್ಕಾಚಾರ ಮಾಡಬೇಕಾಗಿಲ್ಲ.
ಪ್ರಾಯೋಗಿಕವಾಗಿ ವಿಧಾನವನ್ನು ಪರೀಕ್ಷಿಸುವುದು
ಪರೀಕ್ಷೆಗಾಗಿ, ನಾವು ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾದ ಶೇಖರಣಾ ಮಾಧ್ಯಮವನ್ನು ಬಳಸುತ್ತೇವೆ - ಫ್ಲ್ಯಾಶ್ ಡ್ರೈವ್. ನನ್ನ ಬಳಿ ಹಳೆಯ 1GB ಒಂದನ್ನು ಇಡಲಾಗಿತ್ತು, ಅದು ಈ ಪ್ರಯೋಗಕ್ಕೆ ಸಂಪೂರ್ಣವಾಗಿ ಸೂಕ್ತವಾಗಿದೆ. ನನ್ನಂತೆ, ನೀವು ಭೌತಿಕ ಡ್ರೈವ್ ಅನ್ನು ಬಿಟ್ಟು ಡಿಸ್ಕ್ ಇಮೇಜ್ ಫೈಲ್ನಲ್ಲಿ ಪರೀಕ್ಷಿಸಲು ಯೋಚಿಸುತ್ತಿದ್ದರೆ, ನಾನು ನಿಮಗೆ ತಕ್ಷಣ ಹೇಳುತ್ತೇನೆ: ಅದು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. ಅಂತಹ "ಡ್ರೈವ್" ಅನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವಾಗ, ಲಿನಕ್ಸ್ ಫೈಲ್ ಅನ್ನು ಮರುಸೃಷ್ಟಿಸುತ್ತದೆ ಮತ್ತು ಎಲ್ಲಾ ಬಳಕೆಯಾಗದ ವಲಯಗಳು ಸೊನ್ನೆಗಳಿಂದ ತುಂಬಿರುತ್ತವೆ.
ದುರದೃಷ್ಟವಶಾತ್, ನಾನು ಲಿನಕ್ಸ್ ಯಂತ್ರವಾಗಿ ಬಾಲ್ಕನಿಯಲ್ಲಿ ಮಲಗಿರುವ ರಾಸ್ಪ್ಬೆರಿ ಪೈ 3 ಹವಾಮಾನ ಕೇಂದ್ರವನ್ನು ಬಳಸಬೇಕಾಯಿತು. ಇದು ಹೆಚ್ಚು ಮೆಮೊರಿಯನ್ನು ಹೊಂದಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾವು ದೊಡ್ಡ ಫೈಲ್ಗಳನ್ನು ಮರೆಮಾಡುವುದಿಲ್ಲ. ನಾವು ನಮ್ಮನ್ನು ಗರಿಷ್ಠ 10 ಮೆಗಾಬೈಟ್ಗಳಿಗೆ ಮಿತಿಗೊಳಿಸುತ್ತೇವೆ. ತುಂಬಾ ಚಿಕ್ಕ ಫೈಲ್ಗಳನ್ನು ಮರೆಮಾಡುವುದರಲ್ಲಿ ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ: ಉಪಯುಕ್ತತೆಯು 4 KB ಕ್ಲಸ್ಟರ್ಗಳಲ್ಲಿ ಡಿಸ್ಕ್ಗೆ ಡೇಟಾವನ್ನು ಬರೆಯುತ್ತದೆ. ಆದ್ದರಿಂದ, ನಾವು ಕೆಳಗಿನ ಫೈಲ್ ಗಾತ್ರವನ್ನು 3 KB ಗೆ ಮಿತಿಗೊಳಿಸುತ್ತೇವೆ - ಅದು ಅಂತಹ ಒಂದು ಕ್ಲಸ್ಟರ್ಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ.
ನಾವು ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ಹಂತ ಹಂತವಾಗಿ ಹ್ಯಾಕ್ ಮಾಡುತ್ತೇವೆ, ಪ್ರತಿ ಹಂತದ ನಂತರವೂ ಮರೆಮಾಡಿದ ಮಾಹಿತಿಯನ್ನು ಓದಬಹುದೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತೇವೆ:
- ವಿಂಡೋಸ್ 7 ಸೂಚಿಸುವಂತೆ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಇಲ್ಲದ ಫ್ಲಾಶ್ ಡ್ರೈವ್ನೊಂದಿಗೆ 16 KB ಕ್ಲಸ್ಟರ್ ಗಾತ್ರದೊಂದಿಗೆ FAT16 ಗೆ ತ್ವರಿತ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಮಾಡುವುದು.
- ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ಎಲ್ಲಾ ರೀತಿಯ ಜಂಕ್ಗಳಿಂದ 50% ರಷ್ಟು ತುಂಬಿಸುವುದು.
- ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ಎಲ್ಲಾ ರೀತಿಯ ಜಂಕ್ಗಳಿಂದ 100% ರಷ್ಟು ತುಂಬಿಸುವುದು.
- FAT16 ಸ್ವರೂಪದಲ್ಲಿ "ದೀರ್ಘ" ಫಾರ್ಮ್ಯಾಟಿಂಗ್ (ಎಲ್ಲವನ್ನೂ ತಿದ್ದಿ ಬರೆಯುವುದು).
ಮೊದಲ ಎರಡು ಪರೀಕ್ಷೆಗಳು, ನಿರೀಕ್ಷಿತವಾಗಿ, ಸಂಪೂರ್ಣ ಗೆಲುವಿನಲ್ಲಿ ಕೊನೆಗೊಂಡವು: ಉಪಯುಕ್ತತೆಯು ಫ್ಲಾಶ್ ಡ್ರೈವ್ನಿಂದ 10 ಮೆಗಾಬೈಟ್ಗಳ ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊರತೆಗೆದಿದೆ. ಆದಾಗ್ಯೂ, ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಸಂಪೂರ್ಣವಾಗಿ ಫೈಲ್ಗಳಿಂದ ತುಂಬಿದ ನಂತರ, ಅದು ಕ್ರ್ಯಾಶ್ ಆಯಿತು:
Total clusters read: 250752, decrypted: 158
ERROR: cannot write incomplete secretFile
ನಾವು ನೋಡುವಂತೆ, ನಾವು 158 ಕ್ಲಸ್ಟರ್ಗಳನ್ನು ಮಾತ್ರ ಯಶಸ್ವಿಯಾಗಿ ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಯಿತು (632 ಕಿಲೋಬೈಟ್ಗಳ ಕಚ್ಚಾ ಡೇಟಾ, 636424 ಬೈಟ್ಗಳ ಪೇಲೋಡ್ ಅನ್ನು ನೀಡುತ್ತದೆ). ಸ್ಪಷ್ಟವಾಗಿ, ಇದು 10 ಮೆಗಾಬೈಟ್ಗಳಿಗೆ ಸಮನಾಗಿರುವುದಿಲ್ಲ ಮತ್ತು ಈ ಕ್ಲಸ್ಟರ್ಗಳಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ನಕಲುಗಳಿವೆ. 1 ಮೆಗಾಬೈಟ್ ಅನ್ನು ಸಹ ಈ ರೀತಿಯಲ್ಲಿ ಮರುಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಆದಾಗ್ಯೂ, ಫ್ಲ್ಯಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ ಓವರ್ರೈಟ್ ಮಾಡಿದ ನಂತರವೂ ನಾವು 3 ಕಿಲೋಬೈಟ್ಗಳ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಮರುಪಡೆಯಬಹುದು ಎಂದು ನಾವು ಖಾತರಿಪಡಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಅಂತಹ ಫ್ಲ್ಯಾಶ್ ಡ್ರೈವ್ನಿಂದ 120 ಕಿಲೋಬೈಟ್ ಫೈಲ್ ಅನ್ನು ಹೊರತೆಗೆಯಲು ಸಂಪೂರ್ಣವಾಗಿ ಸಾಧ್ಯ ಎಂದು ಪ್ರಯೋಗಗಳು ತೋರಿಸುತ್ತವೆ.
ದುರದೃಷ್ಟವಶಾತ್, ಕೊನೆಯ ಪರೀಕ್ಷೆಯು ಫ್ಲ್ಯಾಷ್ ಡ್ರೈವ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ತಿದ್ದಿ ಬರೆಯಲಾಗಿದೆ ಎಂದು ತೋರಿಸಿದೆ:
$ sudo ./steganodisk -p password /dev/sda
Device size: 250752 clusters
250700 99%
Total clusters read: 250752, decrypted: 0
ERROR: cannot write incomplete secretFile
ಒಂದೇ ಒಂದು ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಉಳಿಸಲಾಗಿಲ್ಲ... ದುಃಖಕರ, ಆದರೆ ದುರಂತವಲ್ಲ! ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವ ಮೊದಲು ಫ್ಲಾಶ್ ಡ್ರೈವ್ನಲ್ಲಿ ಒಂದು ವಿಭಾಗವನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ, ಮತ್ತು ನಂತರ ಅದರೊಳಗೆ ಒಂದು ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ. ಪ್ರಾಸಂಗಿಕವಾಗಿ, ಇದು ನಿಖರವಾಗಿ ಈ ರೀತಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾದ ಕಾರ್ಖಾನೆಯಿಂದ ಬಂದಿದೆ, ಆದ್ದರಿಂದ ನಾವು ಅನುಮಾನಾಸ್ಪದ ಏನನ್ನೂ ಮಾಡುತ್ತಿಲ್ಲ.
ಫ್ಲಾಶ್ ಡ್ರೈವ್ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಸ್ಥಳವು ಸ್ವಲ್ಪ ಕಡಿಮೆಯಾಗಿದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ.
ಸಂಪೂರ್ಣವಾಗಿ ತುಂಬಿದ ಡಿಸ್ಕ್ನಲ್ಲಿ 10 ಮೆಗಾಬೈಟ್ಗಳನ್ನು ಮರೆಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ. ಆದರೆ ಈಗ ಯಶಸ್ವಿಯಾಗಿ ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಕ್ಲಸ್ಟರ್ಗಳ ಸಂಖ್ಯೆ ದ್ವಿಗುಣಗೊಂಡಿದೆ!
Total clusters read: 250752, decrypted: 405
ದುರದೃಷ್ಟವಶಾತ್, ಒಂದು ಮೆಗಾಬೈಟ್ ಅನ್ನು ತುಂಡುಗಳಿಂದ ಒಟ್ಟಿಗೆ ಸೇರಿಸುವುದು ಅಸಾಧ್ಯ, ಆದರೆ ಇನ್ನೂರು ಕಿಲೋಬೈಟ್ಗಳು ಸುಲಭ.
ಮತ್ತು ಈ ಬಾರಿ ಅಂತಿಮ, ನಾಲ್ಕನೇ ಪರೀಕ್ಷೆಯ ಸುದ್ದಿ ಒಳ್ಳೆಯ ಸುದ್ದಿ: ಈ ಫ್ಲಾಶ್ ಡ್ರೈವ್ನ ಪೂರ್ಣ ಸ್ವರೂಪವು ಎಲ್ಲಾ ಮಾಹಿತಿಯ ನಾಶಕ್ಕೆ ಕಾರಣವಾಗಲಿಲ್ಲ! 120 ಕಿಲೋಬೈಟ್ಗಳಷ್ಟು ಸೂಕ್ಷ್ಮ ಡೇಟಾ ಬಳಕೆಯಾಗದ ಜಾಗಕ್ಕೆ ಸಂಪೂರ್ಣವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ.
ಪರೀಕ್ಷಾ ಸಾರಾಂಶ ಕೋಷ್ಟಕ:

ಸ್ವಲ್ಪ ಸಿದ್ಧಾಂತ: ಮುಕ್ತ ಸ್ಥಳ ಮತ್ತು ಬಳಕೆಯಾಗದ ವಲಯಗಳ ಬಗ್ಗೆ
ನೀವು ಎಂದಾದರೂ ಹಾರ್ಡ್ ಡ್ರೈವ್ ಅನ್ನು ವಿಭಜಿಸಿದ್ದರೆ, ಡ್ರೈವ್ನಲ್ಲಿ ಎಲ್ಲಾ ಮುಕ್ತ ಜಾಗವನ್ನು ನಿಯೋಜಿಸಲು ಯಾವಾಗಲೂ ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ನೀವು ಗಮನಿಸಿರಬಹುದು. ಮೊದಲ ವಿಭಾಗವು ಯಾವಾಗಲೂ ಸಣ್ಣ ಅಂತರದಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ (ಸಾಮಾನ್ಯವಾಗಿ 1 ಮೆಗಾಬೈಟ್, ಅಥವಾ 2048 ಸೆಕ್ಟರ್ಗಳು). ಕೊನೆಯ ವಿಭಾಗವು ಕೆಲವೊಮ್ಮೆ ಬಳಕೆಯಾಗದ ಸೆಕ್ಟರ್ಗಳ ಸಣ್ಣ "ಬಾಲ"ವನ್ನು ಬಿಡಬಹುದು. ವಿಭಾಗಗಳ ನಡುವೆ ಕೆಲವೊಮ್ಮೆ ಅಂತರಗಳು ಉಳಿಯುತ್ತವೆ, ಆದರೂ ಇದು ಅಪರೂಪ.
ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಡಿಸ್ಕ್ ಸಾಮಾನ್ಯ ಡಿಸ್ಕ್ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ಪ್ರವೇಶಿಸಲಾಗದ ಸೆಕ್ಟರ್ಗಳನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ಡೇಟಾವನ್ನು ಈ ಸೆಕ್ಟರ್ಗಳಿಗೆ ಬರೆಯಬಹುದು! ಇದರರ್ಥ ಅದನ್ನು ಓದಬಹುದು. ಡಿಸ್ಕ್ನ ಆರಂಭದಲ್ಲಿ ಖಾಲಿ ಪ್ರದೇಶದಲ್ಲಿ ವಿಭಜನಾ ಟೇಬಲ್ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಕೋಡ್ ಕೂಡ ಇರುವುದರಿಂದ ಇದು ಸಂಭವಿಸುತ್ತದೆ.
ಒಂದು ಕ್ಷಣ ವಿಭಾಗಗಳಿಂದ ವಿರಾಮ ತೆಗೆದುಕೊಂಡು ಪಕ್ಷಿನೋಟದಿಂದ ಡಿಸ್ಕ್ ಅನ್ನು ನೋಡೋಣ, ಅಂದರೆ ಡಿಸ್ಕ್ನಲ್ಲಿ ನಮ್ಮ ಬಳಿ ಖಾಲಿ ವಿಭಾಗವಿದೆ ಎಂದು ಹೇಳೋಣ. ಅದರಲ್ಲಿ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ರಚಿಸೋಣ. ಡಿಸ್ಕ್ನಲ್ಲಿರುವ ಯಾವುದೇ ವಲಯಗಳು ಇನ್ನೂ ಹಾಗೆಯೇ ಇವೆಯೇ ಎಂದು ನಾವು ಹೇಳಬಹುದೇ?
ಮತ್ತು-ಮತ್ತು-—ಡ್ರಮ್ ರೋಲ್! ಉತ್ತರ ಯಾವಾಗಲೂ ಹೌದು! ಎಲ್ಲಾ ನಂತರ, ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ರಚಿಸುವುದು ಡಿಸ್ಕ್ಗೆ ಕೆಲವು ಸೇವಾ ಮಾಹಿತಿಯನ್ನು ಮಾತ್ರ ಬರೆಯುವುದಕ್ಕೆ ಬರುತ್ತದೆ, ಆದರೆ ವಿಭಾಗದ ಉಳಿದ ವಿಷಯಗಳು ಬದಲಾಗದೆ ಉಳಿಯುತ್ತವೆ.
ಇದಲ್ಲದೆ, ಸಂಪೂರ್ಣವಾಗಿ ಅನುಭವಾತ್ಮಕವಾಗಿ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಕೊನೆಯ ಸೆಕ್ಟರ್ವರೆಗೆ ಎಲ್ಲಾ ಹಂಚಿಕೆಯಾದ ಜಾಗವನ್ನು ಯಾವಾಗಲೂ ಆಕ್ರಮಿಸಿಕೊಳ್ಳುವುದಿಲ್ಲ ಎಂದು ಊಹಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, 64 ಕಿಲೋಬೈಟ್ಗಳ ಕ್ಲಸ್ಟರ್ ಗಾತ್ರವನ್ನು ಹೊಂದಿರುವ FAT16 ಫೈಲ್ ಸಿಸ್ಟಮ್ ಸ್ಪಷ್ಟವಾಗಿ 64 ಕಿಲೋಬೈಟ್ಗಳ ಗುಣಕವಲ್ಲದ ಗಾತ್ರವನ್ನು ಹೊಂದಿರುವ ವಿಭಾಗವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಆಕ್ರಮಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅಂತಹ ವಿಭಾಗದ ಕೊನೆಯಲ್ಲಿ, ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಲಭ್ಯವಿಲ್ಲದ ಹಲವಾರು ವಲಯಗಳ "ಬಾಲ" ಉಳಿಯುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ ಊಹೆಯನ್ನು ಪ್ರಾಯೋಗಿಕವಾಗಿ ದೃಢೀಕರಿಸಲಾಗಿಲ್ಲ.
ಆದ್ದರಿಂದ, ಸ್ಟೆಗನೋಗ್ರಾಮ್ಗೆ ಲಭ್ಯವಿರುವ ಜಾಗವನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಲು, ನೀವು ದೊಡ್ಡ ಕ್ಲಸ್ಟರ್ ಗಾತ್ರವನ್ನು ಹೊಂದಿರುವ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸಬೇಕು. ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೂ ಸಹ (ಉದಾಹರಣೆಗೆ, ಫ್ಲ್ಯಾಷ್ ಡ್ರೈವ್ನಲ್ಲಿ) ನೀವು ವಿಭಾಗವನ್ನು ರಚಿಸಬಹುದು. ಖಾಲಿ ವಿಭಾಗಗಳನ್ನು ರಚಿಸುವುದು ಅಥವಾ ಹಂಚಿಕೆಯಾಗದ ಪ್ರದೇಶಗಳನ್ನು ಬಿಡುವುದು ಶಿಫಾರಸು ಮಾಡುವುದಿಲ್ಲ - ಇದು ಆಸಕ್ತ ಪಕ್ಷಗಳ ಗಮನವನ್ನು ಸೆಳೆಯುತ್ತದೆ.
ಪ್ರಯೋಗಗಳಿಗೆ ಉಪಯುಕ್ತತೆ
ಉಪಯುಕ್ತತೆಯ ಮೂಲ ಕೋಡ್ ಅನ್ನು ಪ್ರವೇಶಿಸಬಹುದು
ಕಟ್ಟಡ ನಿರ್ಮಾಣಕ್ಕೆ Qt ಆವೃತ್ತಿ 5.0 ಅಥವಾ ಹೆಚ್ಚಿನದು ಮತ್ತು OpenSSL ಅಗತ್ಯವಿದೆ. ಏನಾದರೂ ನಿರ್ಮಾಣವಾಗದಿದ್ದರೆ, ನೀವು steganodisk.pro ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸಬೇಕಾಗಬಹುದು.
ನೀವು ಕ್ಲಸ್ಟರ್ ಗಾತ್ರವನ್ನು 4 KB ಯಿಂದ 512 ಬೈಟ್ಗಳಿಗೆ ಬದಲಾಯಿಸಬಹುದು (secretfile.h ನಲ್ಲಿ). ಆದಾಗ್ಯೂ, ಇದು ಓವರ್ಹೆಡ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ: ಹೆಡರ್ ಮತ್ತು ಚೆಕ್ಸಮ್ ಸ್ಥಿರ 68 ಬೈಟ್ಗಳನ್ನು ಆಕ್ರಮಿಸುತ್ತದೆ.
ಸ್ವಾಭಾವಿಕವಾಗಿ, ನೀವು ಮೂಲ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಉಪಯುಕ್ತತೆಯನ್ನು ಚಲಾಯಿಸಬೇಕು ಮತ್ತು ಎಚ್ಚರಿಕೆಯಿಂದ ಮುಂದುವರಿಯಬೇಕು. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಫೈಲ್ ಅಥವಾ ಸಾಧನವನ್ನು ತಿದ್ದಿ ಬರೆಯುವ ಮೊದಲು ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳಿಲ್ಲ!
ಆನಂದಿಸಿ.
ಮೂಲ: www.habr.com
