HN user

tboneatx

8 karma
Posts1
Comments6
View on HN

Knowing about struct memory alignment can come in in very handy when reverse-engineering 3rd party binary protocols. Often you come across many "unknown" bytes which turned out they were just padding because of 4 byte struct alignment and could be discarded. Saved a bunch of time not having to try to figure out what they were.

Definitely C, and you will also need to know a fair bit of assembly. Also familiar yourself with the PE (portable executable) format and learn how to use IDA disassembler and possibly SoftICE (Not sure if it still works, but it was/is a very powerful kernel debugger)

How to C in 2016 11 years ago

Are not all the local variables allocated on the stack in the function prologue anyway? no matter where in the function they are defined. A typical function starts with subtracting the stackpointer to make space for the local variables if i'm not mistaken.

That's what I always say too. I built our whole house myself. The same process applies: Split project into parts, find out how to do each part, do them. And once in a while you have a code review (inspector, building code) haha :)