cracokwanie kurs u crack3



 FFFFFFFFFFFF
 HTTP://WWW.UNDERGROUND.ORG.PL FFFFFFFFFF
 ----------------------- FFFFFFFFFFF
 C R A C K FFFFFFFFFFFF
 ---------> 3 <--------- FFFFFFFFFFF
FF
Napisał: mNICH
Data : 13.11.1998
Miejsce: Bielsko-Biala

Y0 ALL !!!
Witam wszystkich ponownie ... Hmmm zastanawialem
sie co by w tym FAQ zlamac ... hehe padlo
na CrackMe 2.0 od MiB/Cruehead. Chyba
nie bede omawial jak zlamac jakies
komercyjne programy, bo pojawiaja sie
coraz to nowe wersje i mozna miec klopot
z zdobyciem koniecznego Soft-u ;).

Programik ma proste zabezpieczenie - tylko samo HASLO -
Nie powinniscie miec problemu ze zlamaniem go -
wiec zanim przeczytasz opis zlamania - sprobuj SAM !!!!
Jesli Ci sie nie uda to zapraszam do lektury ;))

Co potrzebne -
Oczywiscie wystarczy nasz ukochany SoftICE !!!

Hmmm ... Jesli bede pisal nastepnego FAQ to chyba opisze
jak zlamac cos bez debuggera (tzn. WDASM + HEX-edytor).

Do crakingu wystarczy inteligencja, znajomosc ASM-a i umiejetnosc
poslugiwania sie narzedziami (Debugger, Disassembler i HEX-edytor),
jesli nie posiadasz tych cech to ... idz lepiej pograj sobie
w QUAKE'a - to Ci sie bedzie bardziej podobalo ;))
Natomiast posiadajac te cechy mozesz bez problemu zostac
crackerem - na poczatku bedzie trudno ... kazde zabezpieczenie
bedzie stanowilo dla Ciebie wyzwanie - i wlasnie o to chodzi -
zeby uzywac szarych komorek - kazde zabezpieczenie, ktore SAM
zlamiesz bedzie powodem do dumy, i da Ci pelna satysfakcje ;))
Jesli przeczytacz gdzies pelno wzorcow zabezpieczen i jak je
lamac, i wykujesz na pamiec to nie bedziesz mial z crackingu zadnej
przyjemnosci, wiec wszystko proboj lamac SAM !!!!!!!
Po pewnym czasie zaczniesz dostrzegac pewne wzorce zabezpieczen,
a jeszcze pozniej bedziesz czul sie jak profesjonalista - twoj
debugger zastapi Ci dziewczyne ... bedziesz uwazal go za swego
najlepszego przyjaciela, a kazdy kawalek kodu bedzie dla Ciebie
znajomy !!!

Jesli:
chcesz zadac pytanie/przeslac kase/masz jakies sugestie/
jestes szefem browaru/firmy computerowej to pisz na adres :
tomroy@kki.net.pl lub
tomroy@polbox.com lub
tomroy@friko6.onet.pl ;)

UWAGA !!!
=================================================|
Musze sie zorientowac czy te moje wypociny |
ktos czyta, wiec jesli zalezy Ci na wydaniu |
kolejnych czesci (nie obiecuje !!!) to napisz |
na ktorys z powyzszych adresow. |
Napisz obojetnie co - wazne tylko zebym |
wiedzial ze czytales to FAQ ;)) |
Mozesz napisac jakies sugestie ;) np. ze |
to co pisze jest niezrozumiale/zrozumiale i |
musze/nie_musze zmieniac stylu, a moze |
zauwazyles jakies bledy ??? |
Uwaga! przysylac tylko do konca 1998 !!! |
=================================================|

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Jesli uwazasz ze FAQ jest do !
!Dupy ... to go nie czytaj. !
!Nie odpowiadam za nie zgodne !
!z prawem uzycie wiadomosci !
!tutaj nabytych!!! !
!Mozesz kopiowac to FAQ gdzie !
!i komu chcesz - tylko nie !
!zmieniajac tresci !!! !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Tyle wstepu ... przechodzimy do konkretow ;) .......

