Poka wyniki od 1 do 3 z 3
  1. #1

    Domylnie Cracking - Jak zacz? - Cz II

    W ostatnim artykule, przypomnielimy, albo inaczej, dowiedzielimy si wiele ciekawych rzeczy. Nauczylimy si rwnie obsugiwa disassembler W32DASM. W tym artykule, zajmiemy si crackowaniem jednego z moich CrackMe.

    Teraz, zajmiemy si crackowaniem pierwszego CrackMe w naszym yciu. cigamy go std :

    http://www.ownersite.republika.pl/crackme.exe

    Okej, po cigniciu, zostawcie to w spokoju. Narzdzia, ktre bd nam potrzebne:

    - W32DASM (zakadam, e jeszcze go macie z poprzedniej lekcji)
    - NASM (assembler)
    - XVI32 (hex edytor)

    Wszystkie te narzdzia, mona znale w temacie :

    http://www.haker.com.pl/viewtopic.php?t=16366

    Dobra, zaczniemy od teorii.
    Mam nadzieje, e wiesz co to jest stos i rejestry procesora (to powiniene wiedzie z poprzedniego artykuu). Poniewa nie omawiaem stosu w poprzednim artykule, omwi go teraz. Zamy, e mamy pienidze. Ukadamy sobie stos 5 zotwek i zauwamy, e mamy tylko dostp do monety na samej grze. Jak z dou wycigniemy, to cay stos 5 zotwek si rozsypie. A zamy, e chcemy wzi rodkow monet, to musimy usun te monety, ktre byy nad rodkow, itd. Tak moemy uproci sobie definicje stosu. A teraz stos o ktrym chciaem wam powiedzie (nie z monet):

    - Stos - obszar pamici, kade miejsce w stosie ma 4 bajty. Teraz niezalenie od tego, czy funkcja jako parametr przyjmuje znak, czy liczb, po woeniu czego do stosu, zajmuje to 4b.

    Odpowiedzialne rejestry za stos, to:

    - dno stosu (rejestr EBP)
    - gra stosu (rejestr ESP)

    eby korzysta ze stosu, uywamy funkcji push & pop.
    To jest tak jak z monetami, aby doj do ostatniej monety, musisz zdj wszystkie z gry. Czyli masz dostp tylko do tej pierwszej monety na grze. Tak dziaa stos. Dobra, aby utrwali Ci to w pamici podam to w ten sposb:

    - Zmienne lokalne, alokowane s na stosie i assembler lub komputer, zajmuje si nimi od dna stosu. Dno stosu moe by przesuwane. Dobra, tyle teorii. Czas dziaa!

    Zdisassemblujcie sobie nasz CrackMe.exe (wreszcie, co nie?).
    Zapiszcie listing do pliku i otwrzcie czym kolwiek (moe by notatnik).
    Jak zauwaylimy, nasz crackme odlicza od 150 do 0, a potem od 199 do 0 i tak w kko. Naszym zadaniem jest, aby program odliczy powyej 200, czyli wywietlenie tekstu:

    ROZWIAZALES CRACKME BY OWNER! GRATULACJE!

    Popatrzcie sobie na t linijk :

    :0040132D FF08 dec dword ptr [eax]

    Ona odpowiada, e nasza liczba w programie, cigle maleje a do 0 i od nowa wykonuje to samo. Skoro jest dec dword ptr [eax], to musi by jakie przeciwiestwo, aby si zwikszya. Owszem, jest takie przeciwiestwo i my je tutaj zastosujemy!

    To nasze przeciwiestwo to magia taka, e dec zamieniamy na inc i tyle! No dobra, no i co, e zmodyfikujemy listing zdisassemblowanego kodu, skoro nasz program dalej liczy do zera? Wklejamy do notatnika:

    [BITS 32]
    inc dword [eax]

    Zapisujemy jako, np. bla.asm i wpisujemy tak komend do nasma (przez cmd, oczywicie):

    nasm.exe bla.asm

    Powinien nam si w folderze z nasmem, ukaza plik, bez rozszerzenia o rozmiarze 1kb.
    Otwieramy go hex edytorem XVI32 i widzimy :

    FF 00

    I gotowe! Teraz edytujemy naszego crackme szukajc FF 08, a dlatego FF 08, bo :

    004012BA FF08 dec dword ptr [eax]

    Gdy znalelimy w naszym programie otwierajc go hex edytorem FF 08, zamieniamy FF 08 na FF 00. Zapiszcie teraz nasz zmodyfikowany program i go odpalcie. Efekt zobaczycie bardzo przyjemny. zamiast zmniejsza si, liczba bdzie leciaa w gr, a dojdzie do 200 i wtedy si wywietli nasza wiadomo.

    Zauwacie, e s te inne sposoby rozwizania tego crackme, np. edycja tekstu, z 150 na np. 200 lub 201, a program, te wywietli nam oczekiwan wiadomo.

    Jeli znasz chocia podstawy jakiego jzyka programowania, moesz sobie pisa wasne CrackMe. Np. w C++ jaki program na haso, potem to zakodowa, itp.
    Trzecia cz artykuu, powinna wyj za niedugo, jak tylko bd mia wicej czasu
    A teraz, zapraszam do nauki asma, bo co to za cracking/reverse engineering, skoro masz mae pojcie o asmie. Zawsze moesz mnie czego spyta na PM, jeli czego nie wiesz. Linki, ktre mog Ci si przyda:

    http://www.haker.com.pl/viewtopic.php?t=36630
    http://www.haker.com.pl/viewtopic.php?t=35958
    http://www.haker.com.pl/viewtopic.php?t=34189
    http://www.haker.com.pl/viewtopic.php?t=14414

    Mam nadzieje, e ta cz, czyli druga cz artykuu o crackingu/reverse engineeringu, si komu przydaa.

  2. #2
    Uytkownik
    Doczy
    06-01-2008
    Posty
    95

    Domylnie

    napewno sie przyda, aczkolwiek jest prostszy sposob ja twoje crackme ;]
    zmienic entry point

  3. #3

    Domylnie

    Pewnie, e jest Ale po to podaem najduszy aby to nie byo takie krtkie.

Podobne wtki

  1. Cz forum tylko dla MOD I GU Mona wej? phpbb
    Przez jacko394
    w forum HTML, CSS, JavaScript
    Odpowiedzi: 2
    Ostatni post / autor: 26-01-2008, 20:45
  2. Cracking - Jak zacz? - Cz I
    Przez 0wn3r
    w forum Kursy/Artykuy
    Odpowiedzi: 0
    Ostatni post / autor: 17-01-2008, 14:49
  3. Zoliwe oprogramowanie & wirusy, cz 1, 2 i 3
    Przez 0wn3r
    w forum Kursy/Artykuy
    Odpowiedzi: 5
    Ostatni post / autor: 16-11-2007, 18:48
  4. Znam cz hasa...
    Przez proximo
    w forum Narzdzia sieciowe
    Odpowiedzi: 8
    Ostatni post / autor: 16-07-2007, 20:13

Uprawnienia

  • Nie moesz zakada nowych tematw
  • Nie moesz pisa wiadomoci
  • Nie moesz dodawa zacznikw
  • Nie moesz edytowa swoich postw
  •