ಕೋಡರ್ ಬ್ಯಾಟಲ್: ಮಿ ವರ್ಸಸ್ ದಟ್ ವಿಎನ್‌ಸಿ ಗೈ

В ಈ ಬ್ಲಾಗ್ ಕೆಲವು ಪ್ರೋಗ್ರಾಮರ್ ಕಥೆಗಳನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ. ನನ್ನ ಹಳೆಯ ಮೂರ್ಖ ವಿಷಯಗಳನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಲು ನಾನು ಇಷ್ಟಪಡುತ್ತೇನೆ. ಸರಿ, ಅಂತಹ ಇನ್ನೊಂದು ಕಥೆ ಇಲ್ಲಿದೆ.

ನಾನು ಮೊದಲು 11 ವರ್ಷದವನಿದ್ದಾಗ ಕಂಪ್ಯೂಟರ್‌ಗಳಲ್ಲಿ ವಿಶೇಷವಾಗಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ನಲ್ಲಿ ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೆ. ಪ್ರೌಢಶಾಲೆಯ ಆರಂಭದಲ್ಲಿ ಬಿоನಾನು ನನ್ನ ಹೆಚ್ಚಿನ ಉಚಿತ ಸಮಯವನ್ನು ನನ್ನ C64 ನೊಂದಿಗೆ ಟಿಂಕರ್ ಮಾಡುತ್ತಿದ್ದೇನೆ ಮತ್ತು ಬೇಸಿಕ್ ಅನ್ನು ಬರೆಯುತ್ತಿದ್ದೇನೆ, ನಂತರ ಕೆಟ್ಟ ಕೋಡ್ ಅನ್ನು ಕತ್ತರಿಗಳಿಂದ ಕತ್ತರಿಸಿದ್ದೇನೆ. ನಾನು ತಮಾಷೆ ಮಾಡುತ್ತಿಲ್ಲ, ಕತ್ತರಿ.

ಶಾಲೆಯ ನಂತರ (ಸುಮಾರು 16 ವರ್ಷ ವಯಸ್ಸಿನವರು), ಬ್ರಿಟಿಷ್ ಮಕ್ಕಳು ಸಾಮಾನ್ಯವಾಗಿ ಕಾಲೇಜಿಗೆ ಹೋಗುತ್ತಾರೆ, ಅಲ್ಲಿ ಅವರು ವಿಶ್ವವಿದ್ಯಾನಿಲಯಕ್ಕೆ ಹೋಗುವ ಮೊದಲು ಮೂರು ಅಥವಾ ನಾಲ್ಕು ವಿಷಯಗಳನ್ನು ಅಧ್ಯಯನ ಮಾಡಲು ಆಯ್ಕೆ ಮಾಡುತ್ತಾರೆ. ಮನೆಯಲ್ಲಿ ಬೀಜ್ ಬಾಕ್ಸ್ ಮತ್ತು ಟೇಪ್ ರೆಕಾರ್ಡರ್‌ನ ಮೇಲಿನ ನನ್ನ ಪ್ರೀತಿಯನ್ನು ಪರಿಗಣಿಸಿ, ಕಾಲೇಜಿನಲ್ಲಿ "ಕಂಪ್ಯೂಟರ್ ಸೈನ್ಸ್" ಅಧ್ಯಯನ ಮಾಡುವುದು ಸರಿಯಾದ ಆಯ್ಕೆ ಎಂದು ನಾನು ನಿರ್ಧರಿಸಿದೆ.

ನಾನು ನಿರೀಕ್ಷಿಸಿದ್ದಕ್ಕಿಂತ ಹೆಚ್ಚು ಕೋರ್ಸ್ ಅನ್ನು ಆನಂದಿಸಿದೆ; ಅಲ್ಲಿ ನಾನು ಮೊದಲು ಪಾಸ್ಕಲ್ ಮತ್ತು ಡೆಲ್ಫಿಯನ್ನು ಭೇಟಿಯಾದೆ.

ತರಗತಿಗಳ ನಡುವಿನ ವಿರಾಮದ ಸಮಯದಲ್ಲಿ, ವಿದ್ಯಾರ್ಥಿಗಳು ಕಂಪ್ಯೂಟರ್ ಕೋಣೆಯಲ್ಲಿ ಯಾವುದೇ ಉಚಿತ ಯಂತ್ರದಲ್ಲಿ ಕೆಲಸ ಮಾಡಬಹುದು. ಇಮ್ಯಾಜಿನ್: ಸುಮಾರು ನೂರು ಜನರಿಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಬೃಹತ್ ಕೋಣೆ, ಸಿಸ್ಟಮ್ ಯೂನಿಟ್ನಲ್ಲಿ ಮಾನಿಟರ್ ನಿಂತಿರುವಂತೆ ಯಂತ್ರಗಳಿಂದ ತುಂಬಿದ ಕೋಷ್ಟಕಗಳ ಸಾಲುಗಳೊಂದಿಗೆ. ಅಭಿಮಾನಿಗಳು ನಿರಂತರವಾಗಿ ಗುನುಗುತ್ತಿದ್ದಾರೆ, ಮೌಸ್ ಚೆಂಡುಗಳು ಮೇಜಿನ ಮೇಲೆ ಝೇಂಕರಿಸುತ್ತಿವೆ, ಒಂದು ಸೆಕೆಂಡ್ ನಿಲ್ಲುವುದಿಲ್ಲ. 50-100 ಹಾರ್ಮೋನ್ ಹದಿಹರೆಯದವರು ನಿಯತಕಾಲಿಕವಾಗಿ ನೂರಾರು ಪೆಂಟಿಯಮ್ III ಚಿಪ್‌ಗಳನ್ನು ತಂಪಾಗಿಸಲು ಬದಲಾಗುತ್ತಿರುವಂತೆ ಗಾಳಿಯಲ್ಲಿ ವಿಚಿತ್ರವಾದ ವಾಸನೆ ಇದೆ.