===================================================================

1. Uruchamiamy CrackMe ver 2.0 ... klikamy Help/Enter Password
i wpisujemy jakies dowolne HASLO np. ja wpisalem "tomek"

2. Wchodzimy do S-ice'a (Ctrl+d) ... ustawiamy breakpoint na
GetDlgItemTextA :

bpx getdlgitemtexta

Heh ... prawdopodobnie za kazdym razem gdy lamiesz program
pod W95 (SERIAL lub NAZWA/SERIAL) to ustawiasz breakpointy
na GetDlgItemTextA i GetWindowTextA ... nie lepiej byloby
np. za pomoca jednego slowa (komendy) ustawic breakpointy
na obydwie funkcje ??? ... Mozesz to zrobic tak :
w WINICE.DAT (w linijce inicjalizacyjnej), no chyba ze
chcesz jednorazowo, wpisac komende :

macro break = "bpx getdlgitemtexta; bpx getwindowtexta"

teraz wystarczy ze wpiszesz komende i masz ustawione
breakpointy na tych dwoch popularnych funkcjach !!!
pomiedzy codzyslowami mozesz wpisywac dowolne komendy ...
tzn. ze mozesz np. dodawac kolejne funkcje, ktore maja sie
kryc pod komenda .

4. Teraz wychodzimy z S-ice (F5) ... i znowu w nim jestesmy ;) ...
Jak zwykle wciskamy F11 zeby znalezc sie w miejscu skad
zostala wywolana funkcja GetDlgItemTextA (teraz jestesmy w
USER32.DLL). Jak wiecie z poprzedniego FAQ ustawiamy
teraz breakpoint na komorke pamieci w ktorej program
przechowuje nasze HASLO (chyba nie musze tlumaczyc jak
znalezc ta komorke) no wiec :

bpm 0040217E

naciskamy F5 ... i znowu w S-ice ;) ... Zobaczmy gdzie sie
znalezlismy :

