Jump to content

paulosgf

Apoiador Nibble
  • Posts

    8
  • Joined

  • Last visited

  • Country

    Brazil

About paulosgf

Recent Profile Visitors

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

paulosgf's Achievements

3

Reputation

  1. Pessoal, recebi recentemente esta referência de técnicas anti-debug atualizadas por uma fonte confiável, que é a empresa Check Point. Não cheguei a olhar ainda, mas achei interessante de compartilhar logo com os colegas, por ser um tema de grande relevância na área de engenharia reversa. Abraços! https://research.checkpoint.com/2020/cpr-anti-debug-encyclopedia-the-check-point-anti-debug-techniques-repository/
  2. paulosgf

    FSG packer

    Obrigado sombrakey! Vou testar depois.
  3. paulosgf

    FSG packer

    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!
  4. 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!
  5. 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!
  6. 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
  7. 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...