ಆರೋಗ್ಯದ ಅಪಾಯಗಳ ಹೊರತಾಗಿಯೂ, ನಾನು ಉಚಿತ ನಿಮಿಷವನ್ನು ಹೊಂದಿರುವಾಗ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಕುಳಿತುಕೊಳ್ಳಲು ಇಷ್ಟಪಟ್ಟೆ.

ಕೋಣೆಯಲ್ಲಿ ಕರ್ತವ್ಯ ನಿರ್ವಹಿಸುತ್ತಿದ್ದ ಅಡ್ಮಿನ್ ಒಬ್ಬ ಸಣ್ಣ, ಮಧ್ಯವಯಸ್ಕ ವ್ಯಕ್ತಿಯಾಗಿದ್ದು, ದುಷ್ಟ ಸರ್ವಾಧಿಕಾರಿಯಾಗಬೇಕೆಂಬ ಅವನ ಅತೃಪ್ತ ಬಯಕೆಯಿಂದಾಗಿ ಈ ಪಾತ್ರಕ್ಕೆ ಆಯ್ಕೆಯಾದನು. ನನಗೆ ಹಾಗೆ ಅನಿಸುತ್ತಿದೆ. ಕರ್ತವ್ಯದಲ್ಲಿ ಒಂದು ತಗ್ಗುನುಡಿಯಾಗಿದೆ; ವ್ಯಕ್ತಿ ನಿಜವಾಗಿಯೂ ತನ್ನ ಕೆಲಸವನ್ನು ಪ್ರೀತಿಸುತ್ತಾನೆ. ಯಾರೂ ಶಾಲೆಯ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಅನುಚಿತವಾದ ಯಾವುದಕ್ಕೂ ಬಳಸದಂತೆ ಕ್ರಮವನ್ನು ಕಾಪಾಡುವ ಜವಾಬ್ದಾರಿಯನ್ನು ಅವರಿಗೆ ವಹಿಸಲಾಯಿತು.

ಇಂದಿನವರೆಗೂ, ನಿರ್ವಾಹಕರ ಬೋನಸ್ ನೇರವಾಗಿ ಅವರು ಕೈಯಿಂದ ಹಿಡಿದು ಕಂಪ್ಯೂಟರ್ ಕೊಠಡಿಯಿಂದ ಬೆಂಗಾವಲು ಮಾಡಿದ ವಿದ್ಯಾರ್ಥಿಗಳ ಸಂಖ್ಯೆಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ ಎಂದು ನನ್ನ ಅಂತಃಪ್ರಜ್ಞೆಯು ಹೇಳುತ್ತದೆ. ಈ ವ್ಯಕ್ತಿ ತನ್ನ ಅಡಮಾನವನ್ನು ಮೊದಲೇ ಪಾವತಿಸಿದ್ದಾನೆ ಎಂದು ನನಗೆ ಖಚಿತವಾಗಿದೆ.

ಅವನು ಕಂಪ್ಯೂಟರ್ ಕೋಣೆಯ ದೂರದ ಮೂಲೆಯಲ್ಲಿ ಮೂಲೆಯ ಮೇಜಿನ ಬಳಿ ಕುಳಿತನು. ಮತ್ತು ಅವರ ಫಲವತ್ತತೆ ಮಾನಿಟರ್‌ಗಳು ಪ್ರಭಾವಶಾಲಿಯಾಗಿ ಕಡಿಮೆ ಗರ್ಭಾವಸ್ಥೆಯ ಅವಧಿಯೊಂದಿಗೆ ಸಂತಾನೋತ್ಪತ್ತಿ ಮಾಡುವ ಮಾರ್ಗವನ್ನು ಕಂಡುಕೊಂಡಿವೆ ಎಂದು ಊಹಿಸುವುದು ಸುರಕ್ಷಿತವಾಗಿದೆ, ಅವುಗಳಲ್ಲಿ ಹಲವು ಇವೆ. ಅವೆಲ್ಲವನ್ನೂ ಗಮನಿಸಲು ಅವನಿಗೆ ನಿಜವಾಗಿಯೂ ಸಮಯವಿದೆಯೇ ಎಂದು ಒಬ್ಬರು ಆಶ್ಚರ್ಯಪಡಬಹುದು. ಖಂಡಿತ, ನಾನು ತಮಾಷೆ ಮಾಡುತ್ತಿದ್ದೇನೆ ... ಅವನು ತನ್ನ ಕೆಲಸವನ್ನು ತುಂಬಾ ಗಂಭೀರವಾಗಿ ತೆಗೆದುಕೊಂಡಿದ್ದಾನೆ ಎಂದು ನಾನು ಹೇಳಿದ್ದೇನೆ?