00401371 MOV AL,[ESI] <------------|
>>>>00401373 TEST AL,AL |
00401375 JZ 00401390 |
00401377 INC BYTE PTR [00402118] |
0040137D CMP AL,41 |
0040137F JB 00401385 |
00401381 CMP AL,5A ;Petelki {|
00401383 JAE 00401388 |
00401385 INC ESI |
00401386 JMP 00401371 <------------|
00401388 CALL 004013B2 |
0040138D INC ESI |
0040138E JMP 00401371 <------------|

OK. Wyladowalismy w miejscu ">>>>" ... No chyba nie powiesz
mi ze nie wiesz co robi powyzszy kawalek kodu ?????
Jesli tak to odsylam do FAQ nr. 2 !!!
Wiec teraz moje HASLO - "tomek" zamienia sie na "TOMEK".

5. Przechodzimy do nastepnych linijek :

POP ESI
CALL 00401399

przechodzimy przez "POP ESI" (F10) i zeby zobaczyc co jest
wewnatrz procedury (00401399) naciskamy F8 ... Oto co
w niej jest :

00401399 XOR EBX,EBX (1)
0040139B XOR EDI,EDI (2)
0040139D MOV CL,[EDI+004021A3] (3) <--------|
004013A3 MOV BL,[ESI] (4) |
004013A5 TEST BL,BL (5) |
004013A7 JE 004013B1 (6) |
004013A9 XOR BL,CL (7) ;PETLA {|
004013AB MOV [ESI],BL (8) |
004013AD INC ESI (9) |
004013AE INC EDI (10) |
004013AF JMP 0040139D (11) <--------|
004013B1 RET (12)

Linijka (1) to oczywiscie zerowanie rejestru EBX ... Linijka (2)
to (znowu oczywiscie) zerowanie EDI ... Natomiast co w
linijce (3) ??? hmmm ... zobaczmy co jest pod tym adresem :

d edi+004021A3

W oknie danych wyskoczylo cos takiego : Messing_in_bytes ...
Chyba ten string nie siedzi tam bez celu ??? ... No wiec
w (3) przy kazdym obiegu PETLI do CL jest ladowany kolejny
znak tego stringu (bo przy kazdym obiegu inkrementowane
jest EDI) !!! ... a co w linijce (4) ??? ... do BL ladowany
jest (przy kazdym obiegu PETLI) kolejny znak z naszego
HASLA !!! (bo ESI takze jest inkrementowane). Linijka (5)
sprawdza czy aktualny znak w naszym HASLE (BL - aktualny znak)
jest NULL, jesli tak, to skok z (6) do (12) czyli konca procedury.
Linijka (7) XOR-uje dwie wartosci (w BL i CL) i wynik idzie do BL,
a nastepnie z BL do [ESI] (8) - ESI wskazuje na adres naszego HASLA
(konkretnie kolejnego znaku w tym HASLE ... przy kazdym obiegu
PETLI), nastepnie inkrementowane (powiekszane o 1 - jakby
ktos nie wiedzial ;) ) jest ESI (9) oraz EDI (10) oraz skok
do poczatku petli (11) (czyli do (3)). Hmmmm ... co powoduje
caly ten wycinek kodu ??? ...
Otoz w wyniku jego wykonania
pod adresem wskazywanym przez ESI (przedtem bylo tam nasze
HASLO) znajduje sie nasze HASLO zXOR-owane ze stringiem :
Messing_in_bytes !!! Dla mnie to bedzie :

T XOR M = .
O XOR e = *
M XOR s = >
E XOR s = 6
K XOR i = "

Czyli takie COS : .*>6"

6. Naciskamy F5 ... i jestesmy tutaj :

004013B8 XOR EDI,EDI (1)
004013BA XOR ECX,ECX (2)
004013BC MOV CL,[00402118] (3)
004013BE MOV ESI,[ESP+04] (4)
004013C2 MOV EDI,00402150 (5)
>>>>004013C7 REPZ CMPSB (6)
004013C9 RET (7)

Wyladowalismy w miejscu ">>>>"
Na poczatek zerowanie EDI (1) oraz ECX (2)
Linijka (3) powoduje ze do CL zapisywana jest ilosc
znakow w twoim HASLE !!!
hmmm a co w (4) ??? ... do ESI wkladana jest wartosc &&&&&&
zXORowanego HASLA, czyli : .*>6" ,a w (5) do EDI idzie
to co jest pod adresem 00402150 ... a co pod nim jest ???

d 00402150

otrzymamy ze po tym adresem jest takie cos : .,76;=(.=&.1-;7>
W linii (6) wystepuje porownywanie dwoch stringow pod adresami
DS:ESI oraz ES:EDI ... porownywanie konczy sie kiedy skoncza
sie wszystkie znaki w obydwoch stringach (REPZ -
powtarzaj dopoki zero). No i (7) to powrot z funkcji.

7. przechodzimy przez RET (F10) oto gdzie jestesmy :

0040123C ADD ESP,04 (1)
0040123F TEST CL,CL (2)
00401241 JZ 0040124A (3)
00401243 CALL 00401349 (4)

(1) nie ma znaczenia. (2) sprawdza czy w CL jest jakas
wartosc rozna od zera ... jesli jest rozna to skok w (3)
nie nastepuje a jezeli 0 to skok jest ;) ... hmmm ale
co ta flaga (ZF - jesli ustawiona to zero) oznacza ???
co ja zmienia ??? i po co to jest robione ??? ... I tutaj
jest najwazniejszy punkt zabezpieczenia !!!
Hmmm tutaj trzeba troche pomyslec ... zobaczcie jeszcze raz
na instrukcje REPZ CMPSB w poprzednim punkcie ... porownywanie
(bo to jest zadaniem tej instrukcji) znakow nastepuje datad
az w CX (tu wystarczy CL) bedzie 0 (CL jest za kazdym razem
dekrementowane - zmniejszane o 1 !!!) ... czyli instrukcja ta jest
wykonywana dopoki nie skoncza sie znaki w ES:EDI lub
aktualnie porownywane znaki (z ES:EDI i DS:ESI)
sie roznia !!! Jesli wszystkie znaki z ES:EDI
sa rowne ze znakami z DS:ESI to twoje haslo jest poprawne i
flaga ZF zostaje ustawiona (ligiczna 1).
To by bylo na tyle ze starego kodu ... wrocmy do obecnego ...
Linijka (1) jest nie wazna - choc warto zaznaczyc ze zmienia
ona flage ZF na nie ustawiona (logiczne 0) !!! ... pewnie
pomyslales to poco byla ustawiana przy REPZ CMPSB ??? ...
Otoz jak sie zaraz przekonasz nie ma to wiekszego znaczenia,
czy flaga ZF jest tam ustawiana czy nie (nie mowie ze tamta
instrukcja jest nie wazna - jest bardzo wazna - wazne, ze
ustawia wartosc w CL na 0 lub nie !!!). W linijce (2) jak juz wiesz
jest sprawdzane czy w CL jest jakas wartosc rozna od zera ...
ale teraz od czego uzaleznione jest to czy jest tam zero czy nie
??? juz wyjasniam : przed instrukcja REPZ CMPSB w CL byla
wartosc ktora okreslala z ilu znakow sklada sie nasze HASLO ...
a teraz pomysl jaka wartosc siedzi w CL po instrukcji REPZ CMPSB
??? otoz ta instrukcja jest wykonywana tyle razy ile jest
znakow w twoim HASLE, czyli CL razy !!! przy czym CL po
kazdorazowym wykonaniu instrukcji jest dekrementowane,
az w koncu (jesli wszystkie znaki pasuja) CL osiaga
wartosc 0, natomiast nigdy nie osiagnie zera gdy twoje HASLO
jest zle, bo to dekrementowanie przerwie sie (cala instrukcja
REPZ CMPSB zakonczy dzialanie) i wyladujesz z wartoscia
w CL ktora bedzie liczba znakow w twym HASLE minus te ktore
pasuja do wzorca. Np. jesli haslo jest "cracking" a ty wpiszesz
"cractom" to w CL znajdzie sie 7-4 czyli 3 !!!
Wniosek jest taki : jesli podales dobre haslo to flaga ZF
jest ustawiona (przed instrukcja (1) !!!) po instrukcji (1)
zmienia sie na nieustawiona (taka juz jest wlasciwosc
instrukcji ADD ;) ) i teraz jezeli bylo prawidlowe HASLO to
(CL=0) to po wykonaniu instrukcji (2) flaga ZF zostanie ponownie
ustawiona !!! i nastapi skok (3) (JZ - skok jesli zero (ZF=1))
do procedury wypisujacej ze podalismy dobre HASLO !!!
a jesli podalismy zle to zostanie wywolany CALL (4), ktory
spowoduje podanie informacji ze mamy zle HASLO !!!
UFFF !!! ... najgorsze wyjasnienie mam juz za soba ... mam
nadzieje ze zrozumieliscie ;)).

