Dúvidas sobre Windows

Bom dia pessoas!

  1. Em qual linguagem o Windows é escrito? Ela mudou recentemente?

  2. O que define o Windows como sistema fechado? É impossível ler seus códigos?

  3. Pq quando abro um .exe como texto não consigo entender? .exe, .msi…

  4. O que é um arquivo binário? É uma conversa máquina para máquina?

  1. Se estiver se referindo ao kernel e as utilizades principais, acredito que em diversas linguagen, mas principalmente C, C++, Assembly e C#.

  2. O Windows em si é proprietário, o código só está disponível por meio de Iniciativa de Compartilhamento de Código. Eles entregam binários, que não podem ter sua fonte verificada. Contudo, eles trabalham com o esquema que praticamente toda empresa grande trabalha, se o software pode receber algumas alterações positivas e não faz parte da parte essencial do sistema que possa comprometer a Segurança por Obscuridade, eles abrem e aceitam contribuições. Recomendo ver esses projetos livres dela.

  3. Ele é um arquivo que não está em modo texto, ou seja, está em binário. Para ver o que há nele use um visualizador ou editor hexadecimal. Contudo, provavelmente você não conseguirá lê-lo pois a linguagem de computador é bem complexa.

  4. Eu particularmente recomendo esse vídeo do Fábio Akita. Ele explica muito bem a diferença.

2 curtidas

Segundo Axel Rietschin um engenheiro da Microsoft envolvido diretamente no desenvolvimento do Windows

As partes mais antigas e o Kernel C, mais recentemente C++ entrou também, para aplicações o leque é maior, tendo VB.NET (em desuso), C#, Javascript (sendo substituído por TypeScript), e C++ também, curioso como segundo ele não tem apps escritos em C

Basicamente por 2 motivos: você não tem acesso ao código fonte e você não pode redistribuir o Windows legalmente mesmo se a ISO estiver intacta você não pode redistribuir ela, isso acontece porque você compra o direito de usar o Windows

Devido a codificação, um .exe tem muitos caracteres que não são imprimiveis (ou seja, invisíveis, é diferente de caracteres de espaço), especialmente o \0 (não confundir com 0), no Linux (não sei se tem no Windows) existe um utilitário que remove todos os caracteres não imprimiveis deixando apenas os que dão pra ser visualizados, ele se chama strings, no entanto como o @marshallishere disse vc pode transformar esses caracteres em caracteres visíveis em um editor hexadecimal

Como o vídeo do Akita sugerido pelo @marshallishere vai dizer, nada mais é que um arquivo com caracteres especiais que não são usados pra escrever texto, não tem muito mistério nisso

5 curtidas

“não podem” mesmo? Ser verificadas. Ler é possível?

@marshallishere vlw mesmo pela resposta!

Massa!
Mas, discordo de sua conclusão.
Vi o vídeo, claro: x=2⁷

:kissing_heart: obrigado pelas refs, tava tentando lembrar onde li essa língua TypeScript.

A não ser que você tente fazer engenharia reversa, o que é bem trabalhoso.

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.