ಆ ಸಮಯದಲ್ಲಿ, ಕಂಪ್ಯೂಟರ್ ನೆಟ್‌ವರ್ಕ್ ವಿಂಡೋಸ್ 2000 ಅನ್ನು ಚಾಲನೆ ಮಾಡುತ್ತಿದೆ. ನಾನು ಸಿಸ್ಟಮ್‌ಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಿದ ಪ್ರತಿ ಬಾರಿ, ಡೆಸ್ಕ್‌ಟಾಪ್‌ಗೆ ರಿಮೋಟ್ ಪ್ರವೇಶಕ್ಕಾಗಿ ನಿರ್ವಾಹಕ ಖಾತೆಯಿಂದ VNC ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಎಂದು ನಾನು ಶೀಘ್ರದಲ್ಲೇ ಕಂಡುಹಿಡಿದಿದ್ದೇನೆ. ಈ ವ್ಯಕ್ತಿ ನಿಮ್ಮ ಮೇಲೆ ಕಣ್ಣಿಡಲು ಬಯಸಿದಾಗ, ಅವನು ನೇರವಾಗಿ ನಿಮ್ಮ ಯಂತ್ರಕ್ಕೆ ಸಂಪರ್ಕ ಸಾಧಿಸುತ್ತಾನೆ ಮತ್ತು ವೀಕ್ಷಿಸುತ್ತಾನೆ. ಇದು ತೆವಳುವ, ಮತ್ತು ಈಗ ನಾನು ಅದರ ಬಗ್ಗೆ ಯೋಚಿಸುತ್ತೇನೆ, ಬಹುಶಃ ಅಕ್ರಮ.

BASIC ಮತ್ತು C64 ನಲ್ಲಿ ನನ್ನ ಹಲ್ಲುಗಳನ್ನು ಕತ್ತರಿಸಿದ ನಂತರ, ನಾನು ಈಗ C ಮತ್ತು ಸ್ವಲ್ಪ C++ ನಲ್ಲಿ ಬರೆದಿದ್ದೇನೆ. ಆ ಸಮಯದಲ್ಲಿ, ನಾನು ಇನ್ನೂ ಡಿ ಭಾಷೆಯಲ್ಲಿ ತುಂಬಾ ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೆ, ಅದು C++ ನ ಕೆಲವು ನ್ಯೂನತೆಗಳನ್ನು ಸರಿಪಡಿಸಿತು, ನಾನು ಅದನ್ನು ನೋಡಿದೆ.

D ಯಲ್ಲಿ ಹೊಸದನ್ನು ಓದಲು ಅಥವಾ ಡಿಜಿಟಲ್ ಮಾರ್ಸ್ D ಕಂಪೈಲರ್‌ನೊಂದಿಗೆ ಆಟವಾಡಲು ನಾನು ಕಂಪ್ಯೂಟರ್ ಕೋಣೆಗೆ ಹೋಗುತ್ತಿದ್ದೆ. ಕೆಲವೊಮ್ಮೆ, ನಾನು D ಯ ಭವಿಷ್ಯದ ಬಗ್ಗೆ ಯೋಚಿಸದೆ ವಿಚಲಿತನಾಗಿದ್ದಾಗ, ನಾನು ಇತರ Win32 ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಅವುಗಳ ವಿಂಡೋ ಮೂಲಕ ಹ್ಯಾಕ್ ಮಾಡಲು C ಕೋಡ್ ಅನ್ನು ಬರೆದಿದ್ದೇನೆ. ನಿಭಾಯಿಸುತ್ತದೆ.

Win32 ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ನ ಹಳೆಯ ದಿನಗಳಲ್ಲಿ, ವಿಂಡೋ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಇತರ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಹ್ಯಾಕ್ ಮಾಡಲು ಸುಲಭವಾದ ವಿಧಾನವಾಗಿತ್ತು. ನಿಸ್ಸಂಶಯವಾಗಿ, ವಿಂಡೋಸ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ GUI ಪ್ರೋಗ್ರಾಂಗಳು ಪರದೆಯ ಮೇಲೆ ಕಾಣಿಸದಿದ್ದರೂ ಸಹ ವಿಂಡೋವನ್ನು ಹೊಂದಿದ್ದವು. ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಗೆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಹಿಂಪಡೆಯಲು ಪ್ರೋಗ್ರಾಂ ಬರೆಯುವ ಮೂಲಕ (ಮೂಲಭೂತವಾಗಿ ಅದಕ್ಕೆ ಲಿಂಕ್), ನೀವು ಅದಕ್ಕೆ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಬಹುದು. ಪ್ರೋಗ್ರಾಂ ವಿಂಡೋವನ್ನು ಮರೆಮಾಡುವುದು/ತೋರಿಸುವಂತಹ ಕೆಲವು ಮೂಲಭೂತ ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಇದು ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿತು, ಜೊತೆಗೆ ಅನಿಯಂತ್ರಿತ DLL ಅನ್ನು ಅದರ ಮೆಮೊರಿ ಜಾಗಕ್ಕೆ ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪ್ರಾರಂಭಿಸಲು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಒತ್ತಾಯಿಸುವಂತಹ ನಿಜವಾಗಿಯೂ ತಂಪಾದ ವಿಷಯಗಳು. DLL ಇಂಜೆಕ್ಷನ್ ನಂತರ, ವಿನೋದ ಪ್ರಾರಂಭವಾಯಿತು.