8. No dobra ... powiedzialem jak program sprawdza czy podalismy
dobre HASLO czy zle, ale teraz, to co nas najbardziej
interesuje, jak uzyskac to HASLO ??? Przeanalizujmy jeszcze
raz co jest robione z naszym HASLEM :
a) Zamienienie wszystkich liter w HASLE na wielkie.
b) zXOR-owanie HASLA ze stringiem "Messing_in_bytes"
c) jesli ta uzyskana wartosc jest rowna temu : .,76;=(.=&.1-;7>
to mamy prawidlowe HASLO !!!
Jak wiec je zdobyc ??? Pamietasz z FAQ nr 2 wlasnosc XOR-a ???
jesli nie to odsylam ... jesli ja znasz to nie powinienes
miec klopotu z adnalezieniem prawidlowego HASLA ... wystarczy
tylko zXOR-owac wartosc : .,76;=(.=&.1-;7> z Messing_in_bytes
i otrzymamy dobre haslo - chyba wiesz dlaczego ???
No wiec wpisujemy komendy :

? 1F2C3736 ^ 4D657373 // .,76 XOR Mess
52494445 RIDE
? 3B3D2819 ^ 696E675F // ;=(. XOR ing_
52534F46 RSOF
? 3D261A31 ^ 696E5F62 // =&.1 XOR in_b
54484553 THES
? 2D3B373E ^ 79746573 // -;7> XOR ytes
544F524D TORM

UWAGA !!! Stawiam pivo temu kto wyczai jak w S-ice odrazu zXOR-owac
obydwa stringi (bez rozbijania na grupy po 4 bajty !!!)
No ... wystarczy teraz tylko zlaczyc wszystkie wyniki i
powstanie prawidlowe HASLO !!!!! Czyli : RIDERSOFTHESTORM
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
HASLO mozesz zapisac malymi literami bo i tak sa one potem
konwertowane na duze litery !!!
Pozostaje tylko wpisac HASLO i dostajemy gratulacje ;)))))

