Answers 4 People
Masz problem? Odpowiemy na niego!
FAQ
Szukaj
Użytkownicy
Grupy
Galerie
Rejestracja
Profil
Zaloguj się, by sprawdzić wiadomości
Zaloguj
Forum Answers 4 People Strona Główna
->
Wasze programy
Napisz odpowiedź
Użytkownik
Temat
Treść wiadomości
Emotikony
Więcej Ikon
Kolor:
Domyślny
Ciemnoczerwony
Czerwony
Pomarańćzowy
Brązowy
Żółty
Zielony
Oliwkowy
Błękitny
Niebieski
Ciemnoniebieski
Purpurowy
Fioletowy
Biały
Czarny
Rozmiar:
Minimalny
Mały
Normalny
Duży
Ogromny
Zamknij Tagi
Opcje
HTML:
TAK
BBCode
:
TAK
Uśmieszki:
TAK
Wyłącz HTML w tym poście
Wyłącz BBCode w tym poście
Wyłącz Uśmieszki w tym poście
Kod potwierdzający: *
Wszystkie czasy w strefie EET (Europa)
Skocz do:
Wybierz forum
Internet
----------------
Komunikatory
Portale
PC i Notebook
----------------
Software
Hardware
Wasze programy
Inne
----------------
Wasze portale!
Nowości na rynku
O Forum
Dodatki
Reklamy
Przegląd tematu
Autor
Wiadomość
Gość
Wysłany: Sob 20:19, 05 Sty 2008
Temat postu:
no nie za bardzo
mam bana i ostrzężenie!
KAMILOS
Wysłany: Sob 19:16, 05 Sty 2008
Temat postu:
No i się dogadaliśmy!
Gość
Wysł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]
Wysłany: Sob 14:28, 05 Sty 2008
Temat postu:
do tego sa pragramy uap passtool itd.
Kester YEAH !!!
Wysł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 !!!
Wysłany: Pią 22:46, 04 Sty 2008
Temat postu:
no i? co ci nie pasi ?
SOLDIER[MATI]
Wysł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 !!!
Wysł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]
Wysłany: Pią 22:42, 04 Sty 2008
Temat postu:
*** ******
***
KAMILOS
Wysłany: Pią 22:28, 04 Sty 2008
Temat postu:
Już zdjąłem ostrzeżenie
Kester YEAH !!!
Wysł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
Wysł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 !!!
Wysł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.
fora.pl
- załóż własne forum dyskusyjne za darmo
Powered by
phpBB
© 2001, 2002 phpBB Group
Regulamin