ಮೊದಲ ಒಂದೂವರೆ ತಿಂಗಳಲ್ಲಿ, ಈ ಪತ್ತೇದಾರಿ ನನಗೆ ಹೆಚ್ಚು ತೊಂದರೆ ನೀಡಲಿಲ್ಲ; ಇದು ನನ್ನ ಗಣಕದಲ್ಲಿನ VNC ಸರ್ವರ್‌ಗೆ ಒಮ್ಮೆ ಅಥವಾ ಎರಡು ಬಾರಿ ಮಾತ್ರ ಸಂಪರ್ಕ ಹೊಂದಿದೆ. ಆದರೆ ಒಂದು ನಿರ್ದಿಷ್ಟ ಅಧಿವೇಶನವು ಅವರ ಆಸಕ್ತಿಯನ್ನು ಕೆರಳಿಸಿರಬಹುದು. ಸಿಸ್ಟಂ ಟ್ರೇನಲ್ಲಿನ ಬಿಳಿ VNC ಐಕಾನ್ ಕಪ್ಪು ಬಣ್ಣಕ್ಕೆ ತಿರುಗಿರುವುದನ್ನು ನಾನು ಗಮನಿಸಿದಾಗ, ತರಗತಿಯಲ್ಲಿ ಆಡಲು ಸುಲಭವಾಗುವಂತೆ ಮೈನ್‌ಸ್ವೀಪರ್ ವಿಂಡೋಗಳನ್ನು (ಅವುಗಳನ್ನು ಮುಚ್ಚದೆ) ಮರೆಮಾಡಲು ನಾನು ಕೆಲವು C ಕೋಡ್ ಅನ್ನು ಬರೆಯುತ್ತಿದ್ದೆ. ಇದರರ್ಥ ಅವನು ಈಗ ನನ್ನನ್ನು ನೋಡುತ್ತಿದ್ದನು.

ನಾನು ಎಂದಿನಂತೆ ಕೋಡಿಂಗ್ ಮುಂದುವರಿಸಿದೆ, ಅವನನ್ನು ನಿರ್ಲಕ್ಷಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ. ಏತನ್ಮಧ್ಯೆ, ಯಂತ್ರವು ನಿಧಾನಗೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸಿತು, ಕೋಣೆಯ ಮೂಲೆಯಲ್ಲಿರುವ ಅಸಂಖ್ಯಾತ ಮಾನಿಟರ್‌ಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ಗರಿಷ್ಠ ಫ್ರೇಮ್ ದರವನ್ನು ರವಾನಿಸಲು ಪ್ರಯತ್ನಿಸಿತು. ವಿಂಡೋಸ್ ಪ್ರತಿಕ್ರಿಯಿಸುವುದನ್ನು ಬಹುತೇಕ ನಿಲ್ಲಿಸಿದೆ, ನನ್ನ ತಾಳ್ಮೆ ಮುಗಿದಾಗ, ನಾನು ಲಾಗ್ ಔಟ್ ಮಾಡಿ ದಿನವನ್ನು ಮುಗಿಸಿದೆ.

ಕಂಪ್ಯೂಟರ್ ಕೋಣೆಗೆ ನಂತರದ ಭೇಟಿಗಳಲ್ಲಿ, ಕೊಲಂಬೊ ನಾನು ಪ್ರತಿ ಬಾರಿಯೂ ಏನು ಮಾಡುತ್ತಿದ್ದೇನೆ ಎಂಬುದರ ಬಗ್ಗೆ ತೀವ್ರ ಆಸಕ್ತಿ ವಹಿಸಿತು. ನಾಲ್ಕನೇ ಬಾರಿಗೆ ನಂತರ, ನಾನು ನಿರ್ಧರಿಸಿದೆ: ನಾನು ಈ ಬಗ್ಗೆ ಏನಾದರೂ ಮಾಡಬೇಕಾಗಿದೆ.

ಸಮಂಜಸವಾದ, ತರ್ಕಬದ್ಧ ವ್ಯಕ್ತಿಯು ಈ ಸಮಸ್ಯೆಯನ್ನು ನೇರವಾಗಿ ಅವನ ಅಥವಾ ಅವನ ಬಾಸ್‌ನೊಂದಿಗೆ ನೇರವಾಗಿ ಪ್ರಸ್ತಾಪಿಸಬಹುದೆಂದು ನಾನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೇನೆ. ಆದಾಗ್ಯೂ, ನಾನು ಯಾವಾಗಲೂ ಪ್ರಲೋಭನೆಗೆ ಒಳಗಾಗಿದ್ದೇನೆ ಮತ್ತು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನವಾದ ತಂತ್ರವನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುವಂತೆ ತ್ವರಿತವಾಗಿ ಮಾತನಾಡುತ್ತಿದ್ದೆ.