A teraz UWAGA !!! ... za "zadanie domowe" macie zrozumiec
dlaczego po wpisaniu HASLA skladajacego sie z jednej
(jakiejkolwiek) litery, lub z liter poczatkowych
prawidlowego HASLA np. "riderso", program podaje
ze wprowadzilismy poprawne HASLO ??????????????????
hehe ... mam wyrzuty sumienia ze zadaje wam zbyt malo
"zadania domowego" wiec jeszcze zlamcie ten program
tak by mozna bylo wpisac dowolne haslo (banalne zadanie
no ale coz...), wprawdzie autor zastrzegl ze patche sa
nie dozwolone, ale dla potrzeb tego FAQ zrobimy wyjatek ;)).
Wiec HEX-edytory w ruch ... i piszcie patcha.

OK. KONIEC

====================================================================

UPS! zostalo mi troche miejsca wiec sprobuje zrobic krotkie
wprowadzenie do S-ice'a ;)
Bo widze, ze najwiecej problemow macie wlasnie z nim ;)
Oto (przyblizony) widok na okno S-ice'a !!!

|-----------------------------------------------------------------------------|
| <<<<>>>> |
| EAX=00000074 EBX=0063FD46 ECX=80090480 EDX=8008E0E8 ESI=0040217E |
| EDI=0063FCFC EBP=0063FCF4 ESP=0063FCDC EIP=00401373 o d I s z a p c |
| CS=0137 DS=013F SS=013F ES=013F FS=2E97 GS=0000 |
|-----------------------------------------------------------------------------|
| |
| |
| < > |
|-------------------------------------------------byte--------------PROT--(0)-|
| <<<<>>>> |
|13F:00000000 9E 0F CB 00 65 04 70 00-16 00 02 D7 63 0D 51 03 ....e.p.....c.Q.|
|13F:00000010 65 04 70 00 54 FF 00 F0-8B EA 00 F0 33 EA 00 F0 e.p.T.......3...|
|13F:00000020 00 00 AF 14 D2 08 2D 0F-3A 00 02 D7 52 00 02 D7 ......-.:...R...|
|13F:00000030 0C 2A 4E DA 82 00 02 D7-9A 00 02 D7 65 04 70 00 .*N.........e.p.|
|13F:00000040 0E 00 F9 14 4D F8 00 F0-41 F8 00 F0 22 25 5C FD ....M...A..."%\.|
|-----------------------------------------------------------------------------|
| <<<<>>>> |
|137:00401371 8A06 MOV AL,[ESI] |
|137:00401373 84C0 TEST AL,AL |
|137:00401375 7419 JZ 00401390 |
|137:00401377 FE0518214000 INC BYTE PTR [00402118] |
|137:0040137D 3C41 CMP AL,41 |
|137:0040137F 7204 JB 00401385 |
|137:00401381 3C5A CMP AL,5A |
|137:00401383 7303 JAE 00401388 |
|137:00401385 46 INC ESI |
|137:00401386 EBE9 JMP 00401371 |
|137:00401388 E825000000 CALL 004013B2 |
|137:0040138D 46 INC ESI |
|137:0040138E EBE1 JMP 00401371 < >|
|---------------------------CRACKME2!CODE+0371--------------------------------|
| <<<<>>>> |
|:bpx getdlgitemtexta |
|: |
|-------Enter a command (H for help)----------------------------------Crackme2|


