CO: 1.com (plik z gatunku crackme) skad: http://klefz.8m.com/1.com czym: hiew,tasm
Plik 1.com to cos dla nas, zajmuje niewiele bo 32 bajtow !! a trzeba znalezc haslo ktore zmusi go do wyswietlenia Y .
Uzycie jest proste ,uruchamiamy 1.com z lini polecen dodajac haslo jako parametr np:1 CrackPL.:) Jezeli haslo jest poprawne to wyswietli sie 'Y' jesli nie to 'N'.
Zagladamy co to jest i jak jest zrobiony np. uzywajac HIEW-a
Oto i kod:MOV CX.CS:[00082] ;Przekazuje tylko dwa znaki z parametrow do CX XOR DX,DX ;zeruje DX ROL DX,CL <- + ;+-- tu jest blok kodujacy te 2 znaki obrot w lewo XCHG CL,CH | ;| zamiana CH z CL ROR DX,CL | ;| obrot w prawo XCHG CH,CL | ;| zamiana INC DX | ;| zwiekasza o 1 DX LOOP 007------+ ;+-- jezeli CX>0 to powtarzamy :) MOV AL,04Eh ;literka N do AL CMP DX,0E96h ;porównuje otrzymana liczbe z E96h JNE 01C-----+ ;jak rozne to skok do INT 29 MOV AL,59h | ;jak rowne to przekazuje Y do AL INT 29h <---+ ;przerw. drukuje znak o kodzie z AL RETN ;koniec
Jak widac bardzo latwo jest zrobic latke i cieszyc oko Y-kiem :), ale my zajmiemy sie haslem.Mozna sprobowac 'od tylu' czyli odkodowac E96h i mamy haslo , ale problem w tym ze nie mozna na podstawie danego DX znalezc odpowiednie mu CX. Ta metoda odpada czyli trzeba sprobowac ataku brutalnego czyli na sile :). Korzystajac z kodu 1.com napiszemu wlasna procedurke ktora bedzie za nas sprawdzac poprawne hasla. No to do dziela :)) .Mozemy napisac cos takiego:
-----Tu Tnij-------
;1_Bfa (brute force attack) dla 1.com
.MODEL TINY
.CODE
ORG 100h ;PLIK .COM
START:XOR AX,AX ;ZERUJE AX
NEXT: INC AX ;-- TUTAJ TWORZY KOLEJNA
XOR DX,DX ;| LICZBE DO SPRAWDZENIA
MOV CX,AX ;| I SPRAWDZA CZY NIE ZROBIL
CMP AX,00h ;| JUZ FFFF PODSTAWIEN DO AX
JZ GO ;-- JESLI TAK TO KONIEC
PETLA:
ROL DX,CL ;KOD Z 1.COM
XCHG CH,CL ;PRZETWARZAJACY
ROR DX,CL ;DANE
XCHG CH,CL
INC DX
LOOP PETLA
CMP DX,0E96h ;OTRZYMANA LICZBE POROWNUJE Z DX JEZELI
JNE NEXT ;NIE ROWNE TO SPRAWDZA KOLEJNA
PUSH AX ;--
PUSH DX ;|
MOV BX,AX ;| BLOK DRUKUJACY POPRAWNY KOD
MOV DL,AL ;|
MOV AH,02h ;| NA WYJSCIU STADARTOWYM WIEC
INT 21h ;|
MOV DL,BH ;| MOZNA ZROBIC SOBIE NP: .BAT
INT 21h ;|
MOV DL,0dh ;| Z HASLAMI :)
INT 21h ;|
MOV DL,0ah ;|
INT 21h ;|
POP DX ;|
POP AX ;--
JMP NEXT ;JESLI WYDRUKOWAL TO SPRAWDZA KOLEJNA
GO: MOV AH,4CH ;ZAMKNIECIE
INT 21H ;PROGRAMU
END START
-----Tu Tnij-------
To teraz wystarczy skompilowac tasm 1_bfa.asm i skonsolidowac (uff) tlink /t 1_bfa.obj , jezeli oczywiscie kod jest w 1_bfa.asm. Teraz otrzymamy 1_bfa.com uruchomic i cieszys sie z otrzymanych hasel :)) Wiem ze nie jest to prawdziwy crack, ale czasami i tak mozna "wydlubac" haselko.
Nonme [CrackPL]