— ಈ VNC ಸರ್ವರ್ ಇಲ್ಲದೆ ನೀವು ಏನನ್ನೂ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ! - ನಾನು ಶಾಂತವಾಗಿ ಮತ್ತು ನಿರ್ಣಾಯಕವಾಗಿ ಹಲವಾರು ಬಾರಿ ಹೇಳಿಕೊಂಡೆ.

VNC ಅನ್ನು ಕೊಲ್ಲುವುದು ಅಗತ್ಯವಾಗಿತ್ತು.

ನಾನು ವಿದ್ಯಾರ್ಥಿಗಳ ದೊಡ್ಡ ಗುಂಪುಗಳೊಂದಿಗೆ ಕಂಪ್ಯೂಟರ್ ಕೋಣೆಗೆ ಹೋಗಲು ಪ್ರಾರಂಭಿಸಿದೆ ಮತ್ತು ಮಾನಿಟರ್‌ಗಳೊಂದಿಗೆ ಮೂಲೆಯಿಂದ ದೂರದಲ್ಲಿ ಕುಳಿತುಕೊಳ್ಳುತ್ತೇನೆ. ಇದು ಸ್ವಲ್ಪ ಸಮಯದವರೆಗೆ ಕೆಲಸ ಮಾಡಿದೆ ಮತ್ತು ಆಲೋಚನೆಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ನನಗೆ ಸ್ವಲ್ಪ ಸಮಯವನ್ನು ನೀಡಿತು.

ನನ್ನ ಮೊದಲ ಪ್ರಯತ್ನ, ನೀವು ಒಪ್ಪುತ್ತೀರಿ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ, ಬಹಳ ದುರ್ಬಲವಾಗಿತ್ತು. ಸಿಸ್ಟಮ್ ಟ್ರೇನಲ್ಲಿರುವ VNC ಐಕಾನ್ ಮೇಲೆ ರೈಟ್-ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ, ನಾನು ಮ್ಯಾಜಿಕ್ ಅಕ್ಷರಗಳೊಂದಿಗೆ EXIT ಅನ್ನು ನೋಡಿದೆ. ದುರದೃಷ್ಟವಶಾತ್, ಅಕ್ಷರಗಳನ್ನು ಬೂದು ಬಣ್ಣದ ಬಾಹ್ಯರೇಖೆಯ ಪಠ್ಯದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ. ನಿರ್ವಾಹಕರು ಗುಂಪು ನೀತಿ ಸಂಪಾದಕದ ಮೂಲಕ "ನಿರ್ಗಮಿಸು" ಮೆನು ಐಟಂ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ. ನಾನು ಟಾಸ್ಕ್ ಮ್ಯಾನೇಜರ್‌ನಿಂದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕೊಲ್ಲಲು ಪ್ರಯತ್ನಿಸಿದೆ, ಆದರೆ ಅದು ಬೇರೆ, ಹೆಚ್ಚು ಸವಲತ್ತು ಹೊಂದಿರುವ ಖಾತೆಯ ಅಡಿಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಕಾರಣ ಅದು ನನಗೆ ಅಗೋಚರವಾಗಿತ್ತು. ಇದು ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರಲಿಲ್ಲ.

VNC ಸರ್ವರ್ TCP ಪೋರ್ಟ್ 5900 ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, ನನಗೆ ನೆನಪಿದೆ. ಈ ಪೋರ್ಟ್ ಅನ್ನು ಕ್ರ್ಯಾಶ್ ಮಾಡಲು ಭ್ರಷ್ಟ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಕಳುಹಿಸುವುದು ನನ್ನ ಮುಂದಿನ ಯೋಜನೆಯಾಗಿತ್ತು.

ನಾನು ಪ್ರೋಟೋಕಾಲ್‌ನೊಂದಿಗೆ ಟಿಂಕರ್ ಮಾಡುವುದರಲ್ಲಿ ಕನಿಷ್ಠ ಕೆಲವು ದಿನಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ, ಪೋರ್ಟ್ 5900 ಗೆ ವಿವಿಧ ರೀತಿಯ ಉತ್ತಮ-ರಚನಾತ್ಮಕ ಅಮೇಧ್ಯವನ್ನು ಕಳುಹಿಸುತ್ತಿದ್ದೇನೆ ಮತ್ತು ಅದು ಮುರಿಯುತ್ತದೆ ಎಂದು ಆಶಿಸುತ್ತೇನೆ. ಕೊನೆಗೆ ಅದೂ ಕೈಗೂಡಲಿಲ್ಲ.

