Olá,
Este código abaixo em C produz um arquivo binário (bad.m3u) com variáveis de ambiente dentro dele.
Pelo que entendi, isso acontece quando não se inicializa as variáveis.
Gostaria de saber se arquivos executáveis em geral também guardam informações da máquina que os gerou dentro deles ? (Isto seria muito oportuno para agencias de segurança como a NSA)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char *fill = malloc(485 * sizeof(char));
int i;
char ret[] = "BBBB";
FILE *fp;
fp = fopen("bad.m3u", "wb");
if (!fp) {
printf("Não deu");
return(0);
}
//memset(fill, 'A', 485);
fwrite(fill, 1, 485, fp);
fputs(ret, fp);
for (i = 0; i <= 0xFF; i++){
fwrite(&i, 1, 1, fp);
}
fclose(fp);
return(0);
}