Carol Martineli Postado Novembro 13, 2022 em 20:24 Compartilhar Postado Novembro 13, 2022 em 20:24 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); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
fredericopissarra Postado Novembro 13, 2022 em 23:58 Compartilhar Postado Novembro 13, 2022 em 23:58 Nope... Você obteve algum lixo: E não... nenhuma informação sobre "a máquina que o criou"... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Carol Martineli Postado Novembro 14, 2022 em 01:12 Autor Compartilhar Postado Novembro 14, 2022 em 01:12 Obrigado Frederico, O problema que relatei de lixo de memória acontece nesta versão do Code Blocks (codeblocks-20.03mingw-setup.exe). O que eu gostaria de saber é se existe alguma possibilidade desses compiladores proprietários como (Visual Studio, Delphi, Go Lang) armazenar o mac address da máquina que gerou o executável dentro deles (dentro do executável gerado) ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
fredericopissarra Postado Novembro 14, 2022 em 02:25 Compartilhar Postado Novembro 14, 2022 em 02:25 Não é isso que um compilador faz... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Fernando Mercês Postado Novembro 14, 2022 em 14:56 Compartilhar Postado Novembro 14, 2022 em 14:56 O endereço MAC da máquina não. No entanto, as seguintes informações podem estar disponíveis, dependendo do formato de exeuctável em uso e das opções configuradas no compilador e linker: Caminho completo de onde os arquivos de código-fonte estão armazenados, o que pode conter o nome de usuário da máquina. Versão do compilador e do linker utilizado, seja em texto puro, ou seja por padrões que permitam identificação, como os utilizados pelo DIE. Por exemplo, este arquivo contém a lógica que o DIE utiliza para identificar versões do Visual Studio. Data e hora que o arquivo executável foi gerado (somente em PE). Idioma de resources, o que pode sugerir o idioma do Windows de quem compilou o binário (somente em PE). Em tempo, sempre que postar código aqui, use o botão <> para formatar seu código como código. Olha a diferença: Sem formatação: #include <stdio.h> printf("Olá, mundo!\n"); Com formatação: #include <stdio.h> printf("Olá, mundo!\n"); Valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Carol Martineli Postado Novembro 14, 2022 em 15:40 Autor Compartilhar Postado Novembro 14, 2022 em 15:40 Obrigado Fernando. Muito esclarecedor. 😀 1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.