ನಾನು ಈ ವಿಷಯವನ್ನು ತೊಡೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ನಾನು ಈಗಾಗಲೇ ಯೋಚಿಸಲು ಪ್ರಾರಂಭಿಸಿದೆ, ಅದು ಇದ್ದಕ್ಕಿದ್ದಂತೆ ನನ್ನ ಮೇಲೆ ಬಂದಾಗ: ಅಲ್ಲಿ ಒಂದು ಕಿಟಕಿ ಇರಬೇಕು! ನಾವು ಅದನ್ನು ಪ್ರದರ್ಶಿಸಬೇಕಾಗಿದೆ. ಬಹುಶಃ ಇದು ಉತ್ತಮವಾದ ರಸಭರಿತವಾದ "ಮ್ಯೂಟ್" ಬಟನ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಅದನ್ನು ನಾನು ಉತ್ತಮವಾಗಿ ಬಳಸಿಕೊಳ್ಳಬಹುದು!

ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯ ಮುಖ್ಯ ವಿಂಡೋಗೆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಹುಡುಕಲು ನಾನು ಈಗ ನನ್ನ ಪರಿಪೂರ್ಣ C ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡಿದ್ದೇನೆ - ಮತ್ತು ಖಚಿತವಾಗಿ ಸಾಕಷ್ಟು, VNC ಕಂಡುಬಂದಿದೆ. ನನ್ನ ಬೆರಳುಗಳು ಟೈಪ್ ಮಾಡಿದಾಗ ನಾನು ಸ್ಫೂರ್ತಿ ಪಡೆದಿದ್ದೇನೆ WM_SHOWWINDOW. ನನ್ನ ಮುಂದೆ ನಾನು ನೋಡಿದ್ದನ್ನು ಊಹಿಸಲು ಪ್ರಯತ್ನಿಸಿ?

ಏನೂ ಇಲ್ಲ!

ಈಗ ನನಗೆ ಕುತೂಹಲವಿತ್ತು... ಅದರಲ್ಲಿ ಕಿಟಕಿಯಿತ್ತು, ಆದರೆ ಅದು ನನ್ನ ಸಂದೇಶಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತಿತ್ತು. ನನ್ನ ಕೋಡ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಾನು ಎರಡು ಬಾರಿ ಪರಿಶೀಲಿಸಿದ್ದೇನೆ. ಇದನ್ನು ಹಲವಾರು ಇತರ ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ ಮತ್ತು ಅದು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿತು. ನಾನು VNC ವಿಂಡೋಗೆ ಇತರ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ, ಮತ್ತು ಇನ್ನೂ ಏನೂ ಇಲ್ಲ.

ತದನಂತರ ಅದು ನನಗೆ ಮತ್ತೆ ಹೊಳೆಯಿತು!

ತುಂಬಾ ದಪ್ಪ ಧನ್ಯವಾದಗಳು ಪುಸ್ತಕ ಚಾರ್ಲ್ಸ್ ಪೆಟ್ಜೋಲ್ಡ್ ವಿನ್ 32 ಪ್ರಕ್ರಿಯೆಗಳು ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನಾನು ಎಚ್ಚರಿಕೆಯಿಂದ ಅಧ್ಯಯನ ಮಾಡಿದ್ದೇನೆ. ಪ್ರತಿ Win32 ಅಪ್ಲಿಕೇಶನ್ ಒಂದು ವಿಂಡೋ ಮತ್ತು "ಸಂದೇಶ ಕ್ಯೂ" ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಬಳಕೆದಾರರ ಸಂವಹನದಿಂದ ಪ್ರಚೋದಿಸಲ್ಪಟ್ಟ ಸಂದೇಶಗಳು, ಹಾಗೆಯೇ ವಿಂಡೋಸ್ ಮೂಲಕ ಕಳುಹಿಸಲಾದ ಸಂದೇಶಗಳು ಸರದಿಯಲ್ಲಿ ಬರುತ್ತವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬೇಕೆಂದು ಅಪ್ಲಿಕೇಶನ್ ಸ್ವತಃ ನಿರ್ಧರಿಸುತ್ತದೆ.

ಸ್ವತಃ ತುಂಬಾ ಆಸಕ್ತಿದಾಯಕವಲ್ಲ. ಆದರೆ ಸಾಕಷ್ಟು ದೊಡ್ಡದಾದ ಸಂಸ್ಕರಿಸದ ಸಂದೇಶದ ಸರತಿಯು ವಿಂಡೋ ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಾಹಕರಿಗೆ ಹಂಗ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಮಧ್ಯಪ್ರವೇಶಿಸಲು ಹ್ಯೂರಿಸ್ಟಿಕ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡಾಗ, ನಾನು ಶುದ್ಧ ಸಿರೊಟೋನಿನ್ ಅನ್ನು ಬೆವರು ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿದೆ.

ಒಂದು ಸೆಕೆಂಡ್ ವ್ಯರ್ಥ ಮಾಡದೆ, ನಾನು ನನ್ನ C ಕೋಡ್‌ಗೆ ಹಿಂತಿರುಗಿದೆ, ಮುಖ್ಯ VNC ವಿಂಡೋಗೆ ಮತ್ತೊಂದು ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲು ತಯಾರಿ ನಡೆಸಿದೆ WM_SHOWWINDOW. ಒಂದು ಚಕ್ರದಲ್ಲಿ. ಶಾಶ್ವತ. ಆದ್ದರಿಂದ, ಬಹಳಷ್ಟು ಸಂದೇಶಗಳು. WM_SHOWWINDOW, ಈಗ ನನಗೆ ತಿಳಿದಿತ್ತು VNC ಸಂಪೂರ್ಣವಾಗಿ ನಿರ್ಲಕ್ಷಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ ... ಅದರ ಅಪಾಯದಲ್ಲಿದೆ.

ನನ್ನ ಜೀವನದ ಅತ್ಯಂತ ಸ್ವಾತಂತ್ರ್ಯ-ಪ್ರೀತಿಯ ಕೋಡ್‌ನ 4KB ಅನ್ನು ನಾನು ಸಂಕಲಿಸಿದೆ ಮತ್ತು ಓಡಿಸಿದೆ. ಸುಮಾರು ಮೂರು ಸೆಕೆಂಡುಗಳ ನಂತರ, ವಿಂಡೋಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ವರದಿ ಮಾಡಿದೆ vncserver.ехе ಉತ್ತರಿಸುವುದಿಲ್ಲ, ಮತ್ತು ನಾನು ನಿರಾಕರಿಸಲಾಗದ ಪ್ರಸ್ತಾಪವನ್ನು ಮಾಡಿದೆ:

ನೀವು ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಬಯಸುವಿರಾ?

ಹೆಲ್ ಹೌದು!

ಉಳಿದ ದಿನಗಳಲ್ಲಿ ನಾನು ನನ್ನ ಬಗ್ಗೆ ಅಸಹನೀಯವಾಗಿ ಸಂತೋಷಪಟ್ಟಿದ್ದೇನೆ ಎಂದು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೇನೆ.

ನನ್ನ ಹೊಸ ಮಹಾಶಕ್ತಿಯನ್ನು ಜೀರ್ಣಿಸಿಕೊಳ್ಳಲು ಕಳೆದ ಕೆಲವು ಗಂಟೆಗಳ ನಂತರ, ನಾನು ಅದನ್ನು ಹೇಗೆ ಬಳಸಬೇಕೆಂದು ನಿರ್ಧರಿಸಿದೆ. ಅವನ ಮುಂದೆ ಅಧಿವೇಶನವನ್ನು ಕೊಲ್ಲುವುದು ತುಂಬಾ ಸುಲಭ. ನನಗೆ ಉತ್ತಮವಾದ ಕಲ್ಪನೆ ಇತ್ತು - ಸಂಪೂರ್ಣವಾಗಿ ಕಣ್ಮರೆಯಾಗುವುದು.

ನಂತರ ಸಾಕೆಟ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ನೊಂದಿಗೆ ಬೆಂಕಿಯ ಬ್ಯಾಪ್ಟಿಸಮ್ ನಾನು ಎರಡು ಕೆಲಸಗಳನ್ನು ಮಾಡುವ ಕೋಡ್ ಅನ್ನು ಬರೆಯಬಹುದೆಂದು ನಾನು ಅರಿತುಕೊಂಡೆ. ಇದು ಮೊದಲು ಕ್ಲೂಲೆಸ್ VNC ಸರ್ವರ್ ಪ್ರಕ್ರಿಯೆಯಿಂದ ಆಕ್ರಮಿಸಿಕೊಂಡಿರುವ ಹೊಸದಾಗಿ ಬಿಡುಗಡೆಯಾದ TCP ಪೋರ್ಟ್ 5900 ಅನ್ನು ಆಕ್ರಮಿಸುತ್ತದೆ. ನಂತರ ಅದು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಯಂತ್ರದ VNC ಸರ್ವರ್‌ಗೆ ಹೊಸ TCP ಸಂಪರ್ಕವನ್ನು ರಚಿಸುತ್ತದೆ. ಕೋಡ್ ಎರಡು ಸಾಕೆಟ್‌ಗಳ ನಡುವಿನ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಸರಳವಾಗಿ ಪ್ರಾಕ್ಸಿ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕೊಲಂಬೊ ಅವರು ನನಗೆ ಸಂಪರ್ಕಿಸುತ್ತಿದ್ದಾರೆ ಎಂದು ಭಾವಿಸುತ್ತಾರೆ, ವಾಸ್ತವವಾಗಿ ಅವನು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನವಾದ VNC ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸುತ್ತಾನೆ.

ನನ್ನ ಕೋಡ್ ನನ್ನ ಮತ್ತು ನನ್ನ ಆಯ್ಕೆಯ ಕೆಲವು ಬಡ ಆತ್ಮದ ನಡುವೆ ರಹಸ್ಯ ಸೇತುವೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಅದು ಅದ್ಭುತವಾಗಿತ್ತು.

ನಾನು ತಕ್ಷಣವೇ ನನ್ನ ನಕಲಿ VNC ಸೇತುವೆಯನ್ನು ಬರೆಯಲು ಪ್ರಾರಂಭಿಸಿದೆ. ಕೊಲಂಬೊ ನನಗೆ ಹಲವಾರು ಬಾರಿ ಸಂಪರ್ಕ ಸಾಧಿಸಿದೆ, ಆದರೆ ನಾನು ಅವನ ಮುಂದೆ ಕಾರ್ಯಕ್ರಮವನ್ನು ಮುಂದುವರೆಸಿದೆ. ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಕಾಮೆಂಟ್‌ಗಳಂತಹ ಸ್ಪಷ್ಟವಾದ ವಿಷಯಗಳನ್ನು ನಾನು ಬರೆದಿದ್ದರೂ ನಾನು ಏನು ಮಾಡುತ್ತಿದ್ದೇನೆ ಎಂದು ಅವನಿಗೆ ತಿಳಿದಿಲ್ಲ ಎಂಬ ತೀರ್ಮಾನಕ್ಕೆ ನಾನು ಬಂದಿದ್ದೇನೆ. // Прощай, жуткий шпион VNC.

ಒಂದೆರಡು ದಿನಗಳ ನಂತರ ನನಗೆ ಕೋಡ್ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ವಿಷಯಗಳನ್ನು ಇನ್ನಷ್ಟು ಹದಗೆಡಿಸಲು, ನಾನು ಸಿಸ್ಟಂ ಟ್ರೇನಲ್ಲಿರುವ ಕಪ್ಪು VNC ಐಕಾನ್‌ನೊಂದಿಗೆ ನಿರಂತರವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದೇನೆ. ಇದು ಸಂಪರ್ಕಗೊಂಡಿರುವಾಗ, ನನ್ನ ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲು ನನಗೆ ಪೋರ್ಟ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.

ಆಗ ನನಗೆ ತಿಳಿದಿದ್ದರೆ netcat!

ಕೊನೆಯಲ್ಲಿ, ನನ್ನ ನರಗಳು ದಾರಿ ಮಾಡಿಕೊಟ್ಟವು; ಎಲ್ಲಾ ನಂತರ, ನಾನು ತಾಳ್ಮೆಯಿಲ್ಲದ 17 ವರ್ಷದ ಹುಡುಗನಾಗಿದ್ದೆ. ಬಿಳಿ VNC ಸರ್ವರ್ ಐಕಾನ್ ಮತ್ತೆ ಕಪ್ಪು ಬಣ್ಣಕ್ಕೆ ತಿರುಗುವುದನ್ನು ನೋಡುತ್ತಾ, ನಾನು ಭಯಭೀತನಾದೆ, ಸಂದೇಶದ ಸರತಿಯನ್ನು ಹೊಂದಿರುವ ಮೂಲ ಕೋಡ್ ಅನ್ನು ತೆರೆದು ಅದನ್ನು ಅವನ ಕಣ್ಣುಗಳ ಮುಂದೆ ಓಡಿಸಿದೆ. ಕ್ಲಿಕ್ ಮಾಡುವ ಮೊದಲು ನಾನು ಒಂದೆರಡು ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯುತ್ತಿದ್ದೆ End Process, ಅವರು ಅದನ್ನು ನೋಡಿದ್ದಾರೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು.

ಆ ಗುಂಡಿಯನ್ನು ಒತ್ತುವುದರಿಂದ ಅದು ಯೋಗ್ಯವಾಗಿದೆ ಎಂದು ನನಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಮನವರಿಕೆಯಾಗದಿದ್ದರೆ, ಅವನು ತನ್ನ ಮಾನಿಟರ್‌ಗಳ ಕೋಟೆಯ ಹಿಂದಿನಿಂದ ಹಾರಿ ನನ್ನನ್ನು ತ್ವರಿತವಾಗಿ ಸಮೀಪಿಸಲು ಮತ್ತು ನನ್ನನ್ನು ಕೋಣೆಯಿಂದ ಹೊರಗೆ ತರಲು ಖಂಡಿತವಾಗಿಯೂ ಮಾಡಿದನು.

ಪರಿಣಾಮವಾಗಿ, ನಾನು ಎರಡು ವಾರಗಳವರೆಗೆ ನೆಟ್ವರ್ಕ್ನಿಂದ ನಿಷೇಧಿಸಲ್ಪಟ್ಟಿದ್ದೇನೆ. ನ್ಯಾಯಯುತ ಶಿಕ್ಷೆ, ನಾನು ಯೋಚಿಸಿದೆ. ಸುಮಾರು ಮೂರು ವಾರಗಳ ನಂತರ, VNC ಸರ್ವರ್ ಬೂಟ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಂದ ಕಣ್ಮರೆಯಾಯಿತು ಮತ್ತು ಎಲ್ಲಿಯೂ ಕಾಣಿಸಲಿಲ್ಲ. ನನ್ನ ಘಟನೆಯು ಇದರಲ್ಲಿ ಯಾವುದೇ ಪಾತ್ರವನ್ನು ವಹಿಸಿದೆಯೋ ಇಲ್ಲವೋ ನನಗೆ ತಿಳಿದಿರಲಿಲ್ಲ, ಆದರೆ ನನ್ನ VNC ಗನ್ ಅನ್ನು ದೇಶದಾದ್ಯಂತ ಕಾಲೇಜು ಕಂಪ್ಯೂಟರ್ ಹಾಲ್‌ಗಳಲ್ಲಿ ಖಿನ್ನತೆಗೆ ಒಳಗಾದ ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಮಾರಾಟ ಮಾಡುವ ಮೂಲಕ ಅಸಾಧಾರಣವಾಗಿ ಶ್ರೀಮಂತರಾಗುವ ನನ್ನ ಯೋಜನೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಹಾಳುಮಾಡಿತು.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