Ir para conteúdo
  • 0
forkgoldin

Comandos além da lógica

Pergunta

forkgoldin    1

Pessoal, eu comecei estudar C faz muito tempo e já estudei tudo que consegui encontrar, loops, condições, arquivos, ponteiro, vetores, etc, mas tudo isso só cria o programa dentro dele mesmo, ou guarda e pega informações de fora, mas tipo, como eu faço pra sair da "Lógica de programação" e usar comandos do SO, por exemplo, sei que tem o system que acessa o cmd/terminal, mas só tem ele? como são feitos os malwares que fazem algo além de encher memória ou modificar dados, por exemplo? e como eu poderia fazer um programa que modifique o plano de fundo após um certo tempo ou que pegue as senhas do wifi por exemplo sla, já me indicaram ler a documentação, mas só encontro em inglês e não manjo muito, já me indicaram bibliotecas tbm, mas parece que todas só minimizam o trabalho de algumas contas ou alguns comandos, com algumas funções (tipo a string.h ou math.h), bom queria saber como funciona esses programas como malwares ou aqueles q mudam algo do sistema operacional

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

  • 0
Lord13    81

Tudo vai da lógica de programação, e a base da linguagem que você sabe. Caso não souber, pesquise no Google. Por exemplo, um programa fica "pesado" quando há uma demanda muito grande de memória, ou seja, quando o acúmulo de processamento de dados é estrondoso. Ou seja, manipulando várias variáveis de uma vez, num loop, podemos fazer a façanha de travar o PC. E por aí vai, caso quiser algo "que rode fora do programa", sempre que não souber procure no Google, recomendo em inglês... por conter grande parte do conteúdo.

Por exemplo, sobre mudar o Wallpaper da Área de Trabalho encontrei facilmente: https://cboard.cprogramming.com/cplusplus-programming/78647-changing-desktop-wallpaper.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora




  • Conteúdo Similar

    • Por invade
      Sou iniciante nesse campo (Hacking) mas, com relação à programação já estou bem introduzido e sei algumas linguagens.
      Queria saber por onde começar nesse área. Oque devo saber, pois estou perdido diante de tantas coisas que vejo. Devo estudar oque no começo ? redes? Linux? Alguém me esclareça , ficarei muito grato.
    • Por poxalukas
      [ajuda] e ai glr , to aprendendo agr sobre alocaçao dinamica, e me surgiu uma duvida no exercicio:
      "3) Construa um programa (main) que aloque em tempo de execução (dinamicamente)
      uma matriz de ordem m x n (linha por coluna), usando 1+m chamadas a função
      malloc. Agora, aproveite este programa para construir uma função que recebendo os
      parametros m e n aloque uma matriz de ordem m x n e retorne um ponteiro para esta
      matriz alocada. Crie ainda uma função para liberar a área de memória alocada pela
      matriz. Finalmente, crie um novo programa (main) que teste/use as duas funções
      criadas acima.
      4) Construa um programa (main) que aloque em tempo de execução (dinamicamente)
      uma matriz de ordem m x n (linha por coluna), usando 2 chamadas a função malloc.
      Agora, aproveite este programa para construir uma função que recebendo os
      parametros m e n aloque uma matriz de ordem m x n e retorne um ponteiro para esta
      matriz alocada. Crie ainda uma função para liberar a área de memória alocada pela
      matriz. Finalmente, crie um novo programa (main) que teste/use as duas funções
      criadas acima."
      nao entendi mt bem oq e pra fazer a respeito dessa alocaçao, tanto 1+m qt 2 chamadas.
      segue meu code
      #include <stdio.h>
      #include <stdlib.h>
      float **Alocar_matriz_real (int m, int n) {
      float **v; 
      int i;
      if (m < 1 || n < 1) {
      printf ("** Erro: Parametro invalido **\n");
      return (NULL);
      }
      v = (float *)calloc (m, sizeof(float *)); 
      if (v == NULL) {
      printf ("** Erro: Memoria Insuficiente **");
      return (NULL);
      }
      for ( i = 0; i < m; i++ ) {
      v = (float *)calloc (n, sizeof(float)); 
      if (v == NULL) {
      printf ("** Erro: Memoria Insuficiente **");
      return (NULL);
      }
      }
      return (v);

      float **Liberar_matriz_real (int m, int n, float **v) {
      int i;
      if (v == NULL)
      return (NULL);
      if (m < 1 || n < 1) {
      printf ("** Erro: Parametro invalido **\n"); \
      return (v);
      }
      for (i=0; i<m; i++){
      free (v);
      }
      free (v);
      return (NULL);
      }
      int main (void) {
      float **mat;
      int l, c;
      int i, j;
      printf("digite o valor de m: ");
      scanf("%d",&l);
      printf("\ndigite o valor de n: ");
      scanf("%d",&c);
      mat = Alocar_matriz_real (l, c);
      for (i = 0; i < l; i++){
      for ( j = 0; j < c; j++){
      if(i==j) mat[j] = 1;
      }
      }
      mat = Liberar_matriz_real (l, c, mat);
      return(0);
      }
×

Informação Importante

Ao usar este site, você concorda com nossos Termos de Uso.