Engenharia reversa é um campo vasto e complexo. Isso aqui pretende ser um compilado de materiais que podem servir para te dar uma luz sobre por onde começar. Tentei me ater aos materiais em pt-br que conheço, mas uma hora ou outra vai ser preciso se meter no english. Google tradutor tá aí fazendo um trabalho bem mais decente do que era há uns anos, então é só usar.
-
http://www.facom.ufu.br/~gustavo/ED1/Apostila_Linguagem_C.pdf
-
https://www.programiz.com/c-programming (Mais curto e com interface amigável)
https://mentebinaria.gitbook.io/engenharia-reversa/numeros
https://mentebinaria.gitbook.io/engenharia-reversa/assembly Assembly, registradores, instruções básicas, funções e pilha
https://brerodrigues.github.io/hacking/gdb-comandos-basicos
https://github.com/longld/peda bom saber as funcionalidades básicas tipo checksec
https://github.com/brerodrigues/CTFs/raw/master/my_challenges/hello_world_rev
https://brerodrigues.github.io/ctfs/favorites/level-6-overthewire-ctf-leviathan-write-up
https://sergioprado.org/padrao-elf-para-arquivos-objeto/
https://www.youtube.com/watch?v=tkAM8GA4LnM&list=PLIfZMtpPYFP4MaQhy_iR8uM0mJEs7P7s3&index=8
https://brerodrigues.github.io/category/CTFs
Se você não desistiu antes dessa parte, provavelmente já descobriu o quanto ainda não sabe. Mas essa é a mágica: sempre ter material e coisa nova para a aprender e nunca estar entediado (: Aqui vou adicionar links de materiais que venho usando para meu próprio aprendizado, afinal, também não sou nada mais que um noob. Fica ligado porque daqui para frente a maioria das coisas vai estar em inglês.
http://savannah.c3sl.ufpr.br/pgubook/ProgrammingGroundUp-0-8.pdf
http://dbp-consulting.com/tutorials/debugging/linuxProgramStartup.html
http://bottomupcs.sourceforge.net/csbu/x3564.htm
http://eli.thegreenplace.net/2012/08/13/how-statically-linked-programs-run-on-linux