Some essential building blocks I'd say are understanding C, assembly, and the computer science of how binary is handled.
Sorry for wasting your time with my answer though - nostr:npub1235tem4hfn34edqh8hxfja9amty73998f0eagnuu4zm423s9e8ksdg0ht5 says I'm "not technical" and no one wants my input, but not many people had answered you already, so I figured I might as well. nostr:nevent1qvzqqqqqqypzq4rghnhtwn8rtj6pw0wvn96tmkkfaz22wjln638ee29h24rqtj0dqyt8wumn8ghj7un9d3shjtnddaehgu3wwp6kytcpz4mhxue69uhkg6t5w3hjuur4vghhyetvv9usqgrxpgckpvuvk5s8lyazsd7pu6jzgxtquk7fdhtsaw8kqfxhkyt9rvg86c6j