1 poin oleh GN⁺ 2025-02-08 | 1 komentar | Bagikan ke WhatsApp
  • LinuxPDF adalah demo yang menjalankan Linux VM di dalam PDF, dengan layar VM dan UI input keyboard ditempatkan bersama di dalam PDF
  • Lingkungan eksekusinya terbatas pada browser berbasis Chromium, sehingga sulit mengharapkan ini berfungsi di lingkungan PDF lain
  • Input tombol dapat dikirim ke VM dengan menekan tombol key di layar atau mengetik langsung ke kotak input di bagian atas
  • Tombol yang disediakan mencakup Esc, Tab, Enter, Shift, Ctrl, Alt, tombol arah, Home/End, PgUp/PgDn, F1~F12, hingga tombol angka dan huruf
  • Pengguna yang ingin memeriksa implementasinya dapat melihat kode sumber di repositori GitHub linuxpdf

Demo Linux VM di dalam PDF

  • LinuxPDF adalah demo yang menjalankan Linux VM di dalam dokumen PDF
  • Lingkungan yang didukung terbatas pada browser berbasis Chromium
  • Di layar terdapat teks Loading... yang menunjukkan status pemuatan VM

Mengirim input keyboard ke VM

  • Ada dua cara input
    • Menekan tombol key yang ditampilkan di layar
    • Mengetik langsung ke kotak input Type here for keyboard inputs.
  • Tombol yang sedang ditekan dapat dilihat di area Pressed:

Susunan tombol yang tersedia

  • Tombol kontrol dan tombol khusus
    • Esc, Tab, Caps, Enter, Shift, RShift, Ctrl, Alt, Space, Menu
    • Home, Ins, Del, End, PgUp, PgDn
  • Tombol arah dan tombol fungsi
    • ^, <, v, >
    • Dari F1 hingga F12
  • Input tombol umum
    • Angka 1~0, -, =
    • Tombol huruf QWERTY
    • [, ], ;, ', ,, ., /, \, `

Kode sumber

1 komentar

 
GN⁺ 2025-02-08
Opini Hacker News
  • Tidak berfungsi dan dokumennya tidak merespons. Sebagai catatan, saya memakai Printer HP DeskJet 2820e

    • Sepertinya setiap kali memindai, sambil melingkari tombol yang benar, ini harus diinput berulang ke scanner
    • PDF sebenarnya punya fitur untuk mendefinisikan secara terpisah elemen mana yang ditampilkan di layar dan mana yang dicetak (Optional Content)
  • Dalam beberapa hari terakhir, “menjalankan Linux di dalam PDF” dan “cara memasukkan PDF ke LLM” masing-masing jadi topik hangat; kalau orang mulai menghubungkan berbagai jenis parser dan evaluator PDF ke LLM, tampaknya akan muncul peluang hacking yang cukup menarik

    • Bisa saja menjalankan Linux di dalam LLM untuk mencuri sumber daya komputasi, lalu memakainya untuk melatih LLM atau menambang Bitcoin
    • PDF sejak dulu selalu menjadi vektor serangan yang sangat menarik. Kebanyakan orang menganggap PDF hanya dokumen teks, dan tidak tahu bahwa kode yang dapat dieksekusi bisa dimasukkan dengan mudah
      Ditambah lagi reader populer seperti Acrobat punya jumlah kerentanan yang mengerikan, menjadikannya pintu masuk sempurna untuk meretas perusahaan
  • Ini tulisan yang naik beberapa hari lalu: https://news.ycombinator.com/item?id=42891937
    Di repositorinya juga ada penjelasan dan informasi tentang bagaimana mekanisme internalnya bekerja

  • Akhirnya muncul juga. Sudah terlalu lama saya bercanda ingin “memasukkan Linux.js ke PDF, lalu menjalankan Linux di dalam PDF di dalam browser di dalam Linux di dalam PDF di dalam browser di dalam Linux”

    • Tepatnya belum. PDF ini masih belum bisa membuka browser!
  • Melakukan ini dengan JavaScript terasa agak seperti curang. Penasaran apakah hal serupa bisa dilakukan dengan PostScript

    • Bisa, tetapi tidak di dalam PDF. PDF hanya mendukung subset PostScript yang tidak Turing-complete, karena perancang PDF menganggap memasukkan bahasa Turing-complete ke dalam format dokumen akan menimbulkan masalah performa
      Belakangan mereka berubah pikiran dan menambahkan dukungan JavaScript
    • Dari sudut pandang komputasi, bisa. PostScript punya operasi aritmetika bilangan bulat yang diperlukan untuk emulasi CPU x86, dan juga string byte yang dapat diubah, yang cocok dipakai sebagai memori emulasi
    • Di PostScript ada zmachine.ps, sebuah interpreter ZMachine yang bisa memainkan game petualangan teks
      Tentu saja ada juga engine catur dan tic-tac-toe yang dibuat dengan PostScript, dan dengan cukup kesabaran mungkin game NES juga bisa dimainkan, meski mungkin harus banyak mengutak-atik stack
  • Akhirnya kita bisa menjalankan rm -rf / di dalam PDF

    • PostScript mendukung itu lewat operator "shredpage"
  • Kalau menyalin ini 10 kali dan memasukkannya ke USB drive, Anda bisa menikmati cluster Kubernetes portabel
    https://news.ycombinator.com/item?id=42681039

  • Di VirusTotal setidaknya muncul 3 deteksi, tapi saya tidak yakin apakah itu bermakna
    ClamAV: Js.Trojan.Obfus-48
    Cylance: Unsafe
    Google: Detected

  • Di about:config Firefox, cukup set pdfjs.enableScripting menjadi false

  • Tapi apakah ada editor PDF untuk Linux yang menjalankan Linux di dalam PDF? Di Evince tidak bisa dimuat

    • Satu-satunya tempat saya bisa menjalankannya adalah Chrome. Tidak bisa di Adobe Reader, Firefox, Evince, dan lainnya
      Kebanyakan hal semacam “coding di dalam PDF” ini tampaknya hanya menargetkan Chrome sebagai lingkungan eksekusi. Saya tidak begitu tahu apakah alasannya karena Chrome mengizinkan lebih banyak eksekusi kode di dalam dokumen atau semacamnya