Engenharia Reversa

Embed Size (px)

DESCRIPTION

Engenharia reversa

Citation preview

  • 3.1 Tcnicas e ferramentas de decompilao de programas.3.2 Debuggers.

    Lcio Camilo

    Perito Polcia Federal 2013Lcio Camilo [email protected]

  • Bibliografia

    Engenharia Reversa para iniciantes: http://docs.google.com/Present?

    docid=ddd3j862_29grq4sx&fs=true http://1bit.com.br/ http://www.caloni.com.br/blog http://www.sawp.com.br/ Reversing: Secrets of Reverse Engineering,

    Eldad Eilam

    Lcio Camilo

  • Lcio Camilo

    Contextualizao

    Decompilao ou Descompilao =

    produzir a partir de um executvel um programa fonte em linguagem de alto-nvel que, quando compilado, tem a mesma funcionalidade que o executvel original.

    "realizar a operao inversa de um compilador, transformando cdigo objeto em cdigo fonte"

    Engenharia Reversa = consiste em a partir de uma soluo pronta, extrair todos os conceitos empregados para sua construo

  • Lcio Camilo

    O que Engenharia Reversa?

    Processo de extrair conhecimento a partir de alguma coisa j criada.

    Similar pesquisas cientifcas, porm na engenharia reversa trabalha-se com produtos fabricados pelos humanos e na pesquisa cientfica so fenmenos naturais.

    Utilizada para obter conhecimento perdido ou inexistente.

    "Dissecar" produtos e descobrir os segredos por trs destes.

  • Lcio Camilo

    Engenharia Reversa no Contexto de Software?

    Ao contrrio dos demais processos de Engenharia Reversa, neste caso contamos apenas com a mente humana e uma CPU.

    Processo puramente virtual.

    Requer uma combinao de conhecimentos tais como programao, anlise lgica, instrues de hardware entre outras.

  • Lcio Camilo

    Engenharia Reversa - Categorias

    1. Seguranaa. Softwares Maliciosos

    Utilizam engenharia reversa tanto para encontrar vulnerabilidades quanto para corrigir problemas (Empresas Antivirus).

    b. Reverso de Algoritmos Criptogrficosc. Direitos Autoraisd. Auditoria de Cdigo Binrio

    Objetivam descobrir se o software apresenta algum risco de utilizao

    2. Desenvolvimento de Softwarea. Adquirir interoperabilidade com Software Proprietriob. Desenvolvendo Softwares Competitivosc. Avaliar qualidade e robustez de softwares

  • Anlise Offline - Este tipo de anlise no leva em considerao a execuo do cdigo. Muito utilizado para descobrir pedaos especficos do cdigo, por exemplo locais aonde feito a checagem de existncia de licena ou de chave de registro.Observa-se apenas o cdigo, e no o fluxo de dados do programa.

    Anlise Online - Alguns casos quando o cdigo sofre um tratamento para no ser visvel atravs de engenharia reversa, a anlise offline no produz resultados, sendo necessrio a observao do cdigo em execuo.Atravs desta anlise possvel descobrir o comportamento do programa e o fluxo de controle e dados existentes.

    Lcio Camilo

    Mtodos de Anlise

  • Disassemblers - Ferramentas mais importantes na anlise

    OFFLINE de cdigo; Decodificam o cdigo binrio em cdigo

    assembly (de acordo com a plataforma); No assembly cada comando equivale a uma

    instruo de computador; Montador o programa responsvel por

    converter o assembly em cdigo de mquina. Disassembler faz o trabalho inverso do

    montador.

    Lcio Camilo

    Ferramentas - Disassemblers

  • Lcio Camilo

    Assembly = Linguagem de ProgramaoAssembler = Compilador de Programas Assembly

    No Confundir !!!

    Assembly no uma linguagem apenas, um conjunto de linguagens, aonde cada plataforma possui um conjunto especfico de instrues Assembly que um pouco diferente dos demais.

  • Disassemblers IDA-PRO ILDasm

    Debuggers (Depuradores) User-Mode

    OllyDbg WinDbg IDA PRO PEBrowse Professional Interative

    Kernel Mode WinDbg Numega SoftIce Syser Debugger

    Ferramentas

  • Principal ferramenta utilizada para engenharia reversa;

    Compe uma srie de ferramentas e sua interface se assemelha a uma IDE;

    Suporta uma variedade de arquitetura de processadores (IA-32, IA-64, Itanium, AMD64);

    Implementa todo o fluxograma de execuo baseado nas condies de desvio;

    Lcio Camilo

    Ferramenta - Interative Disassembler - IDA PRO

  • Ferramenta paga, com suporte a uma variedade de arquivos executveis.

    Produz grficos que mostram quais funces chamam API`s ou funes internas

    Lcio Camilo

    Ferramenta - Interative Disassembler - IDA PRO

  • Disassembler para a Microsoft Intermediate Language, que a linguagem de baixo nvel utilizada em linguagens como .NET;

    Fundamental para reverter aplicaes .NET;

    Lcio Camilo

    Ferramenta - ILDasm

  • Debuggers - Ferramentas utilizada para localizar e corrigir

    erros do programa em tempo de execuo; Possibilita verificar comportamento do

    programa em tempo de execuo, tais como dados na memria, registradores e pilha de execuo;

    Utilizada na anlise ONLINE. Podem ser divididos em USER-MODE ou

    KERNEL-MODE.

    Lcio Camilo

    Ferramentas - Debuggers

  • 1. Poderosa Ferramenta Disassembler2. Breakpoints de Software e Hardware3. Visualizao de Registro e Memria4. Informaes sobre processos

    Lcio Camilo

    Funcionalidades - Debuggers

  • User-Mode - Operam com restrio dentro do Sistema

    Operacional; S podem analisar um processo por vez; No executam e no acessam

    componentes do sistema operacional, tarefas administrativas ou dispositivos que utilizam drivers.

    Vantagem: Fcil configurao e utilizao

    Lcio Camilo

    Modo de Operao - Debuggers

  • Debugger mais conhecido no mercado (user-mode);

    Permite reescrever o cdigo Assembly de um programa e remont-lo com um nico clique;

    Permite identificar blocos de instrues, loops, desvios, jumps e estruturas de cdigos;

    Gratuito e atua em modo usurio; Funciona como Debugger e Disassembler.

    Lcio Camilo

    Ferramentas - OllyDbg

  • Debugger distribudo pela Microsoft; Utilizado por usurios de Windows (grande

    integrao); Opera tanto em User-Mode quanto em Kernel

    Mode, porm para ser executado em Kernel Mode precisa ser em um sistema operacional separado remotamente.

    No permite alterao Online do cdigo.

    Lcio Camilo

    Ferramenta - WinDbg

  • Oferece vrias vises contendo informaes sobre o processo;

    Possue funcionalidades para programas .NET

    Lcio Camilo

    Ferramenta - PEBrowse Professional Interative

  • Kernel-Mode - Utilizado em programas que possuem

    chamadas ao sistema operacional ou bibliotecas dinmicas ou dispositivos de hardware;

    Permitem controle ilimitado sobre o binrio analisado, permitindo um controle sobre todo o comportamento do sistema operacional;

    Utilizado principalmente por desenvolvedores e programadores de sistemas operacionais, de drivers ou componentes de SO;

    Risco de desestabilizar o SO. Alguns podem oferecer funcionalidade user-

    mode.Lcio Camilo

    Modo de Operao - Debuggers

  • Debugger que atua em Kernel Mode; Recomendado para desenvolvedores de Drivers

    Windows; Diferente das outras ferramentas que atuam em

    modo kernel, possibilita fazer inspeo no SO local.

    Lcio Camilo

    Ferramenta - SoftICE

  • Curiosidade: SoftICE -> ICE = In Circuit Emulator

  • Debugger que atua em Kernel Mode e baseado no SoftIce.

    Recomendado para desenvolvedores de Drivers;

    Lcio Camilo

    Ferramenta - Syser Debbuger

  • A utilizaco de debuggers de Kernel Mode possibilita a interrupo do Sistema Operacional de forma simples.A utilizao de Ambientes virtuais recomendada a fim de manter um sistema isolado e dedicado para o debugger.Atravs da simulao de hardwares possvel testar o programa em diferentes hardwares atravs dos ambientes virtuais.Facilita o Backup e a recuperao em caso de falha.

    Lcio Camilo

    Ambiente Virtual

  • Objetivam produzir um cdigo to alto nvel quanto o cdigo fonte original;

    Processo de compilao sempre remove alguma informao;

    O resultado da decompilao vai depender da tecnologia e da arquitetura utilizadas;

    Diferena entre Decompilador e Disassembler?

    Lcio Camilo

    Decompiladores

  • IA-32 (Intel Architecture 32 bits) Boomerang Andromeda DCC

    Java JAD

    Lcio Camilo

    Decompiladores

  • BnusFerramentas de Monitorao de SistemasTcnicas Anti Engenharia Reversa

  • Observam os canais de I/O que existem entre a aplicao e o Sistema Operacional;

    Muitas vezes a engenharia reversa possvel apenas atravs destas ferramentas;

    Diferentes tipos de ferramentas para monitorao de acordo com a necessidade.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • FileMon Monitora todo o trfego de filesystem entre

    aplicao e sistema operacional, e pode verificar todo o I/O de arquivos gerado pelos processos;

    Com esta ferramenta podemos ver cada arquivo ou diretrio que aberto, bem como cada operao de read, write e execute de qualquer processo do sistema.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • TCPView Monitora todas as conexes TCP ou UDP

    ativas em cada processo; No mostra o trfego atual, apenas uma

    listagem com quais conexes esto abertas, por quais processos, o tipo de conexo (TCP ou UDP), o nmero da porta e o endereo do sistema no outro ponto.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • TDIMon (Traffic Device Interface) Similar ao TCPView, porm pode monitorar

    as conexes TCP em diferentes nveis; Prov informao sobre qualquer operao a

    nvel de socket, incluindo envio e recebimento de pacotes.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • RegMon Monitora o acesso de qualquer processo ou

    programa as informaes do Registro. Muito til para localizar chaves de Registro

    mantidas por programas.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • PortMon Monitor de portas fsicas que age sobre

    qualquer trfego I/O serial ou paralelo no sistema.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • WinObj Apresenta uma viso hierrquica do

    namespace utilizado pelo programa. Utilizado para identificar sincronizao de

    objetos e verificar objetos globais, tais como dispositivos fsicos.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • Process Explorer Pode monitorar processos, DLL`s carregadas

    e seus espaos de endereos, CPU, memria, entre outras informaes sobre os processos.

    Lcio Camilo

    Ferramentas de Monitorao de Sistemas

  • 1. Eliminar Informao Simblica Eliminar qualquer informao textual que possa trazer algum

    significado como nome de classes ou de variveis.2. Ofuscar o Programa

    Nome genrico para um conjunto de tcnicas que visam reduzir as chances de coletar informaes em anlises estticas mantendo as funcionalidades originais. Ao contrrio da Eliminao Simblica, esta altera a estrutura do programa (aps a compilao).

    3. Embutir Cdigo AntiDebugger Voltado para dificultar anlise online, de forma que o

    reversor no descubra informaes sobre o comportamento interno. Envolve terminar o programa em caso de tentativa de debugger.

    Lcio Camilo

    Tcnicas Anti Engenharia Reversa

  • 4. Confundir Disassemblers Insere informaes incorretas no incio da instruo para

    que o disassembler se perca no processo.5. Transformaes no Controle de Fluxo

    Consiste em alterar a ordem e o fluxo de um programa para reduzir a legibilidade ao gerar o Assembly. Remove o fluxo de informao e adiciona outra declarao de controle.

    6. Transformaes de Dados Encriptam tanto os dados quanto a estrutura do programa.

    Trata de um processo importante, pois geralmente identificar uma estrutura de dados um dos passos fundamentais para entender o funcionamento do programa.

    Lcio Camilo

    Tcnicas Anti Engenharia Reversa

  • o processo de alterar o cdigo de forma a modificar seu comportamento.

    Est relacionado engenharia reversa pois geralmente ocorre aps uma reverso de cdigo, de forma a descobrir a posio de cdigo que deve ser alterada.

    Ferramenta: Hex Workshop

    i. Permite correo em arquivos e at mesmo em discos inteiros.

    ii. No permite o disassembler e o assembler do cdigo.

    Lcio Camilo

    Patching Tools

  • Questes Comentadas

  • No processo de engenharia reversa de arquivos, a normalizao tem por funo reagrupar informaes de forma a eliminar redundncias de dados e permitir a obteno de um modelo ER.

    Certo Errado

    Questo 01 - CESPE - 2004 - Polcia Federal - Perito Criminal Federal - Informtica

    Lcio Camilo

  • No processo de engenharia reversa de arquivos, a normalizao tem por funo reagrupar informaes de forma a eliminar redundncias de dados e permitir a obteno de um modelo ER.

    Certo Errado

    Normalizao consiste justamente em eliminar as redundncias de um esquema.

    Questo 01 - CESPE - 2004 - Polcia Federal - Perito Criminal Federal - Informtica

    Lcio Camilo

  • Um dos usos da engenharia reversa de software auditar um programa para avaliar sua segurana, bem como as vulnerabilidades do mesmo. Com relao aos descompiladores e desmontadores, assinale a alternativa correta.

    a) Uma das diferenas entre descompiladores e desmontadores que os primeiros geram fontes em linguagem de mais alto nvel.

    b) Desmontadores so categorizados como ferramentas de anlise dinmica de cdigo; sendo assim, so usados durante a execuo dos programas.

    c) A anlise dinmica uma abordagem mais complicada que a esttica, j que no se consegue determinar como os dados fluem pelo sistema.

    d) Os descompiladores esto entre as ferramentas usadas tanto para a anlise dinmica como para a anlise esttica de cdigo.

    e) Cdigo produzido por desmontadores mais fcil de ser entendido por humanos que cdigo produzido por descompiladores.

    Questo 02 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Um dos usos da engenharia reversa de software auditar um programa para avaliar sua segurana, bem como as vulnerabilidades do mesmo. Com relao aos descompiladores e desmontadores, assinale a alternativa correta.

    a) Uma das diferenas entre descompiladores e desmontadores que os primeiros geram fontes em linguagem de mais alto nvel.

    b) Desmontadores so categorizados como ferramentas de anlise dinmica esttica de cdigo; sendo assim, so usados durante a execuo dos programas.

    c) A anlise dinmica uma abordagem mais complicada que a esttica, j que no se consegue determinar como os dados fluem pelo sistema.

    d) Os descompiladores esto entre as ferramentas usadas tanto para a anlise dinmica como para a anlise esttica de cdigo.

    e) Cdigo produzido por desmontadores mais fcil de ser entendido por humanos que cdigo produzido por descompiladores.

    Questo 02 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Um desmontador ou disassembler um programa de computador que converte cdigo de mquina em uma representao textual. A diferena entre um desmontador e um descompilador que este ltimo reverte a compilao em uma linguagem de alto nvel, enquanto o primeiro reverte em uma linguagem de montagem (Assembly).O cdigo fonte em linguagem de montagem geralmente contm constantes simblicas, comentrios e rtulos de endereamento que so normalmente removidos do cdigo de mquina gerado. Assim, o desmontador consegue reverter apenas parcialmente o processo de montagem, pois o cdigo fonte produzido no ir conter essas constantes e comentrios. Por causa disso, o cdigo produzido por um desmontador mais difcil de entender (para um humano) que o cdigo fonte original, com suas anotaes.

    Questo 02 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Com relao s ferramentas utilizadas em engenharia reversa de sistemas, assinale a alternativa correta.

    a) A ferramenta OllyDbg pode ser usada para fazer correes ou patching em executveis.

    b) Uma das deficincias do PEview est no fato de que o programa mostra apenas os dados brutos no formato hexadecimal e no os valores correspondentes no formato texto.

    c) O Process Explorer uma ferramenta para disassembler esttico e dinmico, e tambm cria patches.

    d) Entre as ferramentas que suportam leitura e escrita em baixo nvel de arquivos, mas no suportam trabalhar com parties de discos rgidos, est o Hex Workshop.

    e) OllyDbg, WinDbg, IDA e OctEditor conseguem tambm monitorar o boot do sistema operacional.

    Questo 03 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Com relao s ferramentas utilizadas em engenharia reversa de sistemas, assinale a alternativa correta.

    a) A ferramenta OllyDbg pode ser usada para fazer correes ou patching em executveis.

    b) Uma das deficincias do PEview est no fato de que o programa mostra apenas os dados brutos no formato hexadecimal e no os valores correspondentes no formato texto.

    c) O Process Explorer uma ferramenta para disassembler esttico e dinmico, e tambm cria patches. ferramenta para monitorao de processos

    d) Entre as ferramentas que suportam leitura e escrita em baixo nvel de arquivos, mas no suportam trabalhar com parties de discos rgidos, est o Hex Workshop. trabalha com dados nativos inclusive

    e) OllyDbg, WinDbg, IDA e OctEditor conseguem tambm monitorar o boot do sistema operacional. OllyDbg user-mode.

    Questo 03 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Diferena entre debugger e disassembler:

    Debuggers so programas que analisam, depuram e testam aplicaes. Sua principal utilidade na identificao e tratamento de erros. possvel rodar linha por linha do cdigo e analisar a mudana das variveis e do comportamento do cdigo. Os debuggers para binrios precisam ter um disassembler embutido para decodificar as instrues. Ou seja, transformar o cdigo-objeto em linguagem assembly.

    Disassembler um programa que consegue transformar linguagem de mquina para a linguagem assembly, transcrevendo as instrues enviadas ao processador para os seus mnemnicos em assembly (asm).

    O OllyDbg um dos mais poderosos debuggers (incluindo um disassembler) disponveis no mercado, alm de ser gratuito, e opera em User-Mode apenas.

    Questo 03 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Em muitos casos, desejvel criar softwares com proteo contra reverso de cdigo, ou seja, desenvolver programas que apliquem tcnicas antiengenharia-reversa. Assinale a alternativa que apresenta somente exemplos dessas tcnicas.

    a) transformaes de dados, confuso de registradores, tcnicas ativas de antidebugging.

    b) ofuscao de cdigo, eliminao de informao simblica, uso de rvores transversais.

    c) transformaes no controle de fluxo, transformaes de dados, ofuscao e encriptao de cdigo.

    d) encriptao de cdigo, bloqueio de acesso memria, confuso de disassemblers.

    e) varredura linear recursiva, tcnicas ativas de antidebugging, transformaes no controle de fluxo.

    Questo 04 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Em muitos casos, desejvel criar softwares com proteo contra reverso de cdigo, ou seja, desenvolver programas que apliquem tcnicas antiengenharia-reversa. Assinale a alternativa que apresenta somente exemplos dessas tcnicas.

    a) transformaes de dados, confuso de registradores, tcnicas ativas de antidebugging.

    b) ofuscao de cdigo, eliminao de informao simblica, uso de rvores transversais.

    c) transformaes no controle de fluxo, transformaes de dados, ofuscao e encriptao de cdigo.

    d) encriptao de cdigo, bloqueio de acesso memria, confuso de disassemblers.

    e) varredura linear recursiva, tcnicas ativas de antidebugging, transformaes no controle de fluxo.

    Questo 04 - FUNIVERSA - 2012 - PC-DF - Perito Criminal - Informtica

    Lcio Camilo

  • Identifique as alternativas corretas a respeito de engenharia reversa.

    1. Descompiladores so usados para obter o cdigo fonte de um software a partir de seu cdigo binrio.2. Ofuscadores de cdigo efetuam a cifragem de cdigos binrios de programas com o intuito de impedir a sua descompilao.3. Atravs de tcnicas de engenharia reversa, possvel obter diagramas UML de um programa a partir de seu cdigo fonte.4. Descompilao de cdigo e esteganografia so duas tcnicas frequentemente usadas para realizar a engenharia reversa de sistemas computacionais.

    Assinale a alternativa que indica todas as afirmativas corretas.a) So corretas apenas as afirmativas 1 e 3.b) So corretas apenas as afirmativas 1 e 4.c) So corretas apenas as afirmativas 2 e 3.d) So corretas apenas as afirmativas 1, 2 e 4.e) So corretas apenas as afirmativas 2, 3 e 4.

    Questo 05 - FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual - Parte III - Tecnologia da Informao

    Lcio Camilo

  • Identifique as alternativas corretas a respeito de engenharia reversa.

    1. Descompiladores so usados para obter o cdigo fonte de um software a partir de seu cdigo binrio.2. Ofuscadores de cdigo efetuam a cifragem de cdigos binrios de programas com o intuito de impedir a sua descompilao.3. Atravs de tcnicas de engenharia reversa, possvel obter diagramas UML de um programa a partir de seu cdigo fonte.4. Descompilao de cdigo e esteganografia so duas tcnicas frequentemente usadas para realizar a engenharia reversa de sistemas computacionais.

    Assinale a alternativa que indica todas as afirmativas corretas.a) So corretas apenas as afirmativas 1 e 3.b) So corretas apenas as afirmativas 1 e 4.c) So corretas apenas as afirmativas 2 e 3.d) So corretas apenas as afirmativas 1, 2 e 4.e) So corretas apenas as afirmativas 2, 3 e 4.

    Questo 05 - FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual - Parte III - Tecnologia da Informao

    Lcio Camilo

  • 1 - OK2 - Os ofuscadores cifram o cdigo fonte3 - OK. o que fazem programas como o Together, Power Architect, etc.4 - Esteganografia (do grego "escrita escondida") o estudo e uso das tcnicas para ocultar a existncia de uma mensagem dentro de outra. Em outras palavras, esteganografia o ramo particular da criptologiaque consiste em fazer com que uma forma escrita seja camuflada em outra a fim de mascarar o seu verdadeiro sentido.

    importante frisar a diferena entre criptografia e esteganografia. Enquanto a primeira oculta o significado da mensagem, a segunda oculta a existncia da mensagem.

    Questo 05 - FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual - Parte III - Tecnologia da Informao

    Lcio Camilo

  • Gabarito1. CERTO2. A 3. A4. C5. A

  • Questes para Estudo

  • A engenharia reversa pode ser feita atravs de vrias metodologias de anlises, entre elas a anlise estatstica e probabilstica.

    Certo Errado

    Questo 01

    Lcio Camilo

  • A engenharia reversa pode ser feita atravs de vrias metodologias de anlises, entre elas a anlise estatstica e probabilstica.

    Certo Errado

    A engenharia reversa pode ser feita atravs das anlises OffLine ou anlise OnLine, tambm podem ser chamadas respectivamente de esttica e dinmica.

    Questo 01

    Lcio Camilo

  • Debuggers so ferramentas utilizadas na anlise dinmica, enquanto disassemblers so utilizados na anlise esttica.

    Certo Errado

    Questo 02

    Lcio Camilo

  • Debuggers so ferramentas utilizadas na anlise dinmica, enquanto disassemblers so utilizados na anlise esttica.

    Certo Errado

    Debuggers = anlise dinmica ou Online - avaliam o comportamentoDisassemblers = anlise esttica ou Offline - avaliam o cdigo.

    Questo 02

    Lcio Camilo

  • Ferramentas disassembler convertem o cdigo binrio em uma representao em assembler.

    Certo Errado

    Questo 03

    Lcio Camilo

  • Ferramentas disassemblers convertem o cdigo binrio em uma representao textual em assembler.

    Certo Errado

    Assembler o compilador da linguagem Assembly

    Questo 03

    Lcio Camilo

  • ACPU l o cdigo de mquina, que nada mais do que seqncias de bits que contm uma lista de instrues para a CPU executar. Linguagem Assembly simplesmente uma representao textual destes bits, que so nominados apenas para que sejam legveis.

    Certo Errado

    Questo 04

    Lcio Camilo

  • A CPU l o cdigo de mquina, que nada mais do que seqncias de bits que contm uma lista de instrues para a CPU executar. Linguagem Assembly simplesmente uma representao textual destes bits, que so nominados apenas para que sejam legveis.

    Certo Errado

    Cdigo de mquina e a linguagem Assembly so duas formas de representar a mesma informao. Em vez de nmeros hexadecimais enigmticos podemos olhar a instruo textual sendo nomes como MOV (Move), XCHG (Exchange), e assim por diante.

    Questo 04

    Lcio Camilo

  • Alguns disassemblers funcionam tanto em user-mode quanto em kernel-mode.

    Certo Errado

    Questo 05

    Lcio Camilo

  • Alguns disassemblers funcionam tanto em user-mode quanto em kernel-mode.

    Certo Errado

    Disassemblers so ferramentas de anlise esttica. Debuggers que avaliam o fluxo de informao de um sistema so as ferramentas que podem operar tanto em user-mode (com restries de execuo) quanto em kernel-mode (com acesso ilimitado ao sistema operacional)

    Questo 05

    Lcio Camilo

  • essencial que as ferramentas debuggers incluam a funcionalidade principal de um disassembler, que de reverter o cdigo binrio para um cdigo em linguagem de montagem.

    Certo Errado

    Questo 06

    Lcio Camilo

  • essencial que as ferramentas debuggers incluam a funcionalidade principal de um disassembler, que de reverter o cdigo binrio para um cdigo em linguagem de montagem.

    Certo ErradoAlgumas das principais funcionalidades de debuggers:

    1. Poderosa Ferramenta Disassembler2. Breakpoints de Software e Hardware3. Visualizao de Registro e Memria4. Informaes sobre processos

    Questo 06

    Lcio Camilo

  • Algumas ferramentas realizadas para anlise esttica na engenharia reversa so IDA-PRO e ILDasm

    Certo Errado

    Questo 07

    Lcio Camilo

  • Algumas ferramentas realizadas para anlise esttica na engenharia reversa so IDA-PRO e ILDasm

    Certo Errado

    Questo 07

    Lcio Camilo

  • A Linguagem Assembly possui um conjunto de instrues comuns para todas as arquiteturas de computadores.

    Certo Errado

    Questo 08

    Lcio Camilo

  • A Linguagem Assembly possui um conjunto de instrues comuns para todas as arquiteturas de computadores.

    Certo ErradoAs instrues Assembly so especficas para cada arquitetura de processador, ex IA-32, Sparc, etc.

    Questo 08

    Lcio Camilo

  • Enquanto debuggers que funcionam em Kernel mode possuem acesso ilimitado inclusive ao sistema operacional, debuggers user- mode possuem algumas restries em suas execues.

    Certo Errado

    Questo 09

    Lcio Camilo

  • Enquanto debuggers que funcionam em Kernel mode possuem acesso ilimitado inclusive ao sistema operacional, debuggers user-mode possuem algumas restries em suas execues.

    Certo Errado

    Questo 09

    Lcio Camilo

  • Ollydbg, Windbg, Ida Pro, SoftIce e Hex Workshop so exemplos de ferramentas quem possuem a principal finalidade serem do tipo debugger

    Certo Errado

    Questo 10

    Lcio Camilo

  • Ollydbg, Windbg, Ida Pro, SoftIce e Hex Workshop so exemplos de ferramentas quem possuem a principal finalidade serem do tipo debugger

    Certo ErradoA principal finalidade do Hex ser uma ferramenta para patching.

    Questo 10

    Lcio Camilo

  • A utilizao de mquinas virtuais para depurar aplicaes no recomendada j que esta no ir representar o ambiente de hardware e software necessrios.

    Certo Errado

    Questo 11

    Lcio Camilo

  • A utilizao de mquinas virtuais para depurar aplicaes no recomendada j que esta no ir representar o ambiente de hardware e software necessrios.

    Certo ErradoMquinas virtuais podem simular inclusive outras arquiteturas, e so recomendadas a fim de que o ambiente original no seja afetado por testes.

    Questo 11

    Lcio Camilo

  • Disassemblers so ferramentas utilizadas no mercado para realizar engenharia reversa atravs da anlise esttica e podem ser chamadas tambm de decompiladores.

    Certo Errado

    Questo 12

    Lcio Camilo

  • Disassemblers so ferramentas utilizadas no mercado para realizar engenharia reversa atravs da anlise esttica e podem ser chamadas tambm de decompiladores.

    Certo ErradoDecompilador diferente de disassembler.

    Questo 12

    Lcio Camilo

  • Decompiladores diferem de disassemblers pelo fato do primeiro tentar reverter o cdigo para uma linguagem de mais alto nvel do que a linguagem revertida pelos disassemblers.

    Certo Errado

    Questo 13

    Lcio Camilo

  • Decompiladores diferem de disassemblers pelo fato do primeiro tentar reverter o cdigo para uma linguagem de mais alto nvel do que a linguagem revertida pelos disassemblers.

    Certo Errado

    Questo 13

    Lcio Camilo

  • Algumas ferramentas decompiladoras existentes no mercado so JAD, DCC, Winobj e Andromeda.

    Certo Errado

    Questo 14

    Lcio Camilo

  • Algumas ferramentas decompiladoras existentes no mercado so JAD, DCC, Winobj e Andromeda.

    Certo ErradoWinObj ferramenta de monitorao do sistema.

    Questo 14

    Lcio Camilo

  • O conjunto de tcnicas que visam eliminar informaes simblicas para que estas deixem de fazer sentido no caso de uma engenharia reversa so chamadas de Ofuscao de Cdigo.

    Certo Errado

    Questo 15

    Lcio Camilo

  • O conjunto de tcnicas que visam eliminar informaes simblicas para que estas deixem de fazer sentido no caso de uma engenharia reversa so chamadas de Ofuscao de Cdigo.

    Certo ErradoOfuscao de cdigo o conjunto de tcnicas que altera a estrutura do cdigo, ocorre aps a compilao. A tcnica que elimina informao textual (antes da compilao) chamada de Eliminao de Informao Simblica.

    Questo 15

    Lcio Camilo

  • Gabarito

    1- ERRADO 6- CERTO 11- ERRADO

    2- CERTO 7- CERTO 12- ERRADO

    3- ERRADO 8- ERRADO 13- CERTO

    4- CERTO 9- CERTO 14- ERRADO

    5- ERRADO 10- ERRADO 15- ERRADO