Hacker News

Top stories

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

Reverse Engineering for Beginners

340 pointsby 10y agobeginners.re
29 comments
10y agoHN ↗

Yes, the Lena tutorials are the industry standard, if you can refer to the cracking scene as an industry. As far as I remember they are targeted towards blackhat crackers but the information is still valuable even for aspiring security researchers or whitehats.

10y agoHN ↗

Dude thank you these are incredible! Especially since I know I'm more of a visual learner, these vids look primo

10y agoHN ↗

Hmm, flash files relating to reverse engineering?

I'd love to watch it but yeah not touching things like that of unknown provenance.

10y agoHN ↗

I understand the paranoia, but quite frankly "unknown provenance" is just FUD. Countless others, including me, have used them with no problems. Due to the demographic of their intended audience, I doubt any maliciousness could remain undetected and unannounced for long --- trying to hide something from a community of reverse-engineers tends to be rather difficult. ;-)

10y agoHN ↗

Fair enough, it just hit too many of my "this seems sketchy" twitches. Would be nice if they had some mpeg 4 or whatever as well. I could break out ffmpeg but can't remember how to convert so I just don't bother. Other things to do in either case so no big loss.

10y agoHN ↗

You don't need to install the Flash plugin in your browser. You can use a standalone reader that handles SFW files(like GOM Player).

10y agoHN ↗

What are the prerequisites? Knowledge of computer architecture A to almost Z?

10y agoHN ↗

Just a desire to learn. I gave this a quick glance, and it's reasonably complete in terms of foundation material.

It's not going to be difficult for people lacking some things to go and look them up in context.

The most important skill here is knowing what you don't know and the secondary skill of paying close attention to what you see happening.

One might want to explore electronics enough to use a scope, logic analyzer, etc...

This is a pretty great book, and I look forward to exploring it.

10y agoHN ↗

Having a goal helps too. I tried and failed to learn x86 assembly a number of times in 2015 and then decided to focus more on modem firmware analysis instead. Sure, it's a bit of a cop-out (I can get a lot further without looking at any assembly code) but I'm slowly coming back around to reverse engineering the long way around.

10y agoHN ↗

Oh it does indeed!

Well said, and agreed completely.

One way to get familiar with assembly is to get a development board that can run bare metal code. You could even start with something that isn't x86, but is assembly. Once you complete a driver, game, or some other project in assembly, learning another assembly becomes considerably easier.

There is a mindset involved. You can get it on a 6502, if you want to, but you have to have it in order to make any real sense of assembly language, IMHO.

I have my struggles with this too, but I find it always interesting and fascinating. Goes back to the days of cracking games and opening up licenses on simpler, smaller computers.

I also believe a number of us should maintain and share these skills. It's important for a lot of basic reasons, and those don't have to be piracy, or nefarious malware reasons. It may be as simple and benign as using something we own to do something we want it to do as opposed to what it was originally intended to do.

10y agoHN ↗

I've never quite been able to shake the feeling of being born in the wrong era. I didn't start learning programming til I was 12, and I jumped straight into higher level languages. While I'm thankful for StackOverflow, I've got a bookshelf full of things like Peter Norton's Guide to Assembly just waiting for a spare week or two.

10y agoHN ↗

I sometimes feel I missed things too. For me, it's a better era alignment in that I was writing low level code on the simpler machines. But, I did step away for quite a while doing manufacturing, CAD, and a lot of related things.

All of which were very interesting, but my real love is programming and circuits. So, now I'm back, making progress, loving it, but also feeling a bit out of place.

We are not alone, of that I am sure.

10y agoHN ↗

It's what you do with what you have and being open to always learning. Reading Masters of Doom and Making of Prince of Persia, I was around (if a few years younger) during this time but I didn't have the drive these people did until much later. If you have the drive, then you can do great things, regardless of the era.

10y agoHN ↗

There is a mindset involved

Absolutely. Besides knowing Asm, the other thing I've noticed is that debugging/general analytical problem-solving skills --- being able to grok the code and understand its operation in general, without having written it --- is highly correlated with RE skills. Of those I've worked with, those who are highly skilled at debugging tend to have RE experience; and likewise those who can easily do RE, even if it's something like analysing a protocol/interface and writing a specification, also tend to be very effective debuggers.

10y agoHN ↗

As others have said it's mostly the desire to learn. A lot of the brightest reverse engineering I have met started off hacking video games. They started with a desire to either understand the game or create cheats. From there they dug into the code.

Reverse engineering has a very romantic view from the outside. In actuality a lot of it is learning esoteric topics and boring concepts to be able to apply it to a single task. It takes a certain mindset to stick with it.

The main pre-requisite is being able to read and understand assembly language. From there it's operating system fundamentals, memory layout, compilers, basic understanding C & C++ and Python is popular in the RE community.

The RE sub-reddit has a good introduction for beginners.

https://www.reddit.com/r/ReverseEngineering/comments/hg0fx/a...

10y agoHN ↗

Isn't that more specific to protocol reversing?

10y agoHN ↗

Wow! This is a massive book! Here's my New Year's Resolution staring me in the face.

10y agoHN ↗

There's a lite version available on the same page.

10y agoHN ↗

I began reading this book yesterday. So far it's a good introduction to analysing and manipulating ASM.

You'll need a windows system though. I found that the GCC examples didn't match up with what I was seeing on my Debian VM.

10y agoHN ↗

Because of different compiler versions, maybe?

10y agoHN ↗

Turns out I was compiling to 64bit which changes the ASM.

I compiled to 32bit and then ran IDA-free version using WINE on OSX (Hopper's output was too different).

Output is now identical.

10y agoHN ↗

I highly recommend downloading your router/modem firmware and having a look at it. Even running `strings` against it should be quite interesting.

If you're interested in unpacking a firmware then have a look at `binwalk` [1]. It might even work against your Blu-Ray player!

1: http://binwalk.org

10y agoHN ↗

Another way to learn is watch Charlie Miller reversing hardware presentations https://youtu.be/_9ErnoLVxCA

For example he notices a pattern, so assumes it must be a return after a function. From there he can reverse their proprietary battery controller