Zaczynamy :
1)
W "Rejestry i flagi" - EAX=000... itd. to chyba wszystko jasne ???
w ostatniej linijce : CS=0137 DS=01... to rejestry segmentowe
Jesli podczas wykonywania jakiejs instrukcji ma sie zmienic wartosc
jakiegos rejestru to jest on podswietlony.
Po prawej literki :
o to flaga OF - Overflow flag
d to flaga DF - Direction flag
i to flaga IF - Interrupt enable flag
s to flaga SF - Sign flag
z to flaga ZF - Zero flag
a to flaga AF - Auxiliary flag
p to flaga PF - Parity flag
c to flaga CF - Carry flag
Jesli dana flaga jest ustawiona to literka sie podswietla i
zamienia na duza litere np. w przykladowym widoku ustawiona
jest tylko flaga IF .
2)
Puste miejsce pomiedzy "Rejestry i flagi" oraz "Okno danych"
to okno w ktorym mozesz obserwowac rozne wartosci ktore
okreslasz przy pomocy komendy .
3)
W "oknie danych" po lewej sa adresy poszczegolnych komorek
pamieci przedstawione w postaci Segment:offset, oczywiscie
wiadomo ze aktualny segment jest taki jak w DS !!!
Widac ze offsety zmnieniaja sie co 10h.
Nastepnie jest 16 bajtow, posrodku przedzielone kreska, a
potem ich reprezentacja znakowa (ASCII) ... przy czym
jesli nie da sie przedstawic danej liczby hexadecymalnej (bajtu)
w postaci znakowej to stawiany jest znak '.' (kropka).
4)
"Okno kodu" chyba najbardziej nas interesuje. Tak samo jak
w poprzednim oknie po lewej sa adresy. Aktualny segment jest
w CS !!! Offsety zmieniaja sie w zaleznosci od dlugosci
(w bajtach) poszczegolnych instrukcji. Nastepna liczba
to hexadecymalna reprezentacja instrukcji. Nastepnie
jest instrukcja wraz z operandami.
Instrukcja, ktora ma sie wlasnie wykonac (po nacisnieciu F10 czy F8)
jest podswietlona.
5)
"Okno komend" sluzy do wpisywania komend za pomoca ktorych sterujemy
S-icem.

W dolnym prawym rogu mamy nazwe programu ktorego kod wlasnie
analizujemy !!! Tak samo jak ten napis ponad "Okno komend" (CRACKME2!C..).
Przewijaniem okien strujemy za pomoca myszy lub klawiatury :
Mysza przy pomocy strzalek po prawej stronie okna.
Natomiast klawiatura :
Ctrl+strzalka w gore(czy w dol) lub Ctrl+PgUp(czy PgDn) steruje
przewijaniem okna kodu.
Alt+strzalka w gore(czy w dol) lub Alt+PgUp(czy PgDn) steruje
przewijaniem okna danych.

Jesli nie znasz dzialania jakiejs komendy to wpisz komende
- krotki opis wszystkich komend - lub
np. - aby uzyskac pomoc o konkretnej komendzie.
Oczywiscie wszystko po angielsku, ale nawet jesli go nie znasz
powinienes zalapac o co chodzi ;).

A teraz wyjasnie dzialanie "kilku" podstawowych komend w kolejnosci
alfabetycznej (UWAGA!!! ... to nie wszystkie komendy - jest ich
o wiele wiecej !!!):


- Pozwala zmienic instrukcje (ASM) pod adresem "adres"
na jakas inna. np.
... po tej komendzie
S-ice kaze nam wpisac jakas instrukcje ASM np.
<0028:00002345 XOR EDI,EDI> ... sama komenda bez
parametrow
edytuje instrukcje ASM pod aktualnym
(podswietlonym) miejscem w "oknie kodu".

- Kasuje breakpoint o numerze "nr" ... komenda
kasuje wszystkie aktualnie ustawione
breakpointy.

- Wylacza breakpoint (nie kasuje !!!) breakpoint o numerze
"nr" ... wylacza wszystkie.

- Ta komenda wlaczamy uprzednio wylaczone breakpointy ...
albo jeden o numerze "nr" albo wszystkie

- Listuje wszystkie breakpointy np. w wyniku bedzie takie
cos:
00) BPX USER32!GetDlgItemTextA
01) * BPMB #0030:0040217E RW DR3
gwiazdka oznacza ze dany breakpoint jest wylaczony !!!

- Ustawia breakpoint na dostepie do jakiejs komorki
pamieci np. .

- Ustawia breakpoint na wywolaniu jakiejs funkcji
np. znajome UWAGA!!! zeby
z tego zkorzystac musisz zaladowac odpowiednie
symbole tzn. odblokowac niektore DLL-e w WINICE.DAT
takie jak USER32.DLL, KERNEL32.DLL i GDI32.DLL

- czysci okno komend.

- argument on/off ... jesli "on" to w oknie kodu
po lewej stronie kazdej instrukcji pokazuje
sie jej odpowiednik hexadecymalny, a jezeli
off to nie pokazuje.

- Niezbyt wazna ... ale ustawia kolory roznych
czesci S-ice jak text, ramki i inne takie ;)
Jako argumenty podajesz wartosci hexadecymalne
kolorow poszczegolnych czesci ... bez argumentow pokazuje
aktualne kolory.

- Pokazuje dane (hexadecymalne i ASCII) pod adresem
"adr" w oknie danych.

- Instrukcje
zmieniaja
format danych w oknie danych np. - dane w postaci
bajtow ... - dane w postaci slow (word). Na naszym
przykladowym ekranie mamy dane w postaci bajtow.

- Edytuje dane (w oknie danych) pod adresem "adr".

- Instrukcje :
Edytuja dane (w oknie danych) pod adresem "adr"
w odpowiednim formacie danych np. byte lub
word (bajt lub slowo).

- on/off ... jesli "on" to S-ice przerywa wykonywanie
programu jesli ten popelni jakis blad. UWAGA!!!
czasami (jesli nie jestes programista i nie wyszukujesz
bugow) to lepiej ja wylaczyc bo jesli juz S-ice
przerwie wykonywanie tego programu to czasem trudno
z niego wyjsc !!!

- sluzy do definiowania innych kombinacji klawiszy (do
wykonywania poszczegolnych zadan) niz standardowe.

- bez parametrow dziala tak jakbys wyszedl z S-ice (F5)
... natomiast z parametrem - wykonuje program
az do adresu "adr" (wtedy S-ice przerywa).

- =

- okresla w ilu liniach ma sie zmiescic okno S-ice'a
(ilosc linii musi byc wieksza lub rowna 25 !!!)

- definiuje makro - jesli wpisujesz n razy n komend
to mozesz zdefiniowac makro ktore Ci to ulatwi.
np.

- edytuje wartosci rejestrow np.

- powoduje pokazanie ekranu programu, po nacisnieciu
jakiegokolwiek klawisza nastepuje powrot do Sic-e.

- poszukuje w pamieci jakiejs danej ... np.
, aby znalezc nastepna
komorke wystarczy samo (bez parametrow).

- powoduje to samo co F8 ... czyli wykonanie pojedynczej
instrukcji (bez wchodzenia w funkcje itp.).

- wprowadza dodatkowa jednostke do "obserwacji" .
np. - bedzie (w dodatkowym oknie)
pokazywalo wartosc esp+04 (nie to co jest pod adresem
ESP+04 tylko rzeczywista wartosc np. jesli ESP ma
wartosc C0F15E94 to ESP+04 bedzie C0F15E98 !!!)

- : wlacza/wylacza okno kodu
: wlacza/wylacza okno danych
: wlacza/wylacza okno rejestrow i flag
: wlacza/wylacza okno watch-a


Heh... to by bylo na tyle tych komend - reszte musisz sam
wykombinowac jak dzialaja ;).

Jeszcze na koniec jeden problem z S-ice'm ... wiele osob ma z tym
problem i mnie pytalo wiec musze o nim wspomniec ;). Jesli
nacisniesz Ctrl+D i nic sie nie pojawi a W95 kompletnie sie
zawiesi albo cos podobnego to masz ten sam problem. Problem jest
zwiazany (prawie na pewno) z karta graficzna ... musisz sam dopasowac
odpowiednie ustawienia w "Display Adapter Setup" ... Ustaw na
"Standard VGA"/"Standard Display Adapter (VGA)" nastepnie
zaznacz pod spodem "Universal Video Driver..." w wiekszosci
przypadkow powinno zadzialac ;).

Acha ! i zawsze staraj sie zdobyc najnowsza wersje S-ice'a
ma on dodatkowe sterowniki graficzne ... a poza tym dodatkowe
ciekawe funkcje !!!!!

To by bylo na tyle ... pamietaj : im wiecej bedziesz lamal
zabezpieczen tym wiekszej nabierzesz wprawy !!!!!!!!!!!!!!

==================================================================
Linki (UWAGA! wszystkie strony po angielsku!) :

Lord Caligo - cracking.home.ml.org/ Duzy zbior roznych narzedzi
i innego crackerskiego stuffu

MiB - server.kibla.org/lusers/mib/ Kilka dobrych FAQ i
kilka dobrych programikow Crackme
wraz z rozwiazaniami

+Fravia - fravia.org/ bardzo dobra strona czlonka +HCU
bardzo duzo opisow zlaman

ASM tutorials - www.la-online.com/assembly.htm Duzo faq dotyczacych ASM-a

+Greythorne - home.sol.no/reopsahl/files/assem.htm ciekawa strona
o Crackingu i ASM

Reszte poszukaj - jest troche linkow na powyzszych stronach,
jesli znasz jakas polska strone crackerska, a moze sam zakladasz,
bo przydala by sie strona z najnowszymi narzedziami i dobrym transferem ;).
oczywiscie Mail me !!!



Wyszukiwarka

Podobne podstrony:
cracokwanie kurs musk1[1]
cracokwanie kurs GetRight331
cracokwanie kurs katcd
cracokwanie kurs VCLCRK
cracokwanie kurs ftpcontr
cracokwanie kurs winpopplus
cracokwanie kurs winzip70
cracokwanie kurs tutorial2
cracokwanie kurs Tiger
cracokwanie kurs janio1
cracokwanie kurs u crack2
cracokwanie kurs How to XARA 3D
cracokwanie kurs WINFAX
cracokwanie kurs ?Plus
cracokwanie kurs locus32
cracokwanie kurs ?lphi5

więcej podobnych podstron