2 puan yazan GN⁺ 2023-07-21 | 1 yorum | WhatsApp'ta paylaş
  • nms, pipe üzerinden aldığı ASCII veya UTF-8 metne ekranda veri şifre çözme efekti uygulayan bir komut satırı aracıdır; metin önce şifrelenmiş veri gibi görünür, ardından özgün düz metin karakterlerini ortaya çıkarır
  • Efekt, 1992 yapımı hacker filmi Sneakers’taki ünlü veri şifre çözme sahnesini yeniden üretir ve referans olarak kullanılan film klibinde 0:35 civarındaki efektle ilişkilidir
  • nms varsayılan olarak önce başlangıçtaki şifreli karakterleri gösterir, ardından kullanıcının bir tuşa basmasını bekler ve sonrasında şifre çözme sekansını başlatır
  • Temel kullanım biçimi ls -l | nms gibi standart çıktı verisini pipe ile aktarmaktır; başlıca seçenekler arasında otomatik şifre çözme -a, boşluk karakterlerini maskeleme -s, ön plan rengi belirtme -f <color>, ekranı temizleme -c ve sürüm gösterme -v bulunur
  • Birlikte gelen sneakers programı, film klibinde görülen sahneyi yeniden üretir; çıkmadan önce kullanıcının menü seçeneklerinden birini seçmesi gerekir
  • Varsayılan yapılandırmanın bağımlılığı yoktur, ancak efekti üretmek için ANSI/VT100 terminal kaçış sekansları kullanır
    • ANSI/VT100 desteklemeyen terminaller için bir ncurses uygulaması sunar
    • ncurses uygulaması ANSI olmayan terminalleri destekler, ancak çıktıdan önce her zaman ekranı temizlediği için satır içi kullanım özelliğini kaybetme kısıtı vardır
  • Kaynaktan kurulum için git, gcc, make gerekir; derleme hedefleri nms, isteğe bağlı sneakers, ncurses için nms-ncurses ve sneakers-ncurses olarak ayrılır
  • Aynı efekti komut satırı programlarında kullanmak isteyen kullanıcılar için C kütüphanesi LibNMS ayrıca sunulur
  • GNU General Public License koşulları altında yeniden dağıtılabilen ve değiştirilebilen özgür yazılımdır

1 yorum

 
GN⁺ 2023-07-21
Hacker News yorumları
  • Kurulum yönergelerinin, bu paketi kurmak isteyen kişinin zaten gcc/git/make’e sahip olduğunu varsaymamasını seviyorum
    “Yeni kurduğum dağıtımda tamamen acemi bir *nix kullanıcısıyım ve Sneakers’taki şifre çözme efektini yeniden üreten komutu kurmak istiyorum” diyen biri zaten olmayacaktır
    Çok fazla paket bu varsayımı yapıyor; böyle durumlarda başka temel bilgilerin de eksik olma ihtimali yükseliyor
    Üstelik bunun npm install tarzı bir şey olmaması da güzel

    • Dokümantasyonda bu tür şeylerden gerçekten nefret ediyorum
      Tek başına çalışmayan kod veya yapılandırma parçacıkları oluyor; nereye koyulacağı ya da neyin içine iç içe geçirileceği de belirsiz
      Sayfada bulunamayan adlarla import kullandıkları da oluyor
      En azından sayfanın altına tam bir örnek ya da ona bir bağlantı koysalar keşke
    • Eksik .h dosyasının adına bakıp make çalıştırarak ya da apt’te lib-$THING arayarak çok fazla zaman kaybettim
    • İlk başta elle derlemek gerektiğini görünce biraz hayal kırıklığına uğradım, ama depo küçük ve derleme de 1 saniyede bitiyor
      Bunun hoş bir istisna değil, varsayılan olması gerekir
    • “Gerisi okuyucuya alıştırma olarak bırakılmıştır” gibi hissettiriyor
      Bu hayal kırıklığına %100 katılıyorum
      Bu depodaki gibi make içeren bir şeyi sürecimizin hiçbir yerine koymak istemem
      Çünkü eninde sonunda başarısız olacak
      Yine de bu ciddi kullanım için değil, daha çok oyuncak proje gibi
    • Öte yandan yazılımın kurulumunun kolay olmasını isterim; dağıtım paketlerine dahil edilmesi bu yüzden kullanışlı
      Yine de bağımlılık olmadan doğrudan kaynaktan çalıştırılabilse harika olurdu; sanırım bazı araçların hâlâ saf shell kodu olarak yazılmasının nedeni de bu
  • Gerçek kriptoanaliz saldırıları arasında, çalıştırıldığında Sneakers’ın şifre çözme sahnesi gibi görünen CBC padding oracle, Bleichenbacher’ın RSA padding oracle’ı, ECB byte-at-a-time saldırısı gibi türler var
    Juliano Rizzo’nun buna Hollywood Attack terimini verdiğini hatırlıyorum
    Güzel bir terim; herkes kullansa iyi olur, saldırının sezgisel olarak anlaşılmasına da biraz yardımcı oluyor
    Birçok kriptoanaliz saldırısı, 128 bitlik ya da 2048 bitlik mesajın tamamıyla tek seferde uğraşmak yerine, şifreli metnin bir baytını yaratıcı biçimde izole ederek çalışır

  • Bu filmi gerçekten seviyorum
    Çocukken VHS’te izlemiştim; tesadüfen de önemli sahnelerden birinin geçtiği yerin yanından her gün bisikletle geçiyorum
    Şu anda Google ile Wharton arasındaki tuğla avlu orası
    Filmde açık hava yemek alanı olarak görünüyor; Sidney Poitier, Martin’in Karman Ghia’sındaki araç telefonunu tutup “Martin, It's your mother” diyor
    Sonra onların NSA ile birlikte olmadığını fark ediyorlar
    Şimdi oraya havada asılı duruyormuş gibi görünen bir itfaiye istasyonu eklediler ve yol da biraz değişti, ama film çekildiği zamanki manzaranın bugün hâlâ benzer şekilde kalmış olmasını seviyorum
    Genel olarak gerçekten çok iyi yapılmış bir film

  • 3-5 kaynak dosyası indirip sadece make yazınca derleniyor mu?
    İzole bir derleme ortamı kurmadan, 1600 bağımlılığı indirip kaynaktan derlemeden, 1600 .so kütüphanesinden oluşan bir dosya sistemi katmanı kurmadan, Docker ya da npm gibi bir şey çalıştırmadan mı?
    Üstelik 1 saniyeden kısa sürede derleniyor mu?
    Bu yeni C dilinin yapabildikleri gerçekten şaşırtıcı

    • Tam olarak öyle değil
      make ve C toolchain kurulu olmalı
      Bunlar kuruluysa neredeyse kesin olarak Python, Perl, belki oldukça güncel bir Java da kurulu olma ihtimali yüksek
      MacOS için değil ama çoğu Linux dağıtımı için böyle olduğunu düşünüyorum
      Ve bunların hepsi de bağımlılık olmadan aynı işi yapabilir
    • Eski anılar birden canlandı
      90’larda stdlib.h ya da başka kütüphaneleri dahil edince C programının şişeceğini yanlış düşünür, bu yüzden kendi metotlarımı yazardım
      Linklemenin nasıl çalıştığını da bilmiyormuşum
      12 yaşındaki ben bugün NPM, pip, bundle, hatta Electron’ı görse nefesi kesilirdi
      Çok az şeyle gerçekten çok şey yapılabiliyordu
    • Her dil için aynı şey geçerli
      Ortam kuruluysa ve programın bağımlılığı yoksa derleme komutunu çalıştırmanız yeterli
      Bu proje de sürümü belirtilmemiş gcc, make, ncurses gerektiriyor
    • Bu dili çok fazla tanıtmasalar keşke
      Sonra bugünkü korkunç Python gibi olabilir
      Python bir zamanlar harikaydı ve gerçekten sadece çalışırdı
      Herkes bu dili fark edince, Nvidia işin içine girince, TensorFlow/PyTorch/makine öğrenmesi gelince bozuldu
      Çünkü paket uyumluluğunu umursamayan script kiddie’ler çok fazla saçmalık yazdı
      Topluluk, bu dilin en iyi yanı olduğu kadar aynı zamanda çok büyük en kötü yanı da
    • Kişisel olarak make yazdığımda düzgün çalıştığı o kadar az oldu ki artık bir C projesi görünce “güzelmiş ama bunu derleyemem herhalde” diye düşünüp sekmeyi kapatıyorum
      Bu proje sorunsuz derlendi
  • “Passport” kelimesini duyunca “My voice is my passport” demeden duramıyorum; en azından kafamın içinde öyle

    • Benim için “cattle”
      “cattle mutilations are up”
    • HSBC çağrı merkezinde ses tanıma vardı; “Your voice is your passport” ya da “password” dediğini sanıyorum
      Şimdi hangisi olduğundan emin değilim
    • Birinin passport kelimesini söylemesini duymak bile güzel
    • “…verify me”
      Az önce yaptığım şey kolay değildi
    • Bell’de gerçekten böyle bir özellik vardı ve The Phone Losers of America bunu kötüye kullandı
      O hack doğrudan filmden ilham almıştı; PLA bunu bir podcast bölümünde göstermişti
      https://phonelosers.com/2008/05/pla-radio-episode-17-voice-a...
  • Bunun cool-retro-term[1] ile birleşimi, bilgisayarımda gerçek hacker zamanı geçirmek için olmazsa olmaz
    [1] https://github.com/Swordfish90/cool-retro-term

    • Linux çalıştıran bir Chromebook’a cool-retro-term ve no-more-secrets kurdum; gerçekten oldukça iyi görünüyor
      https://www.youtube.com/watch?v=_gRIG_zK4SQ
    • Şu kehribar renkli ekranı görünce anılar bir anda canlandı
      İlk helpdesk işimde mainframe desteği de vardı ve hâlâ duran eski IBM 4 bölmeli plazma terminalini kullanabiliyordum
      Bilet sistemi de hâlâ mainframe üzerindeydi, bu yüzden helpdesk işi için gerçekten işe yarıyordu
      Muhtemelen bu modeldi ya da ona çok benzerdi: https://www.argecy.com/ibm-3290-plasma-terminal
    • Bunu beğendiyseniz bundan[1] da muhtemelen keyif alırsınız
      [1] https://github.com/Rezmason/matrix
    • Mac’te şu komutla kolayca kurulabiliyor
      brew install --cask cool-retro-term
    • Yalnız ve sıkıcı geceler için bir şey
  • Kevin Mitnick’in ölüm ilanını görünce aklıma hemen bu filmin gelmesi ilginç
    Muhtemelen birçok kişi için de öyle olmuştur

  • Her zaman eğlenceli
    Birkaç yıl önce buna benzer, neredeyse aynı işi yapan tek dosyalık bir Python betiği decrypt.py yazmıştım
    Ne yazık ki hâlâ GitHub projelerim arasında en popüler depo bu: https://github.com/jtwaleson/decrypt

  • Sneakers’ın modern bir versiyonunu gerçekten görmek isterim
    Birinin kuantum bilgisayarın muhtemelen çoktan yapılmış olduğunu keşfettiği ve gerçekten varsa onu çalması gereken bir hikâye olsa iyi olurdu
    Orijinal Sneakers’taki “no more secrets” mimiyle de tamamen örtüşüyor

    • Kişisel olarak, orijinal oyuncularla bir remake de güzel olabilirdi diye düşünüyorum
      Ancak orijinali zaten yaşlanma ve olgunluk üzerine bir filmdi; sadece aradan bir nesil daha geçmiş olması, o kadar ikna edici bir hikâye çıkarmazdı sanırım
      River Phoenix ve Sidney Poitier’nin aramızdan ayrılmış olması üzücü; Ben Kingsley’nin hâlâ hayatta olup olmadığını da kontrol ettim
      Teknolojiyi bir ölçüde konu alan bir film için orijinalinin şaşırtıcı derecede iyi dayandığını düşünüyorum
      Bunda kısmen World Wide Web’in hemen öncesine denk gelen zamanlamasının payı var; ayrıca 2023’te bile kritik sistemlerin mainframe üzerinde çalıştığı hâlâ oluyor
    • Evet
      Çocukken sevdiğim filmler için neden reboot, devam filmi, prequel, hatta kötü bir devam filmi bile yapılmadığını anlamıyorum
  • Bu, hayatımın filmlerinden biri
    Şifre çözme sahnesi hafızamda gerçekten ikonik ve bu proje o hissi tam anlamıyla doğru yakalamış