Jump to content

paulosgf

Apoiadores
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

2 Neutral

About paulosgf

Personal Information

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Obrigado sombrakey! Vou testar depois.
  2. Galera, Onde baixo esse packer, de preferência na versão mais atual, que é a 2.0, acho! Aqui no portal não achei em downloads. Abraços!
  3. O free(buffer); eu tinha esquecido. O resto ocorreu conforme vc previu: removi a alocação com malloc() e troquei por return -1; na getline(), ambos sem problemas! Mais uma vez obrigado fredericopissarra! É bom saber que temos aliados que entendem dispostos a ajudar!
  4. Obrigado pela dica fredericopissarra! Eu ainda estava tendo problemas com esse trecho, que apagava o buffer: while (*str != '\0') { *str = toupper((unsigned char) *str);  str++; } mas, enfim consegui resolver trocando por um laço for. O código ficou assim: b38990@lseo:~/crack/C$ cat pegastring.c #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> int main(void) { char *buffer = NULL, *caractere; size_t tamanho = 0; int i; buffer = (char *)malloc(tamanho * sizeof(char)); if( buffer == NULL) { perror("Impossivel alocar buffer"); exit(1); } printf("Nome: "); if (getline(&buffer,&tamanho,stdin) == -1) return NULL; if ( caractere = strchr( buffer, '\n' ) ) *caractere = '\0'; for (i=0; i<=strlen(buffer); i++) { buffer = toupper(buffer); } printf("Nome: %s\n",buffer); return(0); } b38990@lseo:~/crack/C$ gcc -o pegastring pegastring.c pegastring.c: In function ‘main’: pegastring.c:20:9: warning: return makes integer from pointer without a cast [-Wint-conversion] return NULL; ^ b38990@lseo:~/crack/C$ ./pegastring Nome: paulo Nome: PAULO Abraço!
  5. Pessoal, estou com um problema que talvez seja simples para alguns de vcs, mas como não tenho prática em C, estou com dificuldades. Comecei o keygenme da aula 17 CERO sugerido pelo Fernando que recebe um nome e converte para maiúsculo. E justo nesta parte ele estoura o buffer. O que pode estar errado? [ paulosgf /home/paulosgf/crack/keygenme ] $ cat keygenme.c #include <stdio.h> #include <ctype.h> int main(void) { char *str; printf("Nome: "); scanf("%s", str); while (*str != '\0') { *str = toupper((unsigned char) *str); str++; } printf("%s\n", str); return 0; } [ paulosgf /home/paulosgf/crack/keygenme ] $ gcc -o keygenme keygenme.c [ paulosgf /home/paulosgf/crack/keygenme ] $ ./keygenme Nome: paulo Falha de segmentação
  6. Parabéns Fernando & equipe! Não conheço nenhum curso em português sobre o tema, com esse nível de detalhamento e ainda com o compartilhamento da experiência que quem realmente entende. Trata-se de um assunto realmente complexo e que deve ser tratado com seriedade, senão não há avanço no aprendizado. Pela primeira vez estou começando a entender. Como sugestão acho que seria interessante futuramente falar também da arquitetura de 64 bits, que é a arquitetura atual e veio para dominar. Também seria muito enriquecedor tratar de tópicos como ofuscação \ criptografia de código conforme se encontra em muitos malwares, e que também não se acha fácil material que trate do assunto. Fica a dica! Grande abraço a todos ai, e muito obrigado pela dedicação e compartilhamento do conhecimento!
×
×
  • Create New...