Download - Engenharia Reversa
-
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