1 पॉइंट द्वारा GN⁺ 2025-02-08 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • LinuxPDF एक demo है जो PDF के अंदर Linux VM चलाता है, जिसमें VM screen और keyboard input UI को PDF के भीतर साथ में रखा गया है
  • runtime environment Chromium-based browser तक सीमित है, इसलिए अन्य PDF environments में इसके काम करने की उम्मीद करना मुश्किल है
  • key input को screen पर मौजूद key buttons दबाकर या ऊपर के input box में सीधे type करके VM को भेजा जा सकता है
  • उपलब्ध keys में Esc, Tab, Enter, Shift, Ctrl, Alt, arrow keys, Home/End, PgUp/PgDn, F1~F12, और number व letter keys तक शामिल हैं
  • implementation देखना चाहने वाले users GitHub के linuxpdf repository में source code देख सकते हैं

PDF के अंदर Linux VM demo

  • LinuxPDF PDF document के अंदर Linux VM चलाने वाला demo है
  • operating environment Chromium-based browser तक सीमित है
  • screen पर VM की loading status दिखाने वाला Loading... text मौजूद है

VM को key input भेजना

  • input के दो तरीके हैं
    • screen पर दिख रहे key buttons दबाना
    • Type here for keyboard inputs. input box में सीधे type करना
  • अभी दबाई गई key को Pressed: area में देखा जा सकता है

उपलब्ध keys का configuration

  • control keys और special keys
    • Esc, Tab, Caps, Enter, Shift, RShift, Ctrl, Alt, Space, Menu
    • Home, Ins, Del, End, PgUp, PgDn
  • arrow keys और function keys
    • ^, <, v, >
    • F1 से F12 तक
  • सामान्य key input
    • numbers 1~0, -, =
    • QWERTY letter keys
    • [, ], ;, ', ,, ., /, \, `

Source code

1 टिप्पणियां

 
GN⁺ 2025-02-08
Hacker News की टिप्पणियाँ
  • काम नहीं कर रहा और दस्तावेज़ भी प्रतिक्रिया नहीं दे रहा। जानकारी के लिए, मैंने HP DeskJet 2820e Printer इस्तेमाल किया

    • लगता है हर बार स्कैन करते समय सही key पर गोला बनाकर, इसे scanner में बार-बार input करना पड़ेगा
    • PDF में वास्तव में यह अलग से परिभाषित करने की सुविधा होती है कि किन तत्वों को screen पर दिखाना है और print करना है (Optional Content)
  • पिछले कुछ दिनों में “PDF के अंदर Linux चलाना” और “PDF को LLM में डालने का तरीका” दोनों ही चर्चा में रहे हैं, और अगर लोग अलग-अलग तरह के PDF parser और evaluator को LLM से जोड़ना शुरू करते हैं, तो काफ़ी दिलचस्प hacking संभावनाएँ बन सकती हैं

    • LLM के अंदर Linux चलाकर उसका इस्तेमाल computing resources hijack करने में किया जा सकता है, और उससे LLM को train किया जा सकता है या Bitcoin mine किया जा सकता है
    • PDF हमेशा से बहुत आकर्षक attack vector रहा है। ज़्यादातर लोग PDF को बस एक text document समझते हैं, और यह नहीं जानते कि उसमें executable code आसानी से डाला जा सकता है
      Acrobat जैसे लोकप्रिय reader में बेहद ज़्यादा vulnerabilities होने की बात जोड़ दें, तो यह किसी कंपनी को hack करने के लिए एकदम सही entry point बन जाता है
  • यह कुछ दिन पहले पोस्ट हुई थी: https://news.ycombinator.com/item?id=42891937
    repository में अंदरूनी mechanism कैसे काम करता है, इस पर explanation और जानकारी भी है

  • आखिरकार आ ही गया। मैं बहुत समय से यह मज़ाक कर रहा था कि “Linux.js को PDF में डालकर, Linux के अंदर browser के अंदर PDF के अंदर Linux के अंदर browser के अंदर PDF के अंदर Linux चलाऊँगा”

    • पूरी तरह सही नहीं। यह PDF अभी browser खोल नहीं सकती!
  • इसे JavaScript से करना थोड़ा cheating जैसा लगता है। सोच रहा हूँ कि क्या PostScript से भी ऐसा कुछ किया जा सकता है

    • किया जा सकता है, लेकिन PDF के अंदर नहीं। PDF सिर्फ PostScript का Turing-incomplete subset सपोर्ट करता है, क्योंकि PDF डिज़ाइनरों का मानना था कि document format के अंदर Turing-complete language डालने से performance समस्याएँ होंगी
      बाद में उन्होंने राय बदली और JavaScript support जोड़ दिया
    • computation के नज़रिए से यह संभव है। PostScript में x86 CPU emulation के लिए ज़रूरी integer arithmetic operations हैं, और mutable byte strings भी हैं जो emulation memory के रूप में उपयोगी हैं
    • PostScript में ZMachine interpreter zmachine.ps है, जिससे text adventure game खेले जा सकते हैं
      और हाँ, PostScript में बने chess engine और tic-tac-toe भी हैं, और अगर आपके पास काफ़ी धैर्य हो तो NES games भी चलाए जा सकते हैं, हालाँकि stack को काफ़ी छेड़ना पड़ सकता है
  • आखिरकार अब PDF के अंदर rm -rf / चलाया जा सकता है

    • PostScript इसके लिए "shredpage" operation सपोर्ट करता है
  • इसकी 10 copies बनाकर USB drive में डाल दें, तो portable Kubernetes cluster का मज़ा ले सकते हैं
    https://news.ycombinator.com/item?id=42681039

  • VirusTotal में कम से कम 3 detections दिख रहे हैं, लेकिन पता नहीं यह कितना meaningful है
    ClamAV: Js.Trojan.Obfus-48
    Cylance: Unsafe
    Google: Detected

  • Firefox के about:config में pdfjs.enableScripting को false पर सेट कर दें

  • लेकिन क्या PDF के अंदर Linux चलाने वाला कोई Linux के लिए PDF editor भी है? Evince में तो यह load नहीं होता

    • मैं इसे सिर्फ Chrome में चला पाया। Adobe Reader, Firefox, Evince वगैरह में नहीं चला
      लगता है इस तरह के “PDF के अंदर coding” वाले ज़्यादातर प्रयोग सिर्फ Chrome को execution environment मानकर ही बनाए जाते हैं। पता नहीं इसकी वजह यह है कि Chrome document के अंदर ज़्यादा code execution की अनुमति देता है या कुछ और