Como ‘travar’ um computador usando a Linguagem C

Como ‘travar’ um computador usando a Linguagem C

Olá pessoal…

Hoje irei mostrar como travar um computador utilizando a Linguagem C, lembrando que essa postagem é com cunho estudantil.


Primeiramente pessoal, temos que entender o comando ‘system’ na linguagem C, esse comando é responsável por executar algum comando no terminal do sistema operacional, por exemplo, se eu executar o comando system(“cls”) em ambiente Windows, ele irá executar a limpeza na tela, mas no Linux isso resultará em erro, então em ambientes Linux, teria que utilizar o comando system(“clear”), por exemplo.

A cada comando executado, parte da RAM é reservada para executar esse programa, o que aconteceria se você tivesse um laço infinito abrindo vários programas ao mesmo tempo?… Sua RAM, iria sobrecarregar e o seu PC provavelmente ou iriar reiniciar automaticamente ou travar.

Mas porque ensinar uma forma de fazer isso na Linguagem C?… Simples, ensinar as pessoas a ver como é simples fazer algo complexo com a RAM, e não sair abrindo arquivos executáveis por ai, e até mesmo, desenvolver ferramentas para impedir esses casos, como por exemplo, desenvolver programas, que percebam laços infinitos, e finalizem futuros casos desse tipo (quem sabe alguém aqui não vá trabalhar em uma empresa de anti-vírus).

Vamos ao exemplo:

#include <stdio.h>
 
main(){
  char comando[80]="konsole";
  //laço infinito
  while(1){
    system(comando);
  }
}

No exemplo acima, basicamente, temos uma variável que contém o comando que será executado, nesse exemplo, utilizei o Konsole, porém, poderia ser qualquer comando do SO (Windows: explorer, winword, excel, etc… Linux: k3b, lxdream, etc… Mistos: firefox, gimp, libreoffice, etc…), e esse comando é aberto em um laço de repetição infinito, fazendo com que o programa seja executado sem parar. Abaixo um print do programa rodando em cerca de 3 segundos (sem contar que a CPU também sobe em nível de consumo):

Exemplo de execução
Exemplo de execução

Minha RAM subiu cerca de 3% (de 4GB) em 3 segundos, abriu cerca de 11 janelas.

Bom pessoal, por hoje é só.
Abraços e até a próxima.

About Dan_Atilio

Analista e desenvolvedor de sistemas. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

2 thoughts on “Como ‘travar’ um computador usando a Linguagem C

  1. Legal, to aprendendo C e não sabia que o system(“comando”) executava direto no terminal do sistema operacional… Gostei da dica, depois vou executar num VM hehehe 😀

Deixe uma resposta

%d blogueiros gostam disto: