/ratf-rev-pwn-class

Um compilado de links para introduzir os chegados nas artes negras da engenharia reversa.

MIT LicenseMIT

ratf-rev-pwn-class

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.

0. Para os que não tem base nenhuma de linguagem C, recomendo (pode ser uma lida superficial):

1. Base da base de assembly e GDB:

- Sistemas numericos:

https://mentebinaria.gitbook.io/engenharia-reversa/numeros

- Introdução asm:

https://mentebinaria.gitbook.io/engenharia-reversa/assembly Assembly, registradores, instruções básicas, funções e pilha

- Introdução gdb:

https://brerodrigues.github.io/hacking/gdb-comandos-basicos

- GDB Peda:

https://github.com/longld/peda bom saber as funcionalidades básicas tipo checksec

- Um desafio para praticar:

https://github.com/brerodrigues/CTFs/raw/master/my_challenges/hello_world_rev

- Um write-up colocando em pratica os conceitos anteriores:

https://brerodrigues.github.io/ctfs/favorites/level-6-overthewire-ctf-leviathan-write-up

2. Iniciando na exploração de binários

- Conhecendo melhor um arquivo ELF

https://sergioprado.org/padrao-elf-para-arquivos-objeto/

- Um curso (em vídeo) foda sobre exploitation pelo Fernando Mercês:

https://www.youtube.com/watch?v=tkAM8GA4LnM&list=PLIfZMtpPYFP4MaQhy_iR8uM0mJEs7P7s3&index=8

- Os write-ups dos desafios do CTF Narnia

https://brerodrigues.github.io/category/CTFs

3. Daqui em diante

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.

- Realmente aprenda assembly

http://savannah.c3sl.ufpr.br/pgubook/ProgrammingGroundUp-0-8.pdf

- Inicialização de um ELF

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

http://nairobi-embedded.org/070_elf_c_runtime.html