Extrair executável / script da memória no Linux (Ubuntu)

2

Ok, no Linux, quando eu excluo um script ou executável em execução , ele normalmente (para mim, quase sempre, mas não sei se funcionará em todos os casos) continua sendo executado sem problemas. Então, eu tenho duas perguntas aqui:

  1. De onde o executável / script em execução está sendo executado? Memoria RAM?
  2. Se armazenado na RAM ou onde quer que seja, existe uma maneira de extrair o executável / script desse local?

Se faz alguma diferença, estou usando o Ubuntu 11.04.

BloodPhilia
fonte

Respostas:

5

Quando você exclui um arquivo no Linux, o arquivo permanece no disco (embora não seja visível) até o último descritor de arquivo apontando para ele ser fechado. Somente então (por exemplo, quando o executável terminar) o arquivo será realmente desalocado do disco. Os dados ainda estão acessíveis por qualquer programa que ainda tenha um identificador de arquivo aberto para os dados - seja como um script ou apenas como um arquivo de dados.

Como disse peth, o arquivo deve estar disponível na entrada / proc / [pid] / fd para qualquer processo que tenha um descritor de arquivo aberto.

lsof também pode mostrar quais processos ainda têm um descritor aberto para o arquivo em questão.

Majenko
fonte