Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

SmokeFX v1 Cracking(Iniciante - Dificuldade Media)

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

  • Font Size
    #1

    Programa SmokeFX v1 Cracking(Iniciante - Dificuldade Media)


    Ola Pessoal, eu irei estar postando um Crack-me que ele não e tão facil..., mas tambem não tão dificil...., e um bom começo para quem quer crackear progamas reais!:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Obs: E Bom ja ter um pouco de conhecimento em cracking porque ele e meio complicadinho.....
    sigpic


    Patati Patacula, la vem o pato para ver o que Ha!!
    Similar Threads

  • Font Size
    #2
    Boa sorte aos que tentarem eu tentei mas nem consegui, se depois alguem quiser postar um tutorial

    Comment


    • Font Size
      #3
      Esse é fácil.Pro usuario singur o serial é 63996150060000.
      Parte 1 (unlock):
      1 - Dá um breakpoint em MessageBoxA (se tiver o plugin command bar só escrever BP MessageBoxA, senão clica em search for all intermodular calls e procura por ela ou vai na janela de módulos executaveis, clica com o botão direito em user32.dll e clica em search names e dai acha ela (pode ordenar em ordem alfabetica pra ficar mais fácil)).
      2 - Clica em unlock no programa, vai cair no breakpoint do olly.Olha na stack e você vai ver o endereço de retorno do bloco, vá até ele usando o comando go to.
      3 -Analise o bloco em questão.Você vai perceber que PUSH EBP bem provavelmente é o inicio dele (ele é bem caracteristico, salva os registradores na stack e altera o stack pointer).Procure as referencias a ele e de breakpoint nelas.Repita o processo novamente para achar qual delas foi a responsavel pela chamada no fluxo de execução atual.
      4 - Esse é um bloco interessante.Temos 2 referencias/breakpoints não ativados muito próximos e depois deles um jmp que pula o breakpoint atual.
      Código:
      004588EB                                                     |.  E8 E4BBFFFF             CALL smokefx3.004544D4
      004588F0                                                     |.  E9 92000000             JMP smokefx3.00458987
      Óbviamente eles não foram executados, note que existem algumas instruções de alteração de fluxo antes desses BPs não ativados (um JNZ e um JNB que prescreveram e um JE que não).O inicio desse bloco é, então, em PUSH EBP.
      5 - Esses jumps dos breakpoints anteriores parecem ser interessantes, afinal, são eles que chamam a MessageBox.Estariam eles exibindo outras mensagens?Dê um breakpoint nos 3 jumps.
      O primeiro é um JE que não é tomado.Altere a Z-Flag (clicando nela no painel de registradores/flags) e note que é exibida a mensagem: "Did You Enter A Username?".
      O segundo é um JNB, altere a carry flag para que ele não seja tomado.Agora foi exibida a mensagem: "Username must be more than 4 characters."
      Vamos ao ultimo do fluxo então, um JNZ.Altere a Z-Flag para que ele não seja tomado.Voilá, é exibida a mensagem: "Congratulations you beat the code regards, Wayne Modz".Dê um breakpoint no inicio desse pequeno bloco (LEA EDX,[LOCAL.5]).
      Se você der step até o ultimo CALL vai perceber que EAX vai ficar com o valor do serial digitado e EDX com "um número mágico".O JNZ é logo depois dessa função, então a validação deve ser feita nela e com esses 2 parametros.Dê um step-into na call.
      6 - No inicio do bloco da call temos:
      Código:
      00404274                                                     /$  53                      PUSH EBX
      00404275                                                     |.  56                      PUSH ESI
      00404276                                                     |.  57                      PUSH EDI
      00404277                                                     |.  89C6                    MOV ESI,EAX
      00404279                                                     |.  89D7                    MOV EDI,EDX
      0040427B                                                     |.  39D0                    CMP EAX,EDX
      0040427D                                                     |.  0F84 8F000000           JE smokefx3.00404312
      O cmp mantém a Z-Flag (nesse caso diz se os operadores são iguais para um JE,JZ,JNE,JNZ) setada e logo depois dele temos um JE para o final do bloco onde não teremos nenhuma instrução que altera a Z-Flag e temos o nosso ret.É, então, suficiente que EAX e EDX sejam iguais, i.e, o serial digitado por você seja igual ao número em EDX.
      7 - Temos então o serial para o nosso usuário digitado (por exemplo, singur).
      Parte 2 (crack me):
      1 - Breakpoint em MessageBoxA de novo.Clique em crack.Vá ao endereço que chamou.Inicio do bloco.Ache as referencias, de breakpoint.Clique em crack de novo.Vai cair no breakpoint.
      Se você olhar pros registradores vai ver EDX com "NOT CRACKED YET BUDDY".
      Analisando o bloco um pouco mais você ve: mov edx, eax
      E antes disso: mov eax,[LOCAL.1] que se refere a um valor na stack, i.e, a string em questão.Se você olhar na stack vai ver que 1 endreço antes está a string que você digitou (teste, por exemplo).
      Então é só mudar a instrução para mov eax,[LOCAL.2] que se traduz mudando de MOV EAX,DWORD PTR SS:[EBP-4] para MOV EAX,DWORD PTR SS:[EBP-8] (endereços tem 4-bytes na arquitetura x86).

      2 - Salve o arquivo.
      3 - Pronto.

      Caguei na ordem dos passos, mas acho que deu pra entender.Fiquei com preguiça de analisar melhor e fazer o keygen, quem sabe depois.

      Comment


      • Font Size
        #4
        Bem eu apenas de um nop. na linha 4588A6, =P

        Comment


        • Font Size
          #5
          Ai sim em singur

          []'s


          Reversing is my life!
          brcrackers.org

          Comment

          X
          Working...
          X