Jump to content
  • Por dentro do Ransomware Nephilin

       (1 review)

    Leandro Fróes
     Share

    Faz algum tempo que ando botando mais a mão na massa na parte prática da análise de malware e nos conceitos que a envolvem. Este fato somado com minha paixão por tomar notas nos meus estudos acaba resultando na criação de alguns relatórios. Com isto em mente, decidi colocar aqui a análise do último sample no qual trabalhei, de um ransomware chamado Nephilin.
     
    Overview
     
    O Nephilin é uma variante do Nefilim, um Ransomware que acabou ficando bem conhecido no mês de fevereiro/março devido ao fato de ser uma variante do conhecido Nemty, que costumava trabalhar com operações de RaaS (Ransomware as a Service - um modelo de negócio utilizado por criminosos que facilita muito a distribuição de Ransomwares. Basicamente o criador do malware recruta pessoas para usarem o Ransomware e recebe uma parte de seus lucros, facilitando assim a distribuição e a entrada de pessoas não experientes no crime). Por mais que as formas de operação sejam diferentes, há similaridades de código entre essas três famílias de malware.
     
    Análise Estática
     
    O sample analisado foi compilado para x86 e não possui nenhuma técnica que possa dificultar nossa análise como por exemplo packers/protectors e o uso de ASLR. No entanto, este binário é assinado com um certificado válido:
     
    image.png.1dfc5082f0eca6128380b68cb9adaf27.png
     
    Olhando os imports podemos notar que a Import Directory Table possui apenas uma entrada, a da kernel32.dll, levantando a suspeita da utilização de runtime linking, ou seja, o loader não resolve o endereço das funções em tempo de carregamento, pois eles são resolvidos em tempo de execução:
     
    image.png.2959f6443e0c8056048aafc57afc8867.png
     
    Podemos suspeitar ainda mais pelo fato do nome algumas DLLs estarem na lista de strings do binário, assim como o nome de algumas funções que não são exportadas pela kernel32.dll:
     
    image.png.ef382850bc0c9acc9331588d36bc770f.png
     
    Não vou me preocupar muito com esta parte estática da análise, tendo em vista que a ideia deste artigo é cair de cabeça em cada funcionalidade do malware, isto é, executá-lo e ir analisando seu comportamento.
     
    Análise Dinâmica
     
    A primeira função que o malware chama é a que vai criar todo o contexto de criptografia para gerar uma chave que será a chave utilizada para descriptografar a Ransom Note:
     
    image.thumb.png.9a30fee98f6d5d77c4fa8b8cbe9acf7c.png
     
    image.thumb.png.37c57edec6f9ef726597f4225555db33.png
     
    Dentro desta função existem várias funções que permitem trabalhar com criptografia no Windows. A primeira função criptográfica chamada é a CryptAcquireContext, responsável por criar um handle para um key container dentro de um Cryptographic Service Provider (CSP). Após pegar o handle, o tamanho de uma string é calculado para posteriormente se criar e retornar um Hash Object dentro do CSP criado anteriormente. Esta string tem 66 bytes de tamanho (0x42 em hexa) e é uma string lotada de "a".
     
     A função CryptCreateHash cria o Hash Object especificando o tipo como SHA1 e, logo depois, a função CryptHashData tira o hash do que está dentro de um buffer de tamanho 66 bytes sendo passado como parâmetro:
     
    image.png.4de23e89f0c64ae5ab96fb80e576c6b5.png
     
    image.thumb.png.17eb9ca0d01a4c5390ce05417bbb0852.png
     
    image.thumb.png.c954886dc820b08509dafa6f33a3d242.png
     
    Por fim, o SHA1 gerado é derivado, para a geração de uma chave RC4. Como podemos ver quase todas as funções estão sendo importadas dinamicamente. ?
     
    O que acontece após a função que gera esta chave RC4 é a criação de um Mutex com o nome "sofos delaet sosos":
     
    image.thumb.png.7ab2876cc9b599339955a885ee833afb.png
     
    Em seguida, uma string em base64 aparece e é decodada com a função CryptStringToBinary, resultando em uma chave pública RSA:
     
    "BgIAAACkAABSU0ExAAgAAAEAAQDNFw18bUF1x32DZaZt4gnQtAnv5XH60d9B6UgIbVfRdHPeyEljZLKlGBKFPTsh+8xsDHe/9vynuOlnuPt91grReMAwcTDVkxBh/PDkf3Jq0bnFgZAWbgMvGX6lApXTDcTArf4US63VI3z8YPyDNJwEvBEWI13ywob8ECLsrD/C6BPkYG0mBU1ccixzOgkgad0iDvwS/C8iyW1Mi0PCoBa+3TCTVwt0Zpy/HceV5U7SevG7RRN5HrErv54Ihg6kTPPhdxkYdO+CUND19aLqh8MAVLRuP5hR6b6r7cjBNAW2+USaaMyT/llNXdPdySbatLlH6Mau4z1eqzYc7hMB2f+6"
     
    image.thumb.png.ee23ab0d63ab3d7ebaef213232cf195e.png
     
    image.png.977558043b3e1e96557242c9eedfa5e6.png
     
    Há depois uma tentativa de pegar um handle para um CSP onde o key container tem o nome  "rsa session" e, sem sucesso, o binário cria um novo chamado "skr skr skr":
     
    image.thumb.png.18639acce79b90ef01fdef41d32e7ca0.png
     
    Agora a chave pública decodada anteriormente será importada para o contexto "skr skr skr":
     
    image.thumb.png.2d6f05b299fcbac43bdc42aec5dd1652.png
     
    image.png.6d20a48043f438755e64cc293574afa6.png
     
    Ações padrão da maioria dos ransomwares incluem desabilitar a checagem de erros durante o boot, desabilitar o modo de recuperação, deletar backups, etc. O Nephlin faz isso através de uma chamada à função ShellExecuteA() passando uma linha com o cmd.exe como parâmetro:
     
    "C:\\asdfgsdgasd\\..\\Windows\\asdgagsahsfahfhasahfsd\\..\\System32\\cmd.exe" "/c bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet & wmic shadowcopy delete"
     
    image.thumb.png.a3c4bbe8379a89f5587f4aa7a8a40b45.png
     
    Aqui foi utilizada uma abordagem um tanto curiosa, tendo em vista que o malware considera diretórios que provavelmente não existirão no sistema de arquivos da vítima ("asdgagsahsfahfhasahfsd", por exemplo) e sobe um nível no filesystem utilizando ".." para acessar de fato o que importa, ou seja, o caminho real seria simplesmente "C:\Windows\System32\cmd.exe" ?
     
    Neste momento acontece uma checagem em relação à como o malware foi executado na linha de comando. Se foi passado algum parâmetro, ele checa pra ver se é um arquivo ou diretório. Se for um arquivo, ele chama direto a função que encripta. Caso seja um diretório, ele chama a função que checa uma lista de exclusão dos tipos de arquivos que ele não quer encriptar e esta função chama então a função que encripta.
     
    É interessante notar que com essas checagens o ransomware pode ser usado em diversos cenários e não simplesmente para encriptar o sistema completamente. Ex: para manualmente testar se ele está funcionando (antes da possível invasão), ser executado manualmente após a invasão visando diretórios/arquivos específicos, etc:
     
    image.png.e082bae4138d24b0c93e567593e458fb.png
     
    Se nenhum parâmetro for passado via linha de comando, o binário começa a mapear os drives que estão no sistema e pegar seus tipos, buscando especificamente por drives fixos, removíveis (pen drives, etc) e mapeamentos de rede:
     
    image.thumb.png.c0752111308978a9c7a4f6f8756e4d3c.png
     
    Após pegar o drive o seu nome é concatenado com a string "NEPHILIN-DECRYPT.txt", à fim de criar a Ransom Note na raiz do Drive em questão:
     
    image.thumb.png.65f0cd0ee48dc92eeb9c252db94f9674.png
     
    Após a chamada à CreateFile, podemos ver a Ransom Note sendo criada, mas vazia por enquanto:
     
    image.png.73accce4a8de8c028e2d28d758b80e0f.png
     
    Antes do conteúdo ser de fato escrito no arquivo, ele precisa ser decodado, tendo em vista que é uma string em base64 (sim, outra string em base64):
     
    image.thumb.png.e5dfa670e60df9c57bf2a664fe012491.png
     
    Abaixo está o buffer que contém o conteúdo da Ransom Note em base64:
     
    image.png.73a2694147492320e96b384a50390061.png
     
    Após decodar o base64 o buffer aparenta estar encriptado, e de fato está:
     
    image.png.09048bc372cf0e706ec8f461b4fed076.png
     
    A função CryptDecrypt utiliza a chave RC4 gerada anteriormente para decriptar o conteúdo do buffer em questão. Podemos ver o conteúdo em clear text após a execução da função:
     
    image.png.b521ca6dff4777a5cf8e49ae94df3893.png
     
    Por fim podemos ver a função WriteFile, que irá escrever o conteúdo no arquivo "NEPHILIN-DECRYPT.txt" criado anteriormente:
     
    image.thumb.png.3fc9d6b2f7345e2d91591f866080c815.png
     
    image.png.398256a0c77f96f4475e5edbc550f885.png
     
    Agora que a Ransom Note foi criada, o processo de criptografia começa. O meio utilizado é através da criação de outra thread, isto é, para cada drive encontrado, uma nova thread é criada. A função CreateThread recebe como parâmetro para indicar seu início o endereço de uma função, que por sua vez chama a função que checa a lista de exclusão e depois começa a criptografia. Além disso, o nome do drive escolhido no momento é passado como parâmetro para esta função.

    Esta lista de exclusão é basicamente um lista que contém nomes de arquivos, diretórios e extensões das quais o malware não irá encriptar. Para cada arquivo encontrado o malware irá comparar com as especificações desta lista e, caso não bata, a função de criptografia será chamada:
     
    image.thumb.png.975e0abc618a1c9a1bc7308b9024b564.png
     
    image.thumb.png.0a5ccb5fe0b4d51415b3813771572964.png
     
    image.png.4d2b3101cc199f3fb44ffd30fac8f3fe.png
     
    image.png.ed4d742be06e85efe7e5185ac0f8f9e0.png
     
    Criptografia
     
    A criptografia pode começar de 3 formas diferentes, como mencionado anteriormente: passando um arquivo como parâmetro pela linha de comando, passando um diretório ou mapeando os drives e criando threads.
     
    Um trecho da função que faz as devidas checagens pode ser observada abaixo:
     
    image.png.3d04f00e99471d64cbe79095454df8db.png
     
    Se o arquivo checado não estiver na lista de exclusão, a função de criptografia é chamada:
     
    image.png.f2cc8e798ae645c5f41b3d33a7edc887.png
     
    O processo de criptografia se inicia com a abertura do arquivo em questão e a obtenção do seu tamanho. Depois disso, há duas chamadas para a função SystemFunction036 para gerar números aleatórios. Basicamente esta função é um alias para a função RtlGenRandom, que recebe como parâmetro um buffer e o tamanho do número aleatório que você quer gerar. O tamanho escolhido são 16 bytes (0x10):
     
    image.thumb.png.15af78e8274b04a590bfaa0cc247e4ed.png
     
    image.png.9cef88d8984ff2f05379a7a59efd4bce.png
     
    Tendo 2 buffers de 10 bytes de tamanho cada, com os devidos números aleatórios gerados anteriormente, há duas chamadas à CryptEncrypt, uma para cada buffer. Aqui a chave pública RSA é utilizada para encriptar o buffer em questão, resultando em outros dois buffers de 256 bytes cada.
     
    image.thumb.png.b15d2c4fa22cdf87c2b46b4a2abc5ff1.png
     
    image.png.76a2606a07c76d5285d7c42afd94ac08.png
     
    O conjunto de funções a seguir faz a mesma operação, mas apontando para lugares diferentes. A função SetFilePointerEx é utilizada para apontar para o fim do arquivo (baseando-se no tamanho obtido anteriormente) e depois a função WriteFile é utilizada para escrever os 256 bytes encriptados lá. A próxima chamada à SetFilePointerEx agora aponta para o fim do arquivo + 256 bytes e então escreve o segundo buffer encriptado onde o ponteiro está apontando.
     
    image.thumb.png.a631f976bc5874628fd4333b6730a6ac.png
     
    image.png.d337bbb77f3d88d077bcace73f79249b.png
     
    Neste momento as checagens de tamanho de arquivo começam, assim como as chamadas de função e loops que envolvem a criptografia.
     
    A primeira checagem feita é se o arquivo é maior que 64MB e, caso seja, as funções que criptografam o arquivo começam a ser chamadas de 125KB em 125KB. Caso o arquivo seja menor há uma outra checagem para ver se ele é menor que 1.2MB e caso ele não seja as funções de criptografia rodam em cima de 600KB apenas e finalizam. Caso o arquivo seja menor que 1.2MB ele é encriptado "de uma vez" e depois finaliza.
     
    image.thumb.png.da864155eaba527f35e134377b2ec08b.png
     
    image.thumb.png.5a5e51e4ff53d2a1c9f04bfc39fa2cb0.png
     
    image.thumb.png.bfa091638ab5ded94b70aeb804a43af0.png
     
    Para cada arquivo é gerada uma chave randômica com a função SystemFunction036 e depois esta é encriptada com a chave RSA pública. Esta abordagem dificulta bastante a criação de um decryptor, tendo em vista que a chave será sempre aleatória. Por outro lado, se tivemos a chave RSA privada em mãos a aleatoriedade não teria efeito nenhum pois para cada arquivo teríamos a chave responsável pela sua criptografia.
     
    Por fim a extensão ".NEPHILIN" é adicionada ao arquivo aberto:
     
    image.png.77dc0934cdc5a542295ee9b2f1095b68.png
     
    image.png.c60e66e2ed752dae92cd95f8bc01ad4d.png
     
    image.png.4c526a40d3dfdab2113935f5025bbea9.png
     
    image.png.40b0a5abfb0d9b989bf3bc908edd0797.png
     
    image.png.7ff54b9fb43188ce4f5a70922f4bab00.png
     
    Uma coisa importante a se notar é que se a criptografia foi executada para um arquivo ou diretório específico tanto a Ransom Note quanto o wallpaper do Ransomware não são criados. Podemos observar que as funções de mapeamento de drives (que contém a criação da Ransom Note) e criação do papel de parede são ignoradas devido ao salto incondicional JMP:
     
    image.thumb.png.6c5cf9929f231477b9c900a2199d8942.png
     
    E por fim...
     
    Considerando ainda que não foram especificados arquivos e diretórios, a função responsável por criar a imagem do papel de parede é chamada. Há várias funções aqui e estas utilizam funções gráficas do Windows para editar a imagem em questão:
     
    image.thumb.png.c026ca270a27e242c688822240928356.png
     
    Uma das funções chamadas nesta função responsável por criar a imagem é justamente a função de decoda o base64 da Ransom Note, pois o que é escrito no papel de parede é a mesma coisa da Ransom Note. Após várias funções gráficas para preparar a imagem o arquivo é finalmente criado em %TEMP%, com nome god.jpg e seu conteúdo é escrito no arquivo:
     
    image.thumb.png.e35d57b33b3f77ec79fa12b7a5f77f25.png
     
    image.png.0f7e2d8004295d93422322c36ef46473.png
     
    image.png.c578e41a88878db70d952c6350772f42.png
     
     
    Após configurar a imagem como papel de parede, o malware chama sua última função, que é responsável por fechar todos os handles e contextos de criptografia ainda pendentes:
     
    image.thumb.png.c207d2c5fbdcd7a5337dc11f0feeb71c.png
     
    Depois disso, o processo simplesmente sai retornando 0.
     
    Lista de exclusão:
     
    NEPHILIN-DECRYPT.txt
    $RECYCLE.BIN
    NTDETECT.COM
    MSDOS.SYS
    IO.SYS
    boot.ini
    AUTOEXEC.BAT
    ntuser.dat
    desktop.ini
    CONFIG.SYS
    BOOTSECT.BAK
    program files
    program files (x86)
    windows
    ntldr
    RECYCLER
    bootmgr
    programdata
    appdata
    .dll
    .NEPHILIM
    .exe
    .log
    .cab
    .cmd
    .com
    .cpl
    .ini
    .url
    .ttf
    .mp3
    .pif
    .mp4
    .msi
    .lnk
     
    Espero que o estudo desta análise seja proveitoso assim como foi para mim e qualquer dúvida/feedback estou à disposição!
     
    Abraços!

    Revisão: Fernando Mercês
     Share


    User Feedback

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest

    • This will not be shown to other users.
    • Add a review...

      ×   Pasted as rich text.   Paste as plain text instead

        Only 75 emoji are allowed.

      ×   Your link has been automatically embedded.   Display as a link instead

      ×   Your previous content has been restored.   Clear editor

      ×   You cannot paste images directly. Upload or insert images from URL.



  • Similar Content

    • By Bruna Chieco
      O secretário-geral da Interpol, Jürgen Stock (foto), convocou agências policiais em todo o mundo para formar uma coalizão global com parceiros da indústria para prevenir uma potencial pandemia de ransomware. A intenção é interromper efetivamente o ransomware ao adotar a mesma colaboração internacional usada para combater o terrorismo, o tráfico humano ou grupos de máfia.
      Segundo comunicado da Interpol, a convocação para expandir a colaboração contra o ransomware foi feita a partir de uma preocupação com o crescimento exponencial desse tipo de ataque no ecossistema do crime cibernético mais amplo, já que criminosos estão mudando seu modelo de negócios para fornecer Ransomware-as-a-Service (ransomware como serviço).
      O Secretário-Geral da Interpol afirmou que os criminosos de ransomware estão continuamente adaptando suas táticas, operando sem fronteiras e quase com impunidade. “Assim como a pandemia, o ransomware está evoluindo para diferentes variantes, proporcionando altos lucros financeiros aos criminosos”, disse. Ele alertou ainda que o ransomware se tornou uma ameaça muito grande para qualquer entidade ou setor resolver sozinho, e a magnitude desse desafio exige urgentemente uma ação global unida, colocando a Interpol como facilitadora.
      O Fórum Econômico Mundial está atuando em parceria com a Interpol para moldar arquiteturas globais que apoiem essa colaboração e explorem maneiras de encorajar medidas responsáveis. “O ransomware está emergindo como o equivalente ao 'Velho Oeste' do espaço digital, onde qualquer pessoa, em qualquer ponto do tempo, pode se tornar uma vítima. Limitar o ransomware exige esforços coletivos de todos para melhorar a higiene cibernética em todos os setores, aumentar os custos e riscos para os cibercriminosos por meio de esforços disruptivos e reduzir a recompensa aos criminosos”, disse Tal Goldstein, chefe de estratégia do Centro de Segurança Cibernética do Fórum Econômico Mundial.
      (Crédito da imagem: Interpol)
    • By Bruna Chieco
      O ataque cibernético da gangue de ransomware Revil a empresas da cadeia de suprimentos da companhia americana Kaseya pode ter atingido até 1,5 mil negócios. A informação foi fornecida pela própria Kaseya em comunicado divulgado nesta terça-feira, 6 de julho.
      O ataque coordenado ocorreu na última sexta-feira e afetou empresas usuárias do produto da Kaseya chamado VSA, que oferece uma série de funções típicas de administração remota. Saiba mais na edição do 0news desta segunda-feira.
      Segundo o comunicado da companhia, cerca de 800 mil a 1 milhão de pequenas empresas ou empresas locais são gerenciadas pelos clientes da Kaseya, e apenas cerca de 800 a 1,5 mil foram comprometidas. A Kaseya afirma ainda que respondeu rapidamente ao ataque de ransomware, mitigando o impacto.
      O comunicado conta que a Kaseya foi alertada sobre um possível ataque de fontes internas e externas no dia 2 de julho, fechando imediatamente o acesso ao software em questão, o que fez com que apenas aproximadamente 50 dos mais de 35 mil clientes da Kaseya fossem violados.
      Depois disso, uma equipe interna de resposta a incidentes, em parceria com especialistas do setor em investigações forenses, entrou em ação para determinar a natureza do ataque. Agências governamentais de segurança cibernética e de aplicação da lei, incluindo o FBI e a Agência de Segurança Cibernética e Infraestrutura (CISA), foram notificadas.
      A maioria dos clientes da Kaseya são provedores de serviços gerenciados, usando a tecnologia da companhia para gerenciar a infraestrutura de TI para empresas locais e pequenas com menos de 30 funcionários, como consultórios de dentistas, pequenos escritórios de contabilidade e restaurantes locais.“Nossas equipes globais estão trabalhando 24 horas por dia para colocar nossos clientes de volta em operação”, disse Fred Voccola, CEO da Kaseya, no comunicado. 
      (Imagem: Divulgação/Facebook)
    • By Bruna Chieco
      A gangue Babuk parece ter voltado ao antigo hábito de criptografar redes corporativas. Segundo o BleepingComputer, os criminosos tinham anunciado sua saída do negócio em abril, mas estão atualmente usando uma nova versão de seu malware de criptografia de arquivos e mudaram a operação para um novo site de vazamento.
      O grupo de ransomware Babuk ficou conhecido no início do ano, mas alega que seus ataques começaram em meados de outubro de 2020, visando empresas em todo o mundo e exigindo resgates entre $ 60 mil e $ 85 mil em Bitcoin. 
      Uma das vítimas mais divulgadas é o Departamento de Polícia Metropolitana (MPD) de Washinton DC. O BleepingComputer diz que esse ataque provavelmente levou a gangue a anunciar sua aposentadoria do negócio de ransomware apenas para adotar outro modelo de extorsão que não incluía criptografia.
      A gangue também anunciou planos de lançar seu malware para que outros cibercriminosos pudessem iniciar uma operação de ransomware como serviço, e acabou publicando seu construtor, uma ferramenta que gera ransomware personalizado. O pesquisador de segurança Kevin Beaumont o encontrou no VirusTotal e compartilhou as informações para ajudar a comunidade de segurança na detecção e descriptografia.
    • By Bruna Chieco
      O Siloscape é o primeiro malware que tem como alvo os contêineres do Windows – tecnologia para empacotamento e execução de aplicativos. Segundo o ThreatPost, o malware implanta backdoors e nós de invasão para obter credenciais de usuários.
      A campanha em andamento perfura os clusters do Kubernetes – sistema de orquestração de contêineres open-source – para a implantação de backdoors, permitindo que os invasores roubem dados e credenciais do usuário ou sequestrem bancos de dados inteiros hospedados em um cluster.
      Segundo a reportagem, o malware foi descoberto pelo pesquisador de segurança da Unidade 42, Daniel Prizmant, que o apelidou de Siloscape, ou "Fuga do Silo". O malware explora vulnerabilidades conhecidas em servidores da web e bancos de dados para comprometer os nós do Kubernetes e os clusters de backdoor. 
      Prizmant fez um trabalho de engenharia reversa para conseguir se conectar ao servidor de comando e controle (C2) do Siloscape, onde descobriu que estava hospedando um total de 313 usuários. Isso implica que o Siloscape é uma pequena parte de uma campanha mais ampla, observou ele. Prizmant destaca que o Siloscape é um malware fortemente ofuscado. 
      Os pesquisadores da Unidade 42 identificaram 23 vítimas do Siloscape e disseram que as evidências indicam que a campanha foi lançada há mais de um ano, podendo ter iniciado em janeiro de 2020. 
      A recomendação é que os usuários sigam o conselho da Microsoft para não usar contêineres do Windows como um recurso de segurança. Em vez disso, a Microsoft recomenda o uso estritamente de contêineres Hyper-V para qualquer coisa que dependa da conteinerização como limite de segurança. 
    • By Leandro Fróes
      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 😉.

×
×
  • Create New...