Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Jemalloc 5.4.0(github.com/jemalloc ↗)
    27comments
  2. The scourge of x86 emulation(fex-emu.com ↗)
    13comments
  3. Astra for Law(openai.com ↗)
    500comments
  4. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    121comments
  5. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    206comments
  6. Qwen 3.8 Omni Flash(qwen.ai ↗)
    69comments
  7. When the fractional part of a float fixes your shader(crocidb.com ↗)
    discuss
  8. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    162comments
  9. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    29comments
  10. A heap overflow and SSO misconfiguration to compromise OpenAI internal repos(hacktron.ai ↗)
    131comments
  11. Wax motor(wikipedia.org ↗)
    64comments
  12. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    226comments
  13. Shapelearn Qwen 3.8 27B (13.1 GB VRAM)(byteshape.com ↗)
    7comments
  14. How to Write with an LLM(sockpuppet.org ↗)
    85comments
  15. Ask A Monk – A digital wilderness for thoughts with no immediate answer(askamonk.online ↗)
    20comments
  16. Flet 1.0 – Build cross-platform apps in Python(flet.dev ↗)
    52comments
  17. Why Does the Universe Expand?(cosmicave.org ↗)
    49comments
  18. Telstra outage: The night a network decided the year was 2006(netnod.se ↗)
    23comments
  19. Diplodocus, Long Thought Exclusively American, Turns Up in Spain(sci.news ↗)
    37comments
  20. Fixing an NZXT Signal 4K30 part 2: the green/pink video bug(downtowndougbrown.com ↗)
    9comments
  21. The most important product decision is what you don't build(liamnugent.me ↗)
    33comments
  22. Speeding up gearhash on ARM64(sam.dev ↗)
    discuss
  23. CrowdSec Source Code Leak(crowdsec.net ↗)
    44comments
  24. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    361comments
  25. How do we prevent mathemathics from devolving into the Medieval Era of secrecy?(mathoverflow.net ↗)
    97comments
  26. How Uber Protects Against Retry Storms(uber.com ↗)
    38comments
  27. Show HN: Snapdrop: Instantly share files between devices. No setup, no signup(snapdrop.me ↗)
    34comments
  28. Apple detectives solved mystery of ancient tree and rewrote the history of fruit(scientificamerican.com ↗)
    5comments
  29. Khipu (Quipu) Field Guide(khipufieldguide.com ↗)
    discuss
  30. Infinite-Parameter LLMs: Generating and Adapting Weights from Live Data(arxiv.org ↗)
    39comments

How Samba was written

37 pointsby 17y agosamba.org
3 comments
17y agoHN ↗

The article explains a few network protocol reverse-engineering techniques that were used over the course of 12 years to write Samba.

The techniques are:

  1. Use of publicly available documents on the CIFS/SMB protocol
     (not reverse-engineering but the documents are incomplete);

  2. Use a network sniffer to listen in on conversations between Microsoft clients and servers;

  3. Use of a protocol scanner: a program that tries all possible "words"
     in some section of a protocol and uses the response
     to automatically deduce new information about the protocol.

  4. Use the "differential" technique: You write your own implementation
     of the protocol with what you know, then send pairs of identical messages
     to both the real implementation and your implementation and verify that the responses are the same.
17y agoHN ↗

Trivia: Andrew Tridgell's techniques here catalyzed the creation of git. He applied them to reverse-engineer parts of the Bitkeeper protocol, a proprietary version control system then hosting the linux kernel. Bitkeeper CEO Larry McVoy revoked linux's license to use BK, Linus went off and wrote a replacement, and the rest is history.

http://en.wikipedia.org/wiki/BitKeeper

17y agoHN ↗

Although supposedly the BitKeeper protocol was documented, and to find it, Andrew Tridgell connected to a BK server via telnet and typed "help". No idea how much the truth has been romanticised, but I suspect that it at least helped the reverse engineering effort, even if the documentation was incomplete.

I'm currently reverse engineering a USB VoIP handset in my spare time, as the only driver that exists for it is for 32-bit Windows. I'd recommend the experience to any hacker. I'll try and write up my findings when I'm done - there are a bunch of HOWTOs out there but I found them woefully incomplete.