Estudando assembly como nossos amigos aqui sempre recomendam eu fiquei com uma pulga atras da orelha
eu vejo (no meu caso em ARM64) sempre o assembly add ou remover valores do stack pointer, movendo o ponteiro para cima ou para baixo o tempo inteiro
mas o que realmente acontece com esses dados? se o ponteiro add valor ao pointer, o ponteiro "desce", mas isso nao deleta automaticamente o valor que estavam contidos nesses endereços anteriores, ne?! isso daria possibilidade de outro programa capturar esses dados em memória (tendo em vista a quantidade de hacks em jogos eu suponho que sim)
dando uma pesquisada, eu descobri que o programa reescreve esses dados quando o processo termina, liberando essa memória para que outro processo use
e aqui (finalmente) minha duvida:
programas que estão o tempo inteiro em execução? servidores web, cron jobs e ate mesmos programas de sistemas operacionais?
se um hacker invadir um servidor web, ele consegue capturar dados sensíveis de servidores em memoria e guardar isso para mandar para o atacante?
eu trabalho como desenvolvedor web a quase 4 anos, eu nunca vi nenhum esforço para criptografar dados em memória, sempre os olhares estão nos bancos de dados, validações, enfim
há, e muito obrigado mais uma vez por tanto conteúdo low level \0