Jump to content

Search the Community

Showing results for tags 'ferramentas'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Supporter area
    • Tools of the Trade
    • Finance transparency
  • MBConf
    • MBConf v1
    • MBConf v2
    • MBConf v3
  • Mente Binária
    • General
    • Computer Architecture
    • Certifications
    • Quantum computing
    • Cryptography
    • Challenges and CTF
    • Hardware Hacking
    • Electronics
    • Conferences
    • Forensics
    • Games
    • Data privacy and laws
    • Code breaking
    • Networking
    • Pentest
    • Speak to us!
    • Software releases
  • Career
    • Study and profession
    • Jobs
  • Reverse Engineering
    • General
    • Malware Analysis
    • Firmware
    • Linux and UNIX-like
    • Windows
  • Programming
    • Assembly
    • C/C++
    • Python
    • Other languages
  • Operating Systems
    • GNU/Linux and UNIX-like
    • Windows
  • Segurança na Internet's Discussão

Categories

  • Tech basics
    • Text comprehension
    • English
    • Mathematics
  • Computing Basics
    • Lógica de Programação
    • Computers Architecture
    • Cryptography
    • Data Structures
    • Network
    • Operating Systems
  • Specifics
    • SO Internals
    • Web
    • Python
    • Javascript
    • Infrastructure
    • Go
    • Reverse Engineering
    • DevOps
    • C/C++
    • Log Analysis

Categories

  • Crackmes
  • Documentation
  • Debuggers
  • PE tools
  • Books
  • Util
  • Packers
  • Unpackers
  • Virtual Machines

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


GitHub


Twitter


LinkedIn


Website

Found 6 results

  1. Introdução Há poucas semanas, um amigo comentou que estava buscando automatizar um processo que envolvia buscas por expressões regulares em arquivos binários. Essa tarefa normalmente é realizada com ferramentas de linha de comando específicas (grep, git-grep, ack-grep, ag, ripgrep, ugrep, entre outras), e um script pode invocá-las e fazer o parsing do output. A ripgrep em particular oferece resultados em JSON, o que facilita bastante o processo. Apesar disso, chamar um processo externo e intepretar a saída não é a maneira ideal de incorporar uma funcionalidade em um programa, sendo a mais correta o uso de uma biblioteca, mas surpreendi-me ao perceber que não havia nenhuma que cumprisse tal propósito. E assim nasceu a libag, um fork da ferramenta ag com o objetivo de transformá-la em uma biblioteca para facilitar a incorporação, em outros programas, do recurso de busca avançada no conteúdo de arquivos. Uso e recursos A libag requer as mesmas dependências do ag: liblzma, libpcre e zlib. No Ubuntu (e possivelmente em outras distribuições Debian-like): $ sudo apt install libpcre3-dev zlib1g-dev liblzma-dev Uma vez resolvidas as dependências o processo de build é bastante simples. Basta clonar o repositório: $ git clone https://github.com/Theldus/libag $ cd libag/ e compilar: Makefile $ make -j4 $ make install # Opcional CMake $ mkdir build && cd build/ $ cmake .. -DCMAKE_BUILD_TYPE=Release $ make -j4 O uso da biblioteca é bastante simples e consiste no uso de três funções básicas: ag_init(), ag_search() e ag_finish() (embora funções mais avançadas também estejam disponíveis). Um exemplo mínimo e completo segue abaixo: #include <libag.h> int main(void) { struct ag_result **results; size_t nresults; char *query = "foo"; char *paths[1] = {"."}; /* Initiate Ag library with default options. */ ag_init(); /* Searches for foo in the current path. */ results = ag_search(query, 1, paths, &nresults); if (!results) { printf("No result found\n"); return (1); } printf("%zu results found\\n", nresults); /* Show them on the screen, if any. */ for (size_t i = 0; i < nresults; i++) { for (size_t j = 0; j < results[i]->nmatches; j++) { printf("file: %s, match: %s\n", results[i]->file, results[i]->matches[j]->match); } } /* Free all results. */ ag_free_all_results(results, nresults); /* Release Ag resources. */ ag_finish(); return 0; } Uma vez que a libag possui bindings para Python e Node.js, seguem os mesmos exemplos abaixo: Python: from libag import * # Initiate Ag library with default options. ag_init() # Search. nresults, results = ag_search("foo", ["."]) if nresults == 0: print("no result found") else: print("{} results found".format(nresults)) # Show them on the screen, if any. for file in results: for match in file.matches: print("file: {}, match: {}, start: {} / end: {}". format(file.file, match.match, match.byte_start, match.byte_end)) # Free all resources. if nresults: ag_free_all_results(results) # Release Ag resources. ag_finish() Node.js (sujeito a alterações): const libag = require('./build/Release/libag_wrapper'); libag.ag_init(); r = libag.ag_search("foo", ["."]); r.results.forEach((file, i) => { file.matches.forEach((match, j) => { console.log( "File: " + file.file + ", match: " + match.match + ", start: " + match.byte_start + " / end: " + match.byte_end ); }); }); libag.ag_finish(); Uso "avançado" e pesquisa em arquivos binários O uso básico é como ilustrado acima e representa também as opções padrões do ag. Entretanto, a libag permite um controle fino sobre as opções de busca e também sobre as worker threads. As opções podem ser tunadas a partir da estrutura struct ag_config, que contém uma série de inteiros que representam diretamente o recurso desejado. Opções como num_workers e search_binary_files definem a quantidade de worker threads e habilitam a busca em arquivos binários, respectivamente. Um exemplo mais interessante segue abaixo, vamos localizar arquivos ELF e PE32 que também contenham meu nome de usuário neles: from libag import * pattern = "david"; elf_signature = "^\x7f\x45\x4c\x46"; pe_signature = "^\x4d\x5a"; signatures = elf_signature + "|" + pe_signature; # Enable binary files search config = ag_config() config.search_binary_files = 1 # Initiate Ag library with custom options. ag_init_config(config) # Search. nresults, results = ag_search(signatures, ["dir/"]) if nresults == 0: print("no result found") sys.exit(1) print("{} pe+elf found".format(nresults)) for file in results: print("file: {}".format(file.file)) pe_elf = [] # Add to our list for file in results: pe_elf.append(file.file); ag_free_all_results(results) # Search again looking for pattern nresults, results = ag_search(pattern, pe_elf) if nresults == 0: print("no result found") sys.exit(1) # Show them print("{} binaries found that matches {}".format(nresults, pattern)) for file in results: for match in file.matches: print("file: {}, match: {}, start: {} / end: {}". format(file.file, match.match, match.byte_start, match.byte_end)) # Free all resources. ag_free_all_results(results) # Release Ag resources. ag_finish() A pasta dir/ contém um arquivo ELF, um PE32+, um plaintext e uma imagem .png. Note que o range informado pode ser verificado com dd+hexdump, como segue abaixo: $ file dir/* dir/hello: PE32+ executable (console) x86-64, for MS Windows dir/img.png: PNG image data, 1247 x 711, 8-bit/color RGB, non-interlaced dir/libag.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, with debug_info, not stripped dir/random.txt: ASCII text $ ./elf_pe.py 2 pe+elf found file: dir/libag.so file: dir/hello 1 binaries found that matches david file: dir/libag.so, match: david, start: 90094 / end: 90098 $ dd if=dir/libag.so bs=1 skip=90094 count=5 | hexdump -C 5+0 records in 5+0 records out 5 bytes copied, 2.1437e-05 s, 233 kB/s 00000000 64 61 76 69 64 |david| 00000005 É claro que o exemplo acima é bastante simplório e serve apenas para ilustrar possíveis casos de uso da biblioteca. O processo de "libificação" A escolha do fork do ag foi bem natural: eu já tinha alguma familiaridade com o código fonte do ag e eu já havia brincado com ele alguns meses atrás. Além disso, o código do ag não é tão grande e eu sou um programador C em 99.9% do meu tempo, o que elimina alternativas como ripgrep (Rust) e ugrep (C++). O processo de "libificação" não foi tão complicado: primeiro eu extraí apenas o código fonte do projeto e escrevi meus próprios/novos scripts de build por cima (Makefile e CMake). Depois disso, foi investigar o processo de search original do ag e trazer isso para a minha biblioteca. De forma resumida, o ag original pode ser divido em três grandes etapas: Inicialização Configura o log_level (para propósitos de debug); Inicializa as estruturas de .gitignore (o ag é capaz de ignorar esse tipo de arquivo); Inicializa as opções default da linha de comando; Realiza o parsing das opções de linha de comando; Compila a regex via PCRE; Inicializa os mutexes e as worker threads. Busca O processo de busca e path traversal é realizado por uma única thread, que a partir da lista de paths recuperados via linha de comando invoca a rotina search_dir(), que para cada novo path encontrado o adiciona em uma "work_queue_t" e acorda todas as worker threads (se estiverem dormindo) para recuperar mais trabalhos. O processo de sincronização é feito via mutexes, mas em defesa do maintainer original do ag, um profiling no Intel VTune mostra que o tempo de hold de cada thread é mínímo, o que realmente torna o ag (e libag) escalável com o aumento da quantidade de cores. Resultados Uma vez que uma worker thread (WT) obtém um novo "job", ela então começa a leitura do arquivo: seja via mmap (padrão) ou todo o arquivo de uma só vez. Para buscas de texto literal, a "WT" utiliza os algoritmos de BoyerMoore e de hash para identificação da string. Em caso de expressão regular, utiliza-se a biblioteca PCRE. A decisão dos algoritmos é feita automaticamente, para maior desempenho. À medida que novos resultados são encontrados (para um único arquivo), eles são adicionados em uma lista de matches, definida pelo tipo match_t e ao finalizar a leitura do arquivo os resultados encontrados são impressos na tela, protegidos por um mutex. Salvando os resultados Uma vez obtidos os resultados, entra então a maior "incisão" da libag: interferir no processo de dump dos resultados e salvá-los de forma estruturada e facilmente recuperável posteriormente. Para isso, foi introduzido um vetor de resultados (dinâmico) por WT, que armazena os dados obtidos até o momento. Além disso, a rotina principal das worker threads (search_file_worker()) foi levemente modificada para notificar do término das threads e também permitir facilmente manipular o "start/stop" delas sob demanda. Uma vez que toda a work queue foi preenchida e processada, a rotina de search (da biblioteca) pode resumir sua execução, fazendo o join dos resultados parciais das threads e retornando um "struct ag_search**", que contém uma lista de resultados por arquivo, a string do match, flags e byte de início e fim da ocorrência, algo como: /** * Structure that holds a single result, i.e: a file * that may contains multiples matches. */ struct ag_result { char *file; size_t nmatches; struct ag_match { size_t byte_start; size_t byte_end; char *match; } **matches; int flags; }; Bindings Para facilitar a utilização da libag, o projeto também possui bindings experimentais para Python 2/3 e também Node.js (em desenvolvimento). Python Os bindings para Python foram escritos utilizando o SWIG: um programa que, dado um arquivo de interface, é capaz de gerar um "glue-code" que, quando compilado em conjunto com o código original, funciona como um wrapper/binding para a linguagem em questão. O SWIG gera código compilável para CPython e os tipos não-primitivos (como as duas estruturas introduzidas pela biblioteca) são mapeados via "type-maps". Node.js Embora o SWIG suporte Node.js, ele parece utilizar diretamente a API da v8 engine, que está sempre em constante mudanças, e portanto, o código gerado não compila na última versão estável (v14.17.1 LTS) do Node. Para contornar isso, os bindings para Node.js foram escritos em cima da Node-API, uma API em C (também disponível em C++, com nome de node-addon-api) que oferece um conjunto mínimo de recursos em cima da v8 e que têm como objetivo manter a estabilidade de addons escritos mesmo entre versões distintas do Node e v8. Limitações Ao contrário de programas construídos em cima de uma biblioteca, como o cURL+ libcurl, ag (aparentemente) nunca foi idealizado como tal e portanto o código fonte impõe certas restrições ao adaptá-lo para uma biblioteca, das quais vale destacar: Apenas uma única configuração "global": não é possível (no momento) utilizar opções distintas de search para múltiplos searchs; Uma alternativa a isso é manter múltiplos "ag_config" e setá-los com ag_set_config() antes de cada busca. Esta limitação se deve ao ag utilizar uma única estrutura global para armazenar os parâmetros de linha de comando, estrutura essa utilizada em diversos pontos em todo o código fonte. Uma busca de cada vez: assim como no item anterior, o ag também usa diversas estruturas globais para manter o estado da busca durante um ag_search(), o que impossibilita de utilizar múltiplos searchs simultaneamente. Uma solução temporária foi adicionada com o uso da função ag_search_ts(), que internamente utiliza locks para serializar todas as chamadas a ag_search(). Dentre outros. Qualquer contribuição em pontos como esses e outros é muito bem vinda =). Conclusão Por fim, convido todos a conhecerem a página da libag no GitHub. Trata-se de um projeto de código aberto e, portanto, está aberto a contribuições. Espero que ele possa ser tão útil para mais pessoas quanto está sendo para os que já o utilizam! ~ Theldus signing off!
  2. Depois de muita espera a NSA anunciou oficialmente a inclusão de um debugger no Guidra na sua versão 10.0. Depois de muita discussão sobre esta possibilidade o time de desenvolvimento do framework lançou uma release beta da versão 10.0 ontem! Neste momento o debugger suporta analisar aplicações em userland e consegue debuggar tanto binários Windows quanto Linux (utilizando o gdb neste caso). Para quem quer começar logo de cara o Guidra disponibiliza um tutorial de início rápido em Help -> Guidra Functionality -> Debugger -> Getting Started: Existem várias formas de iniciar o debugger, desde clicando com o Botão direito -> Open With -> Debugger até direto da sua Project Window do Guidra clicando no ícone de "bug" debaixo de "Tool Chest", como mostrado abaixo: Uma vez que a ferramenta é inicializada você deve importar o arquivo a ser depurado para a ferramenta. Uma das formas de fazer isto é simplesmente o arrastando da Project Window. Uma fez carregado podemos ver a cara do mais novo debugger do Guidra: Algumas das funcionalidades são: debugging remoto utilizando GDB e windbg, rodar o debugger direto no programa do qual você está analizando estaticamente e tracing de memória. Além disso ele também conta com as funcionalidades básicas de um debugger como utilização de breakpoints, listagem de regiões de memória mapeadas, estados dos registradores e uma interface de linha de comando própria. Todas as funcionalidades listadas aqui possuem sua própria View, isto é, sua própria janela dentro da ferramenta: Vale lembrar que esta release está em sua versão beta e tem como objetivo principal coletar o feedback da comunidade. Caso queira dar uma testada e/ou dar um feedback pra galera do Guidra basta baixar a release clicando no botão abaixo 😉.
  3. E lá vai mais uma do horsicq! No dia de hoje horsicq, criador de inúmeras ferramentas de análise incluindo o incrível Detect It Easy (DIE), lançou a primeira release do seu novo projeto, um analisador de arquivos MachO chamado XMachOViewer. Para quem já utilizou o DIE vai notar uma grande semelhança no design e usabilidade. Já aquelas que não estão familiarizados com as ferramentas do horsicq (deveriam, sério!) fiquem tranquilos, todas são bem simples e intuitívas de se usar. Ao contrário do DIE o XMachOViewer tem foco exclusivo em binários MachO. Em relação à funcionalidades a ferramenta consegue fazer tudo que o Detect It Easy faz e ainda mais, tudo isso com uma console exclusiva e mais detalhada: Dentre as funcionalidades novas temos a busca por padrões de criptografia (Base64, RSA, etc), muito útil para análise de malware, por exemplo: Name demangling (precisamos dizer o quanto isso é útil? 😄) : E também uma funcionalidade de hashing (por que não, né?): Além disso, devido à natureza interativa da ferramenta ela permite você editar o arquivo diretamente, bastando apenas selecionar o campo que deseja e começar a digitar: A versão 0.01 está pronta para download e com certeza vale uma conferida:
  4. A Hex-Rays surpreendeu todo mundo agora. Liberou a versão mais recente do IDA, a 7.6, no modelo freeware. Só isso já seria muito bom, mas eles foram além: O IDA 7.6 freeware inclui um descompilador online (cloud-based) gratuito! Pois é, pessoas... Parece que a concorrência exercida pelo Ghidra realmente está sendo saudável para a comunidade. Ao disparar o plugin de descompilação (F5), o programa deixa claro que este recurso na versão gratuita suporta somente binários de 64-bits, dentre outros avisos: Ao continuar, a descompilação é concluída e códiogo em pseudo-C é exibido ao lado. Veja o exemplo descompilando o notead.exe nativo do Windows: Os recursos de interação como renomear variáveis e funções no descompilador estão habilitados, uma notícia muito boa para a comunidade! Além do descompilador, a versão 7.6 do IDA freeware inclui: Modo escuro Tá na moda né? E o IDA não ficou de fora. Se você for em Options -> Colors e mudar o Theme para dark, vai ter um visual assim: Organização de dados em pastas Sendo um disassembler interativo, a versão 7.6 oferece a opção de organizar os dados em pastas. Isso vale para vários locais. Um deles é a janela de funções. É possível agora criar pastas e organizar as funções dentro delas. Para isso, basta clicar com o botão direito do mouse na janela de funções e escolher Show folders. Depois é só selecionar as funções desejadas e escolher Create folder with items. E mais: Suporte a binários compilados em Go. Suporte ao novo Apple M1. Rebasing mais rápido. Sincronização entre o descompilador online e o disassembly. Lembando que o disassembler em si suporta binários de 32-bits também (PE, ELF e Mach-O). Só o descompilador que não.
  5. ImHex é um editor hexadecimal gráfico multiplataforma e seu principal objetivo é ajudar na engenharia reversa e programação. O editor conta com inúmeras funcionalidades como por exemplo busca por strings, cópia de bytes em diversos formatos (C string, Python, etc), disassembling, hashing e muito mais. Além disso, o editor possibilita a criação das suas próprias templates para serem mapeadas no editor hexa (baseado em um formato de arquivo, por exemplo) através de uma linguagem de patterns: Dentre as novas funcionalidades adicionadas na nova release estão alguns itens da linguagem de script como por exemplo "alignTo", que alinha um valor com o que você determinar e "nextAfter", que pega o endereço logo depois de uma variável: Esta release também adicionou uma funcionalidade chamada Data Processor, que faz a ferramenta pré-processar os dados do arquivo sendo analisado de forma gráfica antes da análise do visualizador hexadecimal, permitindo a definição de valores e operações em regiões/bytes específicos: Lembrando que o ImHex possui suporte à plugins e não só o Data Processing, mas também outras funcionalidades podem ser estendidas do jeito que você quiser! Também foram adicionadas algumas outras funcionalidades como cores e utilização do teclado, assim como um conversor de base e habilidade de setar um endereço base no editor hexa: A release foi bem grande e com certeza merece uma olhada. Para fazer o download, é só clicar no botão abaixo, que te leva direto para a página de releases do projeto, onde você pode escolher qual versão quer baixar! 😉
  6. -> Espaço dedicado a ferramentas e instrumentações utilizadas no processo de Hardware Hacking; -> Este não é um guia de como utilizar cada ferramenta; -> A organização de um laboratório inicial para Hardware Hacking pode ser um pouco caro. Este tópico procura focar em baratear este custo e evitar gastos desnecessários. -> EM BREVE NOVAS FERRAMENTAS - FIQUE A VONTADE PARA COLABORAR/SOLICITAR NOVOS ITENS NESTA LISTA. [- Multímetro -] [- Ferro de solda, Sugador, Suportes e Estanho -] [- Alicates e Chaves em Geral -] [- Fios e conectores -] [- UART - USB TTL SERIAL -] [- Analisador Lógico -] [- Programador FPGA e Serial Configuration Device -] [- Programador de Memória -] [- MULTÍMETRO -] Com certeza você já ouviu falar sobre o multímetro. Ferramenta quase que obrigatória para testar componentes eletrônicos e circuitos. Voltagem, amperagem, resistência e condutividade, são grandezas elétricas que podemos medir com um Multímetro. Esta ferramenta pode ser do tipo Digital e Analógico. Se você precisa de medições exatas, a recomendação é o uso de um multímetro do tipo analógico. Por ser mais fácil de manusear, os multímetros digitais são mais recomendados para iniciantes. Qual multímetro comprar ? Primeiro é importante levar em consideração o seu perfil. Sabemos que o multímetro digital é recomendado para iniciantes. No entanto, iniciantes podem se depararem com cenários básicos, onde a medição mais detalhada seja necessária. Com o decorrer do tempo, pessoas adquirem multímetros digitais mais caros, que são bem próximos dos analógicos em seu detalhamento. Ou simplesmente, tem os dois tipos. Se você vai adquirir o seu primeiro multímetro, a recomendação é: Compre um Digital. A cara do multímetro Aquela caixinha, em sua grande maioria, de coloração amarela, com um par de fios. Um cabo vermelho e o outro preto. Com uma chave seletora no centro e um display no topo. Este é o perfil do tradicional modelo de multímetro que encontramos com facilidade em nosso mercado. Existem outros modelos de multímetros, modelos estes que vão além da mensuração. Multímetros capazes de identificar automaticamente componentes eletrônicos e seus respectivos valores. Alguns modelos utilizam o chip Atmega328 e são facilmente encontrados no AliExpress, por exemplo. String para consultar sobre este modelo: mega328 m328 lcr-t4. Este dispositivo é bastante eficaz para identificar componentes diretamente na placa e componentes difíceis de identificar a olho nu. Estes componentes são descaracterizados pelos fabricantes para evitar engenharia reversa. [- Ferro de solda, Sugador, Suportes e Estanho -] Ferro de solda Ferramenta utilizada no processo de unir/separar dois componentes metálicos. O ferro de solda aquece e fornece o calor necessário para derreter o material que irá unir dois metais. Este material é conhecido como solda. Geralmente, temos os termos: Ferro de solda - O equipamento, Solda - A substancia utilizada para unir dois metais e Soldagem - A técnica de unir/fixar. Qual ferro de solda comprar ? Primeiramente, assim como outros equipamentos eletrônicos, a tensão. Seu ferro de solda vai ser para 127V ou 220V ? Próximo passo é determinar a voltagem, o quanto o seu ferro de solda vai esquentar. A recomendação para componentes eletrônicos padrões, comummente encontrados no mercado e que provavelmente são iguais ao que você trabalha ou pretende trabalhar, é entre 20W - 60W. No mercado brasileiro, a opção de 40W é a mais ofertada. 40W é um valor bastante interessante, se adapta a ambientes climatizados ou ventilados, perde menos calor. E não é tão quente ao ponto de interferir na soldagem de componentes alojados relativamente próximos uns aos outros. A cara do ferro de solda Bem parecido com uma caneta, com um fio longo. Existem modelos a gás, sem fio e de mesa. Complexas estações de soldagem, também. Alguns ferros de solda apresentam ajuste de voltagem. Sugador Ferramenta utilizada no processo reverso de soldagem. Ele vai te auxiliar a remover a solda, proporcionando o desacoplamento de dois metais. Qual sugador comprar ? Este é um equipamento simples, mas existem alguns detalhes. Podemos encontrar sugadores com proteção estática, por exemplo. Entre as observações com relação a qual sugador comprar, o destaque é para a substituição do bico. Este componente é o que mais desgasta em sugador, por estar em contato com altas temperaturas. Dê preferencia a sugadores que permitem a troca do bico. A cara do sugador De formato cilíndrico, que pode ser engatilhado e disparado para sugar a solda aquecida pelo ferro de solda ou assoprador térmico. Possui um bico plástico. Suportes Este equipamento serve como base protetora para proteger você e o objetos do calor gerado pelo ferro de solda. Qual suporte comprar ? Geralmente, alguns ferros de solda acompanham uma base metálica simples. Que serve como quebra galho. No entanto, a proximidade que o ferro e a superfície base tem no caso dos suportes simples, não os tornam recomendados para a sua segurança. Opte pela base de mesa com suporte em espiral. Assim como você pode observar nas imagens seguintes. A cara do suporte Pode ser uma chapinha de metal, uma base com suporte protetor ou até mesmo uma base sofisticada com braços auxiliares modulares. Solda Substancia metálica utilizada para unir metais e protege-los. Geralmente apresentada no formato de fio/arame. Estanho e chumbo são as substâncias base, em variadas proporções. E encontramos este fio em vários diâmetros. Qual solda comprar Para a maior parte do seu trabalho, você provavelmente irá utilizar estanho de diâmetro 1.0mm. A cara da solda Geralmente vendida em tubinhos ou rolos. É possível comprar porções menores, no metro, por exemplo, em casas do ramo. [- Alicates e Chaves em Geral -] Alicates e chaves nunca são demais. São ferramentas fáceis de encontrar e baratas. De vários tamanhos e marcas. Estas ferramentas são itens indispensáveis em sua oficina. Quais chaves e alicates comprar ? Sem sombra de duvidas, aqueles kits de ferramentas X em 1 que facilmente encontramos em lojas do segmento e até em supermercados. Com o decorrer do seu progresso, algumas chaves específicas irão ser necessárias. A cara das ferramentas e alicates Diversos formatos, diversas formas e várias combinações. [- Fios e conectores -] Utilizado para unir componentes eletrônicos e dispositivos variados. Cabos/fios são itens obrigatórios na caixa de ferramentas. É fácil de encontrar e geralmente são reaproveitáveis. Existem cabos com conectores, por exemplo. Estes são bastante úteis para interligar duas pontas com pinos conectores presentes. Quais fios e conectores comprar ? O mercado é repleto de opções. De inicio, você pode utilizar os fios presentes em cabos UTP, que você irá facilmente encontrar para descarte ou ali, jogado no canto de uma sala. Reutilizar fios é um bom habito. No entanto, muitas vezes precisamos do cabo certo para a conexão certa. Procure sempre pesquisar por alternativas. Procure ter várias opções disponíveis de fios e conectores. O Arduino trouxe ao mercado os jumpers, e é aconselhável tê-los a disposição. A cara dos fios e conectores Provavelmente, em sua pesquisa por fios e conectores, os jumpers irão brotar em sua tela. Vamos observar alguns modelos. [- UART - USB TTL SERIAL -] Interface USB conversora para RS232/RS422/RS485, que serve, por exemplo, para realizar update de dispositivos legado, transferência de dados e interfaceamento MCU/PLD/FPGA. Você irá utilizá-lo em conjunto com um terminal serial, minicom ou putty, por exemplo. Este conversor é conectado ao hardware nas portas “seriais”. Qual UART - USB TTL SERIAL comprar ? Existem vários modelos e fabricantes. No entanto, existem 2 chips principais que são utilizado. O FT232R e o PL2303. Você também pode utilizar um Arduino como interface conversora. A cara do UART - USB TTL SERIAL Como exemplo, duas interfaces com chip PL2303. Uma é uma placa com pinos ea outra, algo meio que integrado, o circuíto é menor e já tem as conexões na extremidade. [- Analisador Lógico -] Ferramenta utilizada para observar sinais digitais e geralmente com mais portas de que um osciloscópio. Bastante utilizado em comunicações seriais e para observar formas de ondas digitais. Qual analisador lógico comprar ? A marca mais utilizada pelos principais players, tipo: Tesla, SpaceX, Google e etc, é a Saleae. Inclusive, é a marca mais copiada pelo mercado paralelo. Você pode iniciar com um clone Saleae, por exemplo. Ele tem 8 canais - 24Mhz de amostragem. A cara do analisador lógico [- Programador FPGA e Serial Configuration Device -] O uso de circuitos integrados FPGA Field Programmable Gate Array é adotado em dispositivos de redes, por exemplo. São circuitos que podem ter vários desenhos, pode operar como uma placa de vídeo, um processador, ou ambos. Tem um custo mais elevado, por isso não é muito comum encontrá-lo em um access point domestico. Mas posso citar um que tem. O AP Dlink DWL 900AP tem um PLD Altera da família MAX3000A. Isso é um forte indicio de implementação IEEE Std. 1532. Qual Programador FPGA e Serial Configuration Device comprar ? Os baratos, que utilizam o chip STM32F101, também conhecidos como USB-BLASTER, são bem fáceis de encontrar. É comum relatos negativos sobre este chip, o STM32F101. Caso procure por algo mais estável, opte por um Terasic USB BLASTER ou um Altera oficial. A cara do Programador FPGA e Serial Configuration Device Modelo barato disponível no mercado. [- Programador de Memória -] Estas ferramentas são necessárias para fazer download e upload de firmwares de I2C EEPROMS e SPI FLASH (25 SPI BIOS e 24 I2C EEPROM). Qual Programador de Memória comprar ? A opção barata e funcional é o programar CH341A. É um chip que emula porta paralela padrão, porta paralela de memória, UART e synchronous serial (I2C, SPI). A cara do programador de Memória O legal do CH341A é a possibilidade de ajustes e conexões disponíveis. <EM BREVE NOVAS FERRAMENTAS - FIQUE A VONTADE PARA COLABORAR/SOLICITAR NOVOS ITENS NESTA LISTA>
×
×
  • Create New...