Jump to content

diego.rax

Membros
  • Content Count

    11
  • Joined

  • Last visited

  • Country

    Brazil

Posts posted by diego.rax


  1. 21 horas atrás, viny3314 disse:

    O código que você mandou tá dando erro 

    o que sugeri foram pedaços isolados de código apenas para exemplificar o que estava dizendo. Não é pra vc copiar e colar...

     

    Mas o problem da duplicidade é simplesmente o fato de vc estar chamando o printf duas vezes...


  2. sai repetido pq vc está printando 2 vezes ué '-'

     

    image.png.d9672afe63cdde36d427630ce610126f.png

     

    não tem necessidade desses IFs todos, veja o que sugeri pra parte de comparação e separação dos nomes com maior e menor peso


  3. Os nomes das pessoas com maior e menor peso não estão sendo exibidos porque vc não armazenou em nenhum lugar como fez com os pesos.

    char mulher_menor_peso[21];
    char homem_maior_peso[21];
    
    
    // pra salvar o nome da mulher com menor peso vc pode fazer o seguinte quando encontrar esse menor peso
    
    strncpy(mulher_menor_peso, nome, 20);
    mulher_menor_peso[20] = '\0';
    
    
    //de forma semelhante, pode fazer o seguinte quando encontrar o homem com maior peso
    
    strncpy(homem_maior_peso, nome, 20);
    homem_maior_peso[20] = '\0';

     

    você pode encontrar os pesos da seguinte forma:
     

    #include <float.h>
      
      
    float peso_homem = 0;
    float peso_mulher = FLT_MAX
    float temp_peso; //vai armazenar temporiamente o peso inserido pelo usuário, independente do sexo
      
      //especificamente para ver o peso, vc poderia fazer desta forma.
      char sexo;
      sexo = getchar();
    
    switch(sexo) {
      case 'm':
      case 'M':
        if ( temp_peso < peso_muher) 
          peso_mulher = temp_peso;
         //mais a rotina pra copiar o nome sugerida anteriormente
        break;
      case 'h':
      case 'H':
        if (temp_peso > peso_homem)
          peso_homem = temp_peso;
        //mais a rotina pra copiar o nome 
        break;
      default:
        fprintf(stderr, "não sei de que sexo vc é\n\n");
        break; //redundante de certa forma
    }
    

    Adicionalmente, tem esse artigo que fala um pouco sobre entrada de dados em C
    http://sekrit.de/webdocs/c/beginners-guide-away-from-scanf.html


  4. Bom dia,

    Vocês conhecem alguma biblioteca para C/C++ para geração de relatórios em PDF a partir de um HTML EEEEEE que não seja baseada no Qt, java ou PHP?

    Atualmente estou criando o PDF manualmente usando a libharu, porém, a criação de itens como tabelas não é muito prático, então uma lib que conseguisse fazer essa conversão seria bem mais de boa


  5. Não testei direito, mas acredito que a parte da exclusão dos arquivos possa ser feito +- desta forma

     

    import subprocess
    import re
    
    malware_ext = ['.js']
    malware_ext2 = ['.exe']
    paths = ["%appdata%"]
    
    for path in paths:
        for malware in malware_ext:
            result = subprocess.getoutput('del /s /f /q "{path}"\*{ext}'.format(path=path, ext=malware))
            if not "*" in result:
                malware_paths = list(set(re.findall('(C\:.*\\\)', result)))
                if malware_paths:
                    for malware_path in malware_paths:
                        for malware2 in malware_ext2:
                            subprocess.getoutput('del /s /f /q "{path}"\*{ext}'.format(path=malware_path, ext=malware2))
            else:
                print("Nenhum arquivo infectado")


    * A ideia principal é permitir algo mais escalável, pois basta adicionar novas extensões ou paths na lista e o código fará o processo de busca e remoção utilizando os critérios do código original. Entretanto, o processo de remoção parece um tanto quanto perigoso já que exclui arquivos com base somente na extensão, isso em um ambiente real poderia causar problemas... 

    ** Não postei nada sobre a parte do script, mas acredito que possa ser substituída essa parte 

    result = os.system('taskkill /T /F /IM wscript.exe ') ##finaliza o processo e retorna um valor inteiro
    

    por esta 

    result =  subprocess.getoutput('taskkill /T /F /IM wscript.exe ') ##finaliza o processo e retorna um valor inteiro
    

    ou algo parecido na lib subprocess, assim podemos evitar o carregamento de mais um módulo

    No comando taskskill em si, temos um problema semelhante ao de sair excluindo dados com base na extensão. Neste caso o comando encerra processos que estejam usando o wscript, e isso pode causar danos também em um ambiente real

    • Curtir 1
    • l33t 1

  6. base64 pode ser bem interessante, mas algumas ferramentas "já" possuem recursos pra pegar bichinhos em base64(nem sempre vem habilitado por padrão)

    Eu também tenho 2 considerações(seguindo a onda binária do Mercês):

    1º Talvez seja melhor transferir algo menor do que um RAT em java, como uma conexão reversa através do netcat

    2º Sobre fazer o alvo executar o bichinho do mal, usar algo como DDE pode ser útil, https://pentestlab.blog/2018/01/16/microsoft-office-dde-attacks/

    • Curtir 1
×
×
  • Create New...