
MCExtractor r352
Ferramenta de Extração de Microcódigo Intel, AMD, VIA e Freescale
MCExtractor
Intel, AMD, VIA & Freescale - Ferramenta de Extração de Microcódigo
Intel, AMD, VIA & Freescale CPU Microcode Repositories

A. Sobre o MC Extractor
O MC Extractor é uma ferramenta que analisa binários de microcódigo de processadores Intel, AMD, VIA e Freescale. Pode ser utilizado por utilizadores finais que procuram toda a informação relevante do microcódigo, como CPUID, Plataforma, Versão, Data, Lançamento, Tamanho, Checksum, etc. É capaz de converter contentores de microcódigo Intel (dat, inc, h, txt) em imagens binárias para integração na BIOS, detetar microcódigos novos/desconhecidos, verificar a integridade do microcódigo, estado Atualizado/Desatualizado e mais. O MC Extractor também pode ser usado como uma ferramenta de análise de pesquisa com múltiplas estruturas que permitem, entre outros, a análise completa e exibição de informações de todos os Cabeçalhos de microcódigo documentados ou não. Além disso, com a ajuda da sua extensa base de dados, o MC Extractor é capaz de categorizar de forma única todos os microcódigos suportados, bem como verificar se existem microcódigos que ainda não foram armazenados nos Repositórios de Microcódigo.
A1. Características do MC Extractor
- Suporta todos os Microcódigos atuais e legados desde 1995 em diante
- Verifica todos os microcódigos Intel, AMD, VIA & Freescale numa única execução
- Verifica a integridade de todos os microcódigos extraídos através de Checksums
- Verifica se todos os microcódigos Intel, AMD & VIA são os Mais Recentes ou Desatualizados
- Pesquisa sob demanda por todos os microcódigos com base no CPUID
- Mostra estruturas e detalhes do Cabeçalho do microcódigo sob demanda
- Ignora a maioria dos falsos positivos com base em verificações de sanidade
- Suporta microcódigos especiais, corrigidos ou modificados conhecidos
- Capacidade de extrair automaticamente microcódigos Extended da Intel
- Capacidade de extrair automaticamente Contentores Intel (dat, inc, txt, h)
- Capacidade de adicionar rapidamente novas entradas de microcódigo à base de dados
- Capacidade de detetar a tag de Lançamento Produção/Pré-Produção da Intel
- Capacidade de verificar atualizações do MC Extractor e/ou da BD sob demanda
- Capacidade de analisar múltiplos ficheiros por arrastar e soltar ou por caminho de entrada
- Capacidade de ignorar duplicados extraídos com base no nome e conteúdo
- Capacidade de verificar automaticamente versões mais recentes do MC Extractor e da Base de Dados
- Reporta todos os microcódigos que não são encontrados nos Repositórios de Microcódigo
- Possui parâmetros de linha de comandos para melhorar a funcionalidade e auxiliar a pesquisa
- Apresenta mensagens amigáveis ao utilizador e tratamento adequado de erros inesperados de código
- Mostra resultados em tabelas bonitas com texto colorido para significar ênfase
- Projeto Open Source sob licença permissiva, código com comentários auxiliares
A2. Base de Dados do Repositório de Microcódigo
O MC Extractor permite que utilizadores finais e/ou investigadores extraiam, visualizem, convertam e reportem rapidamente novas versões de microcódigo sem o uso de ferramentas especiais ou Editores Hex. Para isso de forma eficaz, uma base de dados teve de ser construída. O Intel, AMD, VIA & Freescale CPU Microcode Repositories é uma coleção de todos os Microcódigos de CPU Intel, AMD & VIA Mais Recentes de Produção que encontrámos. A sua existência é muito importante para o MC Extractor, pois permite-nos continuar a fazer pesquisa, encontrar novos tipos de microcódigo, comparar lançamentos para semelhanças, verificar binários atualizados etc. Incluído com o MC Extractor está um ficheiro chamado MCE.db, que é necessário para o programa funcionar. Inclui entradas para todos os binários de Microcódigo que estão disponíveis para nós. Isto acomoda principalmente duas ações: a) Verificar se o microcódigo importado está atualizado e b) Ajudar a encontrar novos lançamentos de Microcódigo mais cedo, reportando-os no tópico de discussão Intel, AMD, VIA & Freescale CPU Microcode Repositories Discussion.
A3. Fontes e Inspiração
O MC Extractor foi inicialmente baseado numa fração da ferramenta UEFIStrip do Lordkag, por isso, antes de mais, agradeço-lhe por todo o seu trabalho que inspirou este projeto. Entre outros, ótimos locais para aprender sobre microcódigos são o próprio site de download da Intel e documentação oficial, Intel Microcode Patch Authentication, Coreboot (a,b,c), Microparse por Dominic Chen, Notas e Pesquisa de Ben Hawkes, Microdecode de Richard A Burton, Dumps CPUID AIDA64, Sandpile CPUID, Free Electrons (a, b), Freescale (a, b, c, d) e muitos outros que posso ter esquecido mas que estariam aqui caso contrário.
B. Como usar o MC Extractor
Existem duas formas de usar o MC Extractor, o script MCE e a linha de comandos. O script MCE permite-lhe inserir ou arrastar e soltar um ou mais firmwares e visualizá-los um a um ou analisar recursivamente diretórios inteiros. Para usar o MC Extractor manualmente, pode ser usada uma linha de comandos com -skip como parâmetro.
B1. Script do MC Extractor
Para usar o MC Extractor, selecione um ou vários ficheiros e insira ou arraste e solte-os no seu script. Também pode inserir certos parâmetros opcionais executando o MCE diretamente ou soltando primeiro um ou mais ficheiros nele. Tenha em mente que, devido a limitações do sistema operativo, existe um limite de quantos ficheiros podem ser soltos de uma só vez. Se isso for um problema, pode sempre usar o parâmetro -mass para analisar recursivamente diretórios inteiros, conforme explicado abaixo.
B2. Parâmetros do MC Extractor
Existem vários parâmetros que melhoram ou modificam o comportamento padrão do MC Extractor:
- -? : Exibe ecrã de ajuda e utilização
- -skip : Ignora ecrã de boas-vindas e opções
- -exit : Ignora a solicitação "Prima Enter para sair"
- -mass : Analisa todos os ficheiros de um determinado diretório
- -info : Exibe informações da estrutura do microcódigo
- -add : Adiciona microcódigo de entrada à BD, se novo
- -dbn : Renomeia o ficheiro de entrada com base no nome único da BD
- -duc : Desativa a verificação automática de atualizações do MCE e BD
- -search : Pesquisa microcódigos com base no CPUID/Modelo
- -last : Mostra o estado "Último" com base na entrada do utilizador
- -repo : Constrói repositórios de microcódigo a partir da entrada
- -blob : Constrói um Microcode Blob (MCB) a partir da entrada