Introdução às ferramentas de engenharia reversa

O método de engenharia reversa foi originalmente aplicado apenas ao hardware, mas agora também a computadores, bancos de dados e até DNA humano. Na área de segurança cibernética, a engenharia reversa pode ser usada para determinar as especificidades de uma violação de como o invasor acessou a rede e como o sistema foi violado. Os cibercriminosos usam toda a gama de táticas de hackers para penetrar nas redes corporativas por trás do ataque. Ele tem um objetivo específico e tem experiência, inspiração, estrutura e financiamento. Nesse sentido, a engenharia reversa nos ajuda a detectar suas táticas no futuro para evitá-las.

Várias ferramentas de engenharia reversa estão disponíveis no Kali Linux. Aqui estão algumas das ferramentas mais importantes usadas na engenharia reversa do Kali Linux.

Ferramentas para engenharia reversa

1. IDA
A AID se tornou o guia de fato para o estudo de software agressivo, teste de vulnerabilidade e validação de COTS. Isso oferece uma ampla variedade de recursos e funciona muito bem em todas as plataformas, como as plataformas Windows, Linux e Mac OS X. Ele também possui vários plugins que permitem ampliar ainda mais a funcionalidade do desmontador. O IDA 5.0 está disponível gratuitamente no site e pode ser baixado facilmente. Em 2001, o IDA Pro recebeu o 18º prêmio Technical Excellence PC Magazine Awards. Foi um antecessor arquitetônico da Microsoft. Internet.
A principal vantagem desse método é que qualquer aspecto dos dados exibidos pode ser modificado interativamente:
• Forneça os nomes das funções, variáveis, etc.
• Crie diagramas e gráficos de fluxo de código para simplificar o entendimento do código desmontado.
• Use as informações do tipo argumentos da função e as definições da estrutura C ++ para nomear automaticamente argumentos e variáveis.
• Reconhecer e nomear as funções da biblioteca padrão no código de montagem automaticamente.

2. Nudge4j
Nudge4j é um pequeno pedaço de código Java que permite ao usuário acessar seu aplicativo Java. Ele foi projetado para ser usado durante o desenvolvimento para criar um ambiente para testar o software em um aplicativo em execução. Além disso, verificações de regressão e análise de integração para exercitar algumas das principais funcionalidades, você pode manter um snippet de código do Nudge4j antes de enviar para a versão final.
Como se o navegador fosse um controle remoto mais inteligente, o controle do seu programa Java a partir do navegador. Para executar a JVM enviando o código do navegador, teste de software ao vivo.

3. OllyDbg
O OllyDbg é um nível de montador de 32 bits do depurador do Microsoft Windows. O foco da análise de código binário torna especialmente útil onde a origem é inacessível. O OllyDbg é um aplicativo shareware, mas você pode baixá-lo gratuitamente e usá-lo.
Alguns recursos do OllyDbg são apresentados a seguir
1. Análise do código - rastreia registros, detecta comutadores de procedimentos, chamadas de API, tabelas, constantes de loops e seqüências de caracteres.
2. Pesquisar pasta de objeto - localiza objetos e rotinas de biblioteca.
3. Salve os patches entre as sessões, retorne-os aos arquivos executáveis ​​e corrija as atualizações.
4. 3DNow, MMX e instruções para tipos e extensões de dados SSE, incluindo Athlon.
5. Reconhece estruturas complexas, como o convite a um processo.
6. Rastreia a execução do programa, registra argumentos de função conhecidos.
7. Localizando comandos incorretos e mascarando seqüências binárias.
8. Examina e modifica a memória, define pontos de interrupção e interrompe o programa on-the-fly.
9. Insira os patches entre as sessões, restaure-os em arquivos executáveis ​​e corrija as atualizações.

4. Valgrind:
Valgrind é um pacote de criação de perfil e depuração do Linux. Ao eliminar períodos de busca de bugs e tornar os programas mais confiáveis, podemos eliminar os erros de gerenciamento de memória e de segmentação com sua ferramenta. Além disso, perfis detalhados podem ser realizados para acelerar os processos do programa e criar novas ferramentas usando o Valgrind. A distribuição da Valgrind atualmente consiste em seis ferramentas para produção
• Verificação de memória (é um detector de erro de memória)
• DRD e Helgrind (é um detector de erro de duas threads)
Cachegrind (criador de perfil da ramificação e cache)
A indústria de engenharia reversa é vista pelos fabricantes como um meio significativo de manter a concorrência, ou alguns podem considerá-lo um meio de entender as falhas de projeto e retrabalho. No entanto, o Kali Linux nos oferece algumas ferramentas muito importantes e conhecidas para engenharia reversa. Além disso, existem muitas outras ferramentas para engenharia reversa, mas essas ferramentas já estão incluídas e são fornecidas na caixa do Kali Linux.

5. Dex2jar
Uma coleção de ferramentas e bibliotecas que podem ser usadas para melhorar o desenvolvimento do Android. dex e java. arquivos de classe. O Dex2jar inclui uma coleção de bibliotecas Java que simplificam as tarefas de desenvolvimento relacionadas ao Android e simplificam os projetos APK.
Alguns componentes importantes do Dex2jar são os seguintes:

  1. O formato Executável Dalvik (.dex / .odex) destina-se ao dex-reader. Tem uma API semelhante ao ASM no peso leve.
  2. O dex-translator é destinado a fazer o trabalho de conversão. A instrução dex lê o formato do arquivo dex e o converte no formato ASM após a otimização de alguns.
  3. Dex-é usado pelo tradutor dex para representar as instruções para dex.
  4. D2j-smali desmonta o dex para pequeno e monta o dex a partir do smali. Implementação smali / baksmali diferente, mesma sintaxe, mas suportamos o escape do estilo desc "Lcom / dex2jar \ t \ u1234".

6. Androguard
Androguard é principalmente um aplicativo escrito em pythons para jogar com * Dex / Odex (.dex) (desmontar, quebrar), * Ativos Android (.arsc). * XML do Android (.xml) * Dex / Odex (máquina virtual Dalvik), * APK (.apk). Ele também vem com controle python para OSX / Linux / / Windows.
Alguns recursos importantes do Androguard são apresentados a seguir
1. O primeiro descompilador Dalvik nativo (DAD) é descompilado do bytecode para o código-fonte java.
2. Servidor de código aberto do software Android.

Conclusão

Com a ajuda desses dispositivos de engenharia reversa, você desfrutará dos serviços mais modernos, pois significa que você não precisa replicar a pesquisa que mais alguém fez e que você pode escolher um sistema. Portanto, neste artigo, vimos diferentes ferramentas de ferramentas de engenharia reversa. Espero que você ache este artigo útil.

Artigos recomendados

Este é um guia para as Ferramentas de engenharia reversa. Aqui discutimos a introdução e as ferramentas para engenharia reversa. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Engenharia reversa com Python
  2. O que é desenvolvimento de software?
  3. O que é o Nmap?
  4. Instale o Kali Linux
  5. Inverter em JavaScript