Salvando o estado do programa

2

Sempre me perguntei se posso capturar instantaneamente o estado atual de um programa a partir da memória, seja para carregar novamente no mesmo PC ou possivelmente em outro. Idealmente, deve ser uma solução para um programa arbitrário.

Eu uso o Windows 7 e estou me tornando cada vez mais confortável com o Ubuntu, se houver uma maneira de usar um dos sistemas operacionais. Basicamente, eu me pergunto se eu poderia fazer uma espécie de forma seletiva do recurso de hibernação do sistema operacional, onde toda a memória está comprometida com o disco?

Haveria uma miríade de usos para isso, pelo menos para mim, desde a depuração de programas até as conveniências gerais. Se é possível, é seguro para os dados ou mais hacker, perigoso de alguma forma?

    
por Alex Nye 08.10.2012 / 02:39

1 resposta

1

Diferente de um disco rígido. Ram dosnt tem qualquer "estrutura".

Mesmo se um disco rígido polvilhar logicamente os dados em qualquer lugar, os dados ainda serão virtualmente classificados para o usuário.

No disco rígido, você pode facilmente copiar uma pasta appdata de programas para obter dados específicos do usuário associados a um programa. Isso não é tempo de execução, no entanto.

Para fazer a mesma coisa no carneiro. Você usaria um software que rastreia todos os dados alocados pelo programa (e onde fica armazenado ofc). Ou force o programa a salvar seus dados em um intervalo de memória específico. Isso provavelmente poderia ser feito executando-o na sandbox ou em uma máquina virtual.

Se isso é hackish? Não há nada mais perigoso do que gerenciar uma memória de programas sendo algo diferente do próprio programa ou, em alguns casos, do sistema operacional.

É por isso que recomendo usar uma máquina virtual para reduzir ao máximo a quantidade de danos que isso pode causar ao seu sistema.

Os dados salvos no RAM podem depender dos dados do disco rígido, dados em rede. Hora, data e outro estado.

Se você fizer isso, também copiar os dados do disco rígido seria uma obrigação.

Existem razões pelas quais a maioria dos programas possui recursos de salvar / carregar. Qual software você está usando onde não são suficientes?

Observe também que isso na maioria dos casos não pode ser usado para ignorar a data de validade do software livre. Isso só seria verdade se o software fosse solicitado a ser executado continuamente durante esse período de tempo. Copiar dados específicos do disco rígido do aplicativo, que eu também recomendo que você faça, é, no entanto, uma questão diferente.

Existe um software Linux feito para clusters chamado SmartSuspend: link

Se você encontrar outro software fazendo isso, há uma grande chance de que seja uma máquina virtual por baixo. Eu daria uma olhada para ver o que eu poderia fazer para tornar a virtualização específica do programa mais flexível e automatizada. Existem, por exemplo, maneiras de executar programas virtualmente e ainda exibi-los em uma janela normal. E atalhos para iniciar automaticamente uma máquina virtual para um programa.

Também não há como fazer isso "por capricho". Como eu disse antes, os dados são espalhados por toda parte e, a menos que você os rastreie desde o início, não há como encontrar os dados armazenados por um programa específico.

    
por 08.10.2012 / 08:19

Tags