No More Secrets - 1992 की फ़िल्म Sneakers में दिखाए गए ऑन-स्क्रीन डिक्रिप्शन इफ़ेक्ट का पुनर्निर्माण
(github.com/bartobri)nmsएक command-line tool है जो pipe के ज़रिए मिले ASCII या UTF-8 text पर ऑन-स्क्रीन डेटा डिक्रिप्शन इफ़ेक्ट लागू करता है, जिससे शुरुआत में डेटा एन्क्रिप्टेड जैसा दिखता है और फिर मूल plain text अक्षर सामने आते हैं- यह इफ़ेक्ट 1992 की hacker फ़िल्म Sneakers के मशहूर डेटा डिक्रिप्शन सीन को पुनर्निर्मित करता है, और संदर्भ के लिए फ़िल्म क्लिप में 0:35 पर दिखने वाले इफ़ेक्ट से जुड़ा है
nmsडिफ़ॉल्ट रूप से पहले शुरुआती एन्क्रिप्टेड अक्षर दिखाता है, फिर उपयोगकर्ता के key input का इंतज़ार करता है, और उसके बाद डिक्रिप्शन sequence शुरू करता है- इसका मुख्य उपयोग
ls -l | nmsकी तरह standard output डेटा को pipe करके करना है, और प्रमुख options में auto decryption-a, whitespace masking-s, foreground color सेट करना-f <color>, screen clear-c, और version display-vशामिल हैं - साथ में दिया गया
sneakersप्रोग्राम फ़िल्म क्लिप में दिखने वाले सीन को पुनर्निर्मित करता है, और बंद होने से पहले उपयोगकर्ता को menu options में से एक चुनना होता है - बेसिक configuration में कोई dependency नहीं है, लेकिन इफ़ेक्ट को पुनर्निर्मित करने के लिए ANSI/VT100 terminal escape sequences का उपयोग होता है
- ANSI/VT100 को support न करने वाले terminals के लिए ncurses implementation दी गई है
- ncurses implementation non-ANSI terminals को support करती है, लेकिन output से पहले हमेशा screen clear करती है, इसलिए inline functionality की सीमा रहती है
- source installation के लिए
git,gcc,makeचाहिए, और build targetsnms, वैकल्पिकsneakers, तथा ncurses के लिएnms-ncursesऔरsneakers-ncursesमें बँटे हैं - command-line programs में वही इफ़ेक्ट इस्तेमाल करना चाहने वाले users के लिए C library LibNMS अलग से उपलब्ध है
- यह GNU General Public License की शर्तों के तहत पुनर्वितरण और संशोधन की अनुमति देने वाला free software है
1 टिप्पणियां
Hacker News की राय
मुझे यह बात पसंद आई कि इंस्टॉलेशन निर्देश यह मानकर नहीं चलते कि इस पैकेज को इंस्टॉल करने वाले के पास पहले से gcc/git/make मौजूद हैं
ऐसा शायद ही कोई होगा जो कहे, “मैं एक नई-नई इंस्टॉल की हुई distro का बिल्कुल शुरुआती *nix यूज़र हूँ, और Sneakers का decryption effect दोबारा बनाने वाला command इंस्टॉल करना चाहता हूँ”
बहुत सारे पैकेज ऐसी मान्यता बना लेते हैं, और ऐसे में यह संभावना भी बढ़ जाती है कि दूसरी अहम जानकारी भी छूटी हुई होगी
और यह भी अच्छा है कि यह कोई npm install जैसी चीज़ नहीं है
कभी सिर्फ़ code या config के ऐसे टुकड़े दे दिए जाते हैं जो अपने-आप नहीं चलते, और यह भी साफ़ नहीं होता कि उन्हें कहाँ रखना है या किसके अंदर nest करना है
कभी ऐसे import इस्तेमाल होते हैं जिनके नाम पेज पर कहीं मिलते ही नहीं
कम से कम पेज के नीचे पूरा example या उसका लिंक तो होना ही चाहिए
.hफ़ाइल का नाम देखकरmakeचलाते रहने या apt मेंlib-$THINGखोजते रहने में मैंने बहुत ज़्यादा समय गंवाया हैयही default होना चाहिए, कोई सुखद अपवाद नहीं
इस तरह की हताशा से मैं 100% सहमत हूँ
इस repository की तरह जहाँ
makeआता है, वैसी चीज़ मैं अपने process में कहीं भी नहीं डालना चाहताक्योंकि आख़िर में वह fail ही करेगी
हालाँकि इसे गंभीर उपयोग के लिए नहीं, बल्कि toy project के तौर पर देखना चाहिए
फिर भी अगर बिना dependency के सीधे source से चल सके तो वह शानदार होगा, और शायद इसी वजह से कुछ tools अब भी pure shell code में लिखे जाते हैं
असली cryptanalytic attacks में CBC padding oracle, Bleichenbacher का RSA padding oracle, और ECB byte-at-a-time attack जैसी कुछ श्रेणियाँ हैं, जिन्हें चलाने पर वे Sneakers के decryption scene जैसी लगती हैं
मुझे याद है कि Juliano Rizzo ने इनके लिए Hollywood Attack शब्द इस्तेमाल किया था
यह अच्छा term है; काश सब लोग इसे इस्तेमाल करें, और attack की intuition समझने में भी यह थोड़ा मदद करता है
बहुत-से cryptanalytic attacks पूरे 128-bit या 2048-bit message को एक साथ target नहीं करते, बल्कि ciphertext के एक byte को रचनात्मक तरीके से अलग करके काम करते हैं
मुझे यह फ़िल्म सच में बहुत पसंद है
बचपन में इसे VHS पर देखा था, और संयोग से इसके एक अहम scene की location के पास से मैं हर दिन साइकिल पर गुजरता हूँ
वह अब Google और Wharton के बीच की brick courtyard है
फ़िल्म में वह outdoor dining area के रूप में दिखता है, और Sidney Poitier Martin की Karman Ghia में carphone उठाकर कहता है, “Martin, It's your mother”
उसके बाद उन्हें एहसास होता है कि वे NSA के साथ नहीं हैं
अब वहाँ एक तैरती हुई-सी fire station जोड़ दी गई है और सड़क भी थोड़ी बदल गई है, लेकिन मुझे यह अच्छा लगता है कि फ़िल्म की शूटिंग के समय का दृश्य और आज का दृश्य अब भी काफ़ी मिलता-जुलता है
कुल मिलाकर यह वाकई बहुत अच्छी बनी हुई फ़िल्म है
बस 3~5 source files डाउनलोड करो और
makeचलाओ, और यह सीधे build हो जाता है?न कोई isolated build environment सेटअप, न 1600 dependencies डाउनलोड करके source से build करना, न 1600
.solibraries वाली filesystem hierarchy इंस्टॉल करना, न Docker या npm चलाना?और ऊपर से 1 सेकंड से भी कम में compile हो जाता है?
यह नई language C क्या-क्या कर सकती है, सच में हैरानी होती है
makeऔर C toolchain इंस्टॉल होना चाहिएअगर वह इंस्टॉल है, तो लगभग तय है कि Python, Perl, और शायद काफ़ी नया Java भी इंस्टॉल होगा
MacOS नहीं, लेकिन ज़्यादातर Linux distros में ऐसा ही होता है
और ये सभी भी बिना dependency के वही काम कर सकते हैं
90 के दशक में मैं गलतफ़हमी में
stdlib.hया दूसरी libraries include करने से C program फूला हुआ हो जाता है, इसलिए methods खुद implement करता थायानी मुझे linking कैसे काम करती है, यह भी नहीं पता था
12 साल का मैं आज के NPM, pip, bundle, और यहाँ तक कि Electron को देखकर घुटन महसूस करता
बहुत कम चीज़ों से भी बहुत ज़्यादा किया जा सकता था
अगर environment इंस्टॉल है और program की dependencies नहीं हैं, तो बस build command चलाना होता है
इस project को भी version बताए बिना gcc, make, ncurses चाहिए
नहीं तो इसका हाल आज की भयानक Python जैसा हो सकता है
Python कभी शानदार थी और सच में बस काम कर जाती थी
फिर सबने इस language पर ध्यान दिया, Nvidia जुड़ गया, TensorFlow/PyTorch/machine learning आ गए, और चीज़ें बिगड़ गईं
क्योंकि package compatibility की परवाह किए बिना script kiddies ने बहुत सारा घटिया सामान लिख दिया
community इस language की सबसे बड़ी ताकत भी है और साथ ही बहुत बड़ा सबसे खराब हिस्सा भी
makeचलाने पर उसके सही से काम करने के मौके इतने कम रहे हैं कि अब C project देखते ही मैं सोचता हूँ, “अच्छा है, लेकिन मैं इसे compile नहीं कर पाऊँगा,” और tab बंद कर देता हूँयह project अच्छी तरह build हो गया
“Passport” शब्द सुनते ही मैं “My voice is my passport” कहे बिना नहीं रह पाता, कम से कम अपने दिमाग में तो ज़रूर
“cattle mutilations are up”
अब मुझे याद नहीं कि इनमें से कौन-सा था
जो मैंने अभी किया, वह आसान नहीं था
वह hack सीधे इस फ़िल्म से प्रेरित था, और PLA ने उसे podcast episode में दिखाया था
https://phonelosers.com/2008/05/pla-radio-episode-17-voice-a...
यह और cool-retro-term[1] का कॉम्बिनेशन मेरे कंप्यूटर पर सच्चे हैकर टाइम बिताने के लिए ज़रूरी है
[1] https://github.com/Swordfish90/cool-retro-term
https://www.youtube.com/watch?v=_gRIG_zK4SQ
मेरी पहली helpdesk नौकरी में mainframe support शामिल था, और मैं अब भी बचे हुए पुराने IBM 4-विभाजित plasma terminal इस्तेमाल कर सकता था
ticket system भी अभी तक mainframe पर ही था, इसलिए यह helpdesk काम में वास्तव में उपयोगी था
शायद वही मॉडल था, या उससे बहुत मिलता-जुलता: https://www.argecy.com/ibm-3290-plasma-terminal
[1] https://github.com/Rezmason/matrix
brew install --cask cool-retro-termKevin Mitnick का obituary देखकर मुझे तुरंत यही फ़िल्म याद आना दिलचस्प लगा
शायद बहुत से लोगों के साथ ऐसा हुआ होगा
यह हमेशा मज़ेदार रहता है
कुछ साल पहले मैंने एक single-file Python script
decrypt.pyबनाई थी, जो लगभग यही काम इसी तरह करती हैदुख की बात है कि यह अब भी मेरे GitHub projects में सबसे लोकप्रिय repository है: https://github.com/jtwaleson/decrypt
मैं सच में Sneakers का एक आधुनिक संस्करण देखना चाहूँगा
कहानी ऐसी हो सकती है कि किसी को पता चले कि quantum computer शायद पहले ही बन चुका है, और अगर वह सच में मौजूद है तो उसे चुराना होगा
यह मूल Sneakers के “no more secrets” meme के साथ भी पूरी तरह फिट बैठता है
लेकिन मूल Sneakers पहले से ही उम्र बढ़ने और परिपक्वता पर बनी फ़िल्म थी, इसलिए सिर्फ़ एक और पीढ़ी बीत जाने से यह उतनी प्रभावशाली कहानी नहीं बनती
River Phoenix और Sidney Poitier के इस दुनिया में न रहने का अफ़सोस है, और मैंने यह भी जाँच लिया कि Ben Kingsley अभी जीवित हैं या नहीं
तकनीक से कुछ हद तक जुड़ी फ़िल्म होने के हिसाब से, मेरे ख़याल से मूल फ़िल्म हैरान करने वाली तरह से अच्छी तरह टिकी हुई है
कुछ हद तक इसलिए भी कि वह World Wide Web के ठीक पहले के दौर में सेट है, और 2023 में भी अब तक महत्वपूर्ण systems का mainframe पर चलना असामान्य नहीं है
समझ नहीं आता कि बचपन में मुझे पसंद आई फ़िल्मों के reboot, sequel, prequel, यहाँ तक कि कोई खराब sequel भी क्यों नहीं बनते
यह मेरी ज़िंदगी की पसंदीदा फ़िल्मों में से एक है
decryption वाला दृश्य मेरी यादों में सचमुच आइकॉनिक है, और इस project ने उस एहसास को पूरी तरह सही ढंग से पकड़ लिया है