Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Tutorial #11: Revertendo Aplicativos .NET

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Tutorial #11: Revertendo Aplicativos .NET

    REVERTENDO APLICATIVOS .NET

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Bom galera um tuto extremamente útil pra galera da ER e também pra quem programa em .NET
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Neste tutorial vamos nos distanciar um pouco do Olly para analisarmos um aplicativo feito em .NET.

    Apesar de facilitar muito a programação ( tanto visual quanto linhas de código ), aplicativos que usam o .NET Framework possuem uma grande falha: a facilidade de se reverter o código. Esses executáveis não são compilados em código nativo ( transformado pra assembly ), ao invés disso, é utilizada uma linguagem chamada IL ( Intermediate-Level ), que nada mais é do que o seu código desemembrado em 1 comando por linha. Quando você inicia um desses aplicativos, o Framework tem que compilar o aplicativo na hora ( on the fly ), e isso explica também a lentidão para iniciar qualquer executável programado com o Framework.

    Não importa a linguagem que você utilizou ( VB, C#, ... ), no final das contas, tudo vira o mesmo IL-Code. O uso do .NET Fuscator ( Obfuscator ) também não adianta muito, já que existem dezenas de aplicativos que conseguem reverter a "criptografia". Nós não vamos fazer debug nem alteração no código desta vez, vamos só analisar. Para isso, baixe nosso alvo:

    -Download: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Como eu disse, o Olly não tem a capacidade de fazer o debug/disassembly de aplicativos .NET. Vamos utilizar um programa chamado Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... Ele não tem a capacidade de fazer debug, apenas reverte o código para sua linguagem nativa ( isso mesmo! ).

    Como sempre, uma analise no PEiD para verificar a origem do executável.


    Inicie o .NET Reflector e abra o nosso alvo dentro dele. ( se for questionado sobre a versão do Framework, selecione a 2.0 ).


    Vá expandindo a árvore até chegar dentro do Form1, que contém todos os eventos, controles, etc... ( FergoNET1\FergoNET1.exe\FergoNET1\Form1 ). Interessante, conseguimos já ver todos os controles e eventos ( inclusive com seus nomes originais ). Dentre os elementos da árvore, um deles chama atenção:

    Código:
    cmbRegistrar_Click(Object, EventArgs) : Void
    Clique sobre o botão direito sobre ele e selecione "Disassembly". Caso apareça alguma mensagem, simplesmente ignore-a ( Skip ). Se você não estava acreditando, agora vai acreditar. O código do programa está ali, escrito na linguagem nativa ( voce pode selecionar uma delas no drop-down ali na toolbar ( eu escolhi Visual Basic )


    Incrível não? Não precisamos nem rachar a cabeça pra entender o algorítmo em assembly, ele já está numa linguagem de alto nível. Basta copiar esse código para o VisualStudio, fazer algumas alterações e temos um keygen ;D
    Caso não tenha entendido, o serial é gerado somando os valores ASCII de cada caractere do nome e depois executando um XOR com 123 sobre essa soma.

    Se quiser analisar o seu código na IL, selecione IL no drop-down da toolbar. O código não fica claro como este, mas também não chega a parecer com assembly. Compare o código IL com alguma outra linguagem para tentar entender o que cada instrução do IL representa. No próximo tutorial vou explicar um pouco melhor as instruções do IL e como fazer alterações no código.

    Até a próxima!

    Autor: F3rGO!
    <<< ENGINEERING CODERZ - HACKING PROGRAMMING GROUP >>>
    msn/mail: azurus21@gmail.com

  • Font Size
    #2
    Parabens por ter divulgado uma das tutoriais do Fergo, esse cara manda muito bem, estudo as tutos dele a alguns dias já, vivendo e aprendendo, apesar de tudo, dot net veio pra ficar, ainda falta algumas implementações + rodar em plataforma pra eliminar os componentes é a melhor coisa
    sigpic




    R.I.P - 2008 —— 2015
    Capiroto, descanse em paz!

    русский Империя

    Phishing's job. PM me!! $$$

    Comment


    • Font Size
      #3
      engenharia reversa levada à sério!
      ~# Criado pela [IN]Segurança #~

      Comment


      • Font Size
        #4
        Parabéns camarada .. Fergo é rox ..
        Tem um tuto que traduzi sobre proteções em .net, ta na seção de tutos em pdf ..

        Ele é bem legal, e explica algumas formas de se proteger de ataques ..
        Para quem utiliza .net [ como eu atualmente ehehhe ] é bem mais que uma mão na roda .. xD

        bjxx ..


        Reversing is my life!
        brcrackers.org

        Comment


        • Font Size
          #5
          O mais interessante é a fragilidade dos app .NET do mercado atualmente, tem muitos que nem proteção tem, eu estou iniciando a programar agora em .NET e to começando a procura maneiras de proteger meus softs pra não entrarem nessa também
          []s
          <<< ENGINEERING CODERZ - HACKING PROGRAMMING GROUP >>>
          msn/mail: azurus21@gmail.com

          Comment


          • Font Size
            #6
            Eu uso softs diferentes do seu ..
            Pra fazer ER eu uso o hackerview (HIEW) e o W32DASM =)
            Bastar saber codigos basico de assembly pra fazer engenharia reversa em um software =)
            abraço , se eu estiver errado me corrija amigo.
            Nao Participa ainda ?
            * Comunidade Elite Defacer


            Elite Defacer
            Hackeralp - 5ubZer0 - $cr34m()

            Comment


            • Font Size
              #7
              O HIEW e o W32DASM eram muito bons, mas na sua época, atualmente estão defasados e não chegam nem perto dos atuais com é o caso do Olly e do LordPE, e sim vc está enganado amigo, sabendo só códigos básicos de assembly vc não remove nem as proteções mais frágeis dos softwares, para poder começar o debug, tem bastante gente que acha (eu também achava) que usando um JMP vc crackeia qual soft, é um grande engano isso, softwares de verdade não são como os crack-me que tem por aí, eles tem proteções extremamente elaboradas incluindo proteções anti-debuger e packs poderosos como o ExeCryptor e o Armadillo. Recomendo vc estudar um pouco mais de ER que vai entender melhor como tudo funciona.
              Abrass
              <<< ENGINEERING CODERZ - HACKING PROGRAMMING GROUP >>>
              msn/mail: azurus21@gmail.com

              Comment


              • Font Size
                #8
                Hum .. é que faz tempo que nao estudo ER ... estou voltando agora azurus , por isso estou neste tópico.
                vlw ai pela dica, estou voltando a estudar , entao acho que seremos colegas.
                abraço
                Nao Participa ainda ?
                * Comunidade Elite Defacer


                Elite Defacer
                Hackeralp - 5ubZer0 - $cr34m()

                Comment


                • Font Size
                  #9
                  Ótimo Tópico Man

                  Agredecido !

                  Comment


                  • Font Size
                    #10
                    ola, sou novo nessa area de programaçao, entao eu nao entendi como posso transformar aquela linha de comando em uma keygen, teria como explicar.

                    desde ja agradeço.

                    Comment


                    • Font Size
                      #11
                      Amigo o código já está pronto, isso é só um exemplo de como revertes apps .NET, a intenção não é gerar um key e sim pegar o código fonte do app.
                      []s

                      Comment

                      X
                      Working...
                      X