Jump to content

zbeng

Active Members
  • Posts

    2402
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by zbeng

  1. Arhiva 1: 9165 - 9164 - 9163 - 9161 - 9155 - 9145 - 9142 - 9124 - 9123 - 9115 - 9114 - 9113 - 9112 - 9107 - 9106 - 9103 - 9102 - 9099 - 9095 - 9094 - 9093 - 9092 - 9090 - 9087 - 9086 - 9085 - 9080 - 9079 - 9077 - 9074 - 9073 - 9067 - 9066 - 9063 - 9061 - 9059 - 9058 - 9057 - 9056 - 9055 - 9053 - 9052 - 9048 - 9047 - 9045 - 9040 - 9036 - 9035 - 9034 - 9030 - 9028 - 9027 - 9025 - 9022 - 9021 - 9020 - 9019 - 9018 - 9017 - 9016 - 9008 - 9007 - 9005 DOWNLOAD [glow=red,2,300]http://rapidshare.de/files/32214716/tm_pack_1.rar[/glow] Arhiva 2: 9287 9285 9283 9278 9277 9276 9256 9254 9253 9250 9249 9248 9247 9245 9244 9243 9239 9232 9231 9226 9225 9224 9223 9221 9220 9218 9213 9211 9206 9205 9203 9202 9200 9191 9190 9189 9188 9187 9186 9185 9182 9181 9180 9179 9178 9177 9170 9169 DOWNLOAD [glow=red,2,300]http://rapidshare.de/files/32216180/tm_pack_2.rar[/glow] Arhiva 3: 9417 9415 9413 9379 9378 9377 9373 9372 9371 9369 9367 9357 9356 9355 9354 9353 9351 9350 9345 9342 9338 9337 9334 9332 9330 9328 9325 9324 9322 9315 9314 9313 9312 9311 9309 9303 9300 9299 9294 9291 9290 DOWNLOAD [glow=red,2,300]http://rapidshare.de/files/32218066/tm_pack_3.rar[/glow]
  2. 331 template-uri css DOWNLOAD [shadow=red,left][glow=red,2,300]http://rapidshare.de/files/32347448/CSS.rar[/glow][/shadow]
  3. sa cresteti mari da acuma pe care sa o folosesc ;D
  4. testu 1 e bun ca sa inveti sa numeri in engleza=))
  5. ma pt mine mie mi-a lacut cel mai mul emisiunele lui si dupa mine a fost cel mai tare si nu il consider nebun cea ce facea,duar facea acele "nebunii" pt noi admiratorii lui si pt $$
  6. !_30 incearca si aratane rezultatul imi dai si mie un pm cu id tau
  7. as vrea si eu o semnatura ceva cu ELISHA CUTHBERT si my nick cu un verde de ala deschis SI DACA SE POATE TURA ASTA SAL REALIZEZE CINeVA
  8. Upside-Down-Ternet My neighbours are stealing my wireless internet access. I could encrypt it or alternately I could have fun. Split the network I'm starting here by splitting the network into two parts, the trusted half and the untrusted half. The trusted half has one netblock, the untrusted a different netblock. We use the DHCP server to identify mac addresses to give out the relevant addresses. /etc/dhcpd.conf ddns-updates off; ddns-update-style interim; authoritative; shared-network local {     subnet *.*.*.* netmask 255.255.255.0 {         range *.*.*.* *.*.*.*;         option routers *.*.*.*;         option subnet-mask 255.255.255.0;         option domain-name "XXXXX";         option domain-name-servers *.*.*.*;         deny unknown-clients;         host trusted1 {             hardware ethernet *:*:*;             fixed-address *.*.*.*;         } }     subnet 192.168.0.0 netmask 255.255.255.0 {         range 192.168.0.2 192.168.0.10;         option routers 192.168.0.1;         option subnet-mask 255.255.255.0;         option domain-name-servers 192.168.0.1;         allow unknown-clients;     } } IPtables is Fun! Suddenly everything is kittens! It's kitten net. /sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT --to-destination 64.111.96.38 For the uninitiated, this redirects all traffic to kittenwar. For more fun, we set iptables to forward everything to a transparent squid proxy running on port 80 on the machine. /sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1 That machine runs squid with a trivial redirector that downloads images, uses mogrify to turn them upside down and serves them out of it's local webserver. The redirection script #!/usr/bin/perl $|=1; $count = 0; $pid = $$; while (<>) {     chomp $_;     if ($_ =~ /(.*.jpg)/i) {         $url = $1;         system("/usr/bin/wget", "-q", "-O","/space/WebPages/images/$pid-$count.jpg", "$url");         system("/usr/bin/mogrify", "-flip","/space/WebPages/images/$pid-$count.jpg");         print "http://127.0.0.1/images/$pid-$count.jpgn";     }     elsif ($_ =~ /(.*.gif)/i) {         $url = $1;         system("/usr/bin/wget", "-q", "-O","/space/WebPages/images/$pid-$count.gif", "$url");         system("/usr/bin/mogrify", "-flip","/space/WebPages/images/$pid-$count.gif");         print "http://127.0.0.1/images/$pid-$count.gifn";     }     else {         print "$_n";;     }     $count++; }
  9. zbeng

    Ip Bomber

    nu mi se pare chiar asa bun
  10. Procese in Windows O aplicatie bazata pe Win32 consta din unul sau mai multe procese. Un proces, in cei mai simpli termeni, este un program executat. Modul oferit de Windows 9x pentru a avea control asupra aplicatiilor active este boxa de dialog "Close program" iar de Windows NT este "Task Manager". Citind acest eseu veti afla metodele de a evita aparitia programului in aceasta lista, si, din alta parte, o sa invatati cum sa scrieti un program ce va da controlul asupra proceselor in sistem. Enumarare procese Terminare procese Ascundere procese Links Enumarare procese Sa incepem de la urma, invatind modul de a enumera procesele. Pentru aceasta sint folosite functiile Tool Help ce se gasesc in kernel. Inainte de a incepe parcurgerea, trebuie facut un snapshot al sistemului. Aceasta este o necesitate datorita naturei multitasking a lui Windows. Un snapshot este o copie read-only a starii unui sau mai multor obiecte din memoria sistemului: procese, threads, module si heaps. Procesele ce folosesc functiile Tool Help citesc listele din snapshot in locul accesarii directe a listelor sistemului de operare (SO). Listele obiectelor din memoria SO se schimba cind procese, threaduri, module, heaps sint create sau distruse, cind aplicatii sint executate sau terminate. Folosirea informatiei din snapshot previne aparitia inconsistentelor. Altfel, aceste schimbari in timpul enumararii elementelor ar putea duce la traversarea incorecta a listei sau sa cauzeze access violation. HANDLE WINAPI CreateToolhelp32Snapshot(  DWORD dwFlags,  DWORD th32ProcessID ); In parametrul dwFlags specificam ce elemente trebuie sa fie incluse in snapshot. In cazul dat ne intereseaza numai procesele, deci transmitem TH32CS_SNAPPROCESS. Parametrul th32ProcessID este identificatorul de proces si este folosit in cazul cind este nevoie de a include elemente specifice unui proces. Ca rezultat, functia intoarce un handle la snapshotul creat, pe care putem sa il folosim in functiile de enumarare. Acest handle trebuie sa fie inchis cu CloseHandle dupa ce nu mai este nevoie de el. typedef struct tagPROCESSENTRY32 {   DWORD dwSize;   DWORD cntUsage;   DWORD th32ProcessID;   DWORD th32DefaultHeapID;   DWORD th32ModuleID;   DWORD cntThreads;   DWORD th32ParentProcessID;   LONG pcPriClassBase;   DWORD dwFlags;   char szExeFile[MAX_PATH]; } PROCESSENTRY32; typedef PROCESSENTRY32 * PPROCESSENTRY32; typedef PROCESSENTRY32 * LPPROCESSENTRY32; In functiile urmatoare va fi folosita structura PROCESSENTRY32, in care va fi introdusa informatia despre proces. Inainte de a transmite structura la functie, trebuie initializat membrul dwSize cu sizeof(PROCESSENTRY32). BOOL WINAPI Process32First(  HANDLE hSnapshot,  LPPROCESSENTRY32 lppe ); Deci, hSnapshot este handle la snapshot, lppe este un pointer la o structura PROCESSENTRY32. Functia intoarce TRUE, daca datele despre primul proces au fost copiate in buffer, sau FALSE in caz contrar. Eroarea ERROR_NO_MORE_FILES este intoarsa de GetLastError daca nu exista nici un proces sau snapshotul nu contine informatie despre procese. BOOL WINAPI Process32Next(  HANDLE hSnapshot,  LPPROCESSENTRY32 lppe ); Parametrii si valorile intoarse au aceeasi semnificatie ca si in cazul precedent. Chemam in ciclu aceasta functie, pina cind lista nu se va epuiza (va intoarce FALSE). Nota Referitor la functiile Tool Help: Windows NT: Requires version 5.0 or later. Windows: Requires Windows 95 or later. Windows CE: Unsupported. Header: Declared in tlhelp32.h. Import Library: Use kernel32.lib. Referitor la WinNT: In versiunile WinNT mai mici decit 5, informatia despre procesele active se pastreaza in registru la HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionperflib. Terminare procese Identificatorul procesului identifica unic procesul in sistem. Dar pentru a accesa procesul din programul nostru e nevoie de obtinut un handle la el. Pentru aceasta vom folosi functia OpenProcess. HANDLE OpenProcess(  DWORD dwDesiredAccess, // access flag  BOOL bInheritHandle,  // handle inheritance flag  DWORD dwProcessId   // process identifier ); Handle-ul la proces trebuie sa aiba acces PROCESS_TERMINATE la el, ceea ce si indicam in dwDesiredAccess. BOOL TerminateProcess(  HANDLE hProcess, // handle to the process  UINT uExitCode // exit code for the process ); TerminateProcess este folosit pentru terminarea neconditionata a procesului. Se recomanda de a fi folosita numai in cazul cind alte metode nu au efect. Toate threadurile din proces sint terminate, dar librariile DLL atasate la proces nu sint notificate de detasare. Terminarea presupune urmatoarele: Toate handles deschise de proces sint inchise; Toate threadurile din proces termina executia; Starea obiectului proces si a obiectelor threads devine semnalata, ceea ce satisface toate threadurile ce asteptau inchiderea lor; Statusul procesului se schimba de la STILL_ACTIVE la codul de iesire a procesului. Terminarea unui proces nu cauzeaza terminarea child-proceselor. Terminarea unui proces nu neaparat elimina obiectul procesului din sistem. Un obiect proces este eliminat atunci cind ultimul handle ce indica la el a fost inchis. Ascundere procese Cel mai simplu de a exclude aparitia aplicatiei in lista dialogului "Close program" (aceasta nu include ascunderea procesului) este de a chema functia RegisterServiceProcess. DWORD RegisterServiceProcess(  DWORD dwProcessId,  DWORD dwType ); Daca dwType este 1 atunci ea va inregistra procesul indicat de dwProcessId (daca este NULL, se va subintelege procesul curent) ca un Service Process. Aceste procese nu sint inchise in faza de logoff. BO2K Doua moduri interesante sint implementate in BO2K pentru a ascunde procesele in Win9x/WinNT. In cazul cind este rulat sub Win9x: Se inregistreaza ca un Service Process; Schimba protectia tabelului de export al kernel32.dll cu ajutorul functiei nedocumentate VxDCall si o face accesibila pentru modificare; Aloca memorie shared cu permisiuni RWX (Read/Write/Execute) si copie acolo functiile sale analoage celor din Tool Help; Memoreaza adresele functiilor reale; Si in sfirsit, modifica adresele de intrare a functiilor Tool Help cu adresele functiilor sale.  Deci, cind un program va incerca sa enumere procesele active, de fapt vor fi chemate functiile lui BO2K, care la rindul sau cheama functiile reale, si controleaza sa nu fie intoarsa informatie despre procesul BO2K. La iesire, BO2K nu uita sa restabileze adresele originale, ceea ce este un lucru important. In cazul cind este rulat sub WinNT: Gaseste un alt proces pentru "incubatie"; Primeste la el un handle cu PROCESS_ALL_ACCESS; Aloca spatiu in procesul-victima pentru a injecta codul sau in el; Creaza un thread in procesul-victima cu ajutorul la CreateRemoteThread ce va executa codul injectat. Dupa cum va dati seama, nu va mai ramine nici o urma a procesului BO2K. Daca va intereseaza sursa pentru o studiere mai detailata, o puteti gasi aici - process_hop.cpp. Sursa completa si executabilul le puteti obtine la http://www.bo2k.com/. Links Documentatia referitor la toate functiile WIN API specificate in acest eseu o puteti gasi la msdn.microsoft.com/library - MSDN Online Library tlist.rar - Sursa programului TList inclus in MSDN Library ce exemplifica enumararea si terminarea proceselor pe ambele platforme: 9x si NT (VC++, 10 KB). processhandler.zip - Process Handler by Builtofire, include sursa (BCB, v. 0.99, 350KB) The Anonymous, mailto:the_a@europe.com?subject=Procese in Windows -------------------------------------------------------------------------------- COMPLETARE DE SFYNX (WINNT PROBLEM): ... la eseul tau am niste comentarii. RegisterServiceProcess este foarte buna, insa kernel-ul WinNT-ul nu exporta aceasta functie si atunci cand vei incerca sa executi programul din Windows NT, vei primi eroarea: Application linked to missing export (sau asa ceva). Pentru a ne asigura ca nu se intampla, uite cum am procedat (prezint codurile in Delphi, pentru ca sunt chiar paste-uite dintr-un program pe care-l scriu (care trebuie sa se ascunda : (vezi explicatia mai jos) Function WRegisterServiceProcess:Boolean; type Proc=procedure(PID,T:DWord); stdcall; Var RegProc:proc; FhLib: hInst; begin FhLib:=GetModuleHandle(PChar('kernel32.dll')); ///obtinem handle-ul kernel-ului If FhLib=0 then Exit; @RegProc:=GetProcAddress(FhLib,PChar('RegisterServiceProcess')); ///gasim adresa functie noastre if @RegProc<>nil then RegProc(GetCurrentProcessID, 1); ///daca functia nu este exportata, RegProc va fi null end; Iar functia de mai jos ascunde aplicatia si de pe TaskBar si din Alt-Tab Procedure HideIT(AppHandle:HWnd); Var AppWnd:DWord; begin WRegisterServiceProcess; AppWnd:=GetWindowLong(AppHandle,GWL_EXSTYLE); AppWnd:=AppWnd or WS_EX_TOOLWINDOW; SetWindowLong(AppHandle,GWL_EXSTYLE,AppWnd); ShowWindow(AppHandle,SW_HIDE); end; WRegisterServiceProcess, dupa cate ati vazut procedeaza astfel: Ia handle-ul bibliotecii Kernel32 si cauta in el offsetul la functia RegisterServiceProcess. Daca este gasita, atunci o executa. Metoda este foarte frumoasa, pentru ca astfel putem evita si o alta chestie neplacuta - analiza programului prin disasamblare. In primul rand la disasamblare programul nu mai are functia RegisterServiceProcess importata. In al doilea rand, daca in loc de PChar('RegisterServiceProcess') punem DecryptString(STRING_REGISTER_SERVICE_PROCESS) (care intoarce un string decriptat dintr-un array de string-uri encriptate, dupa indexul care i-l dam ca parametru), atunci "RegisterServiceProcess" nu va aparea nici in string-table-ul programului disasamblat (adica va aparea, dar encriptat). Aceeasi metoda poate fi folosita si la chemarea altor functii (ca WNetEnumCachedPasswords, RegOpenKey, sau connect() sau send()) invizibil, astfel incat jertfa sa nu poate intelege ca noi actually chemam aceste functii. Astfel, cine incearca sa-mi disasambleze programul, nu va vedea decat functii "prietenoase" in el ca gdi32.createbitmap() , dar de fapt programul face cu totul altceva. Ideal in cazul scrierii Trojan-urilor. De ce insist asupra ideii - cineva mi-a trimis odata un fisier .exe sustinand ca este fotografia ZIP-uita, dar dupa ce am disasamblat-o si am vazut functiile pe care le importa am hotarat ca este cam complicat ca un self extracting .exe sa aiba importuri din advapi si mpr.dll. De fapt era NetBUS. Anyways. cam asta era
  11. Cum lucram cu socket-tii?              by Zbeng Cum lucram cu socket-tii ? Cred ca de multe ori va-ti intrebat cum lucreaza BO2K sau exploiturile ! (Sper sa nu va dau ideii Pai chiar asa de complicat asa nu poate fi ! hai sa vedem cum naiba se lucreaza cu socket-tii ! 1. Ce este un socket ? Pai mai "babeste" spus este un canal de comunicatie ! Unu la mana exista mai multe tipuri de socketuri : 1. SOCK_STREAM : bidirectional , sigur 2. SOCK_DGRAM : bidirectional , nesigur (pachetele sar putea sa nu se mai intoarca 3. SOCK_RAW : folosit pentru "dedesupturi" 4. SOCK_PCK : cred ca este cel mai vechi (recomandabil a nu se folosi Doi la mana exista mai multe tipuri de domeni (ce fac domenile astea ? impun niste reguli de comunicatie socketurilor !) 1. AF_UNIX - domeniu de tip UNIX; 2. AF_INET - domeniu de tip Internet; 3. AF_RAW - domeniu de tip RAW 2. Cum creeam un socket ? connect = socket(domeniu,tip,protocol); Ex. Vrem sa cream un socket prin care sa ne putem lega la un port ! connect = socket(AF_INET,SOCK_STREAM,0); Easy ? Apropo connect este un integer care semnifica descriptorul . (da, da , exact ca la fisiere); 3. Cum asociem un nume socketului ? Pentru identificare socketului de catre procese acesta are nevoie de un nume. Cand folosim domeniul internet (AF_INET) acest nume este compus din adresa masini server cat si cea a masini client cat si a porturilor lor . Ex. bind(connect,nume,lungime nume) 4. Cum ne conectam ? Depinde ce vrem sa facem . Daca vrem client vom folosi functia connect : connect(descriptor, nume_socket, lungime_nume_socket); unde descripor este descriptorul socket-ului , nume_socket este socketul si lungime nume socket este sizeof(lungime_socket); ))) Daca vrem server folosim listen(decriptor,numar_conexiuni) unde descripor este descriptorul socket-ului iar numar connexiuni este numarul de conexiuni admise de server Ex. listen(connect,5); Dupa care folosim functia accept ca sa "acceptam" cererile catre server Ex. accept(connect,nume_socket, lungime_nume_socket); 5. Cum transmitem si receptionam date ? Sub unix (mai precis sub linux) avem fucntile read si write ! sunt exact aceleasi functii pe care le folosim si la citirea si scrierea in fisiere! Sub windoze lucrurile se complica cam un pic dar nu mult ! Adica se folosesc alte 2 functii : send(connect,buffer,sizeof(buffer),flaguri); recv(connect,buffer,sizeof(buffer),flaguri); unde flaguri reprezinta : MSG_PEEK - la un nou apel al functiei read() sau recv(), va fi citit din nou acelasi mesaj; MSG_OOB - este folosit pentru transmisia mesajelor cu prioritate maximã; MSG_DONTROUTE - trimite datele fãrã pachetele de rutare; (celelalte optiuni ale functilor send si recv sunt mura'n gura , nu ? 6. Cum inchidem un socket ? O data cu close(connect); (exact ca la fisiere) sau cu shutdown(connect,tip de inchidere); unde tip de inchidere poate fi 0: nu se main pot citi date prin socket 1: nu se mai pot trimite date 2: nu se mai pot receptiona date 7. Practica : 1. Vom pune in practica un client care drept sa spun l-am facut pt. linux dar cred ca nu veti avea probleme sa il compilati si in Visual C++ (special am folosit functile send si recv) 2. Vedeti ca programul de fata nu a fost compilat niciodata Am facut si eu ceva reciclare de cod , am scris ceva de mana si uite ce o iesit 1. Exemplu de client: #include<all_headers.h> ))))))) #define PORT 23 #define MAXLINE 4096 client(int socket) { char recvline[MAXLINE],sendline[maxline]; for( ; ; ){ if (recv(socket,recvline,MAXLINE,0)==0){ printf("server terminated prematurely ! n"); exit(1); } if (strncmp(recvline,"HALLO",5)==0){ strncpy(sendline,"Ce faci smechere ?",strlen("Ce faci smechere ?")); // rea ii lenea asta )) send(socket,sendline,strlen(sendline),0); } } } int main(int argc, char **argv) {     int          sockfd;     struct sockaddr_in   servaddr;     if (argc != 2)         err_quit("usage: client <IPaddress>"); ifdef comentariu Creeam socketul ... endif     sockfd = Socket(AF_INET, SOCK_STREAM, 0);     bzero(&servaddr, sizeof(servaddr));     servaddr.sin_family = AF_INET;     servaddr.sin_port = htons(PORT);     inet_pton(AF_INET, argv[1], &servaddr.sin_addr); ifdef comentariu Dupa crearea socket-ului neconectam ! endif     connect(sockfd, (struct sockaddr_in *) &servaddr, sizeof(servaddr)); ifdef comentariu Predam socketul unei functii care stie ce sa faca cu el endif     client(sockfd);    // in functa asta faceti numa send-uri si recv-uri ifdef comentariu Inchidem socketul endif  close(sockfd);        exit(0); } Ok ! acuma sa dam drumu si la un server : (asta o fost compilat si o functionat perfect (sub linux (Visual c++ cred eu ca nu stie de fork ! cred ca asta ar fi singurul inconvenient sub windows) 2. Exemplu de server : #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <errno.h> #include <stdlib.h> #include <signal.h> #ifdef LINUX #include <sys/time.h> #endif #define SERV_PORT 115 //#define DEBUG void sig_chld(int signo) {     pid_t pid;     int      stat;     pid = wait(&stat);     printf("child %d terminatedn", pid);     return; } int main(void) {     int              listenfd, connfd;     pid_t             childpid;     socklen_t           clilen;     struct sockaddr_in       cliaddr, servaddr;     void              sig_chld(int);     char              remotestring[512],check[32];     strcpy(remotestring,"SErVer Open and Readyn");     remotestring[22]=0;     listenfd = socket(AF_INET, SOCK_STREAM, 0);     bzero(&servaddr, sizeof(servaddr));     servaddr.sin_family   = AF_INET;     servaddr.sin_addr.s_addr = htonl(INADDR_ANY);     servaddr.sin_port    = htons(SERV_PORT);     bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr));     listen(listenfd, 1024);     signal(SIGCHLD, sig_chld);     for ( ; ; ) {         clilen = sizeof(cliaddr);         if ( (connfd = accept(listenfd, (struct sockaddr *) &cliaddr, &clilen)) < 0) {             if (errno == EINTR)                 continue;       /* ianpoi la for */             else                 printf("accept error");         }         if ( (childpid = fork()) == 0) {    /* procesul copil */             send(connfd, remotestring, strlen(remotestring), 0);             for({             recv(connfd, check, 511, 0); #ifdef DEBUG             printf("check%s",check); #endif             if (strncmp(check,"Close",5)==0) break;             if (strncmp(check,"Hallo",5)==0)               send(co nnfd,"Hallo ! I am the servern", 24, 0);             }             close(listenfd);    /* inchide socketul care asculta */             exit(0);         }         close(connfd);         /* inchidem socketul parinte */     }
  12. Cum sa deblocam telefoane GSM ? , by Zbeng __________________________________________________________________________________ Cred ca multi dintre voi ati avut de a face cu telefoane mobile blocate sau chiar ati reusit sa il blocati pe cel personal sau care pur si simplu lucrau in alta norma decat cea in care lucreza "provideri" de pe teritoriul romaniei sau al moldovei Si va-ti pus problema ce ati putea face ? Nimic mai mult decat sa incercati sa ii "modificati" sau sa ii "schimbati" "soft-ul" . 0. Precizare : Exista mai multe norme de lucru a telefoanelor celulare adica (din cate stiu eu si adevarul ii ca pe partea asta nu stiu prea multe) D1 si D2 ! In Romania este folosita norma D1 . I . De ce aveti nevoie : 1. Avem nevoie de un programator de epromuri seriale care sa stie urmatoarele protocoale : I2C , SPI , 3 WIRE (astea sunt cu cele care am lucrat eu) 2. Un ciocan (mai mare de lipit de 15 Watti alimentat la 12 Volti (putei lucra si cu un pistol de lipit dar nimeni nu garanteaza ca nu veti "inmormanta" telefonul !) 3. O tresa metalica sau o pompa de cositor. 4. O bere la baiatu ca sa va mai raspunda la intrebari 5. Mult curaj si un pic de nebunie 6. Un Hexeditor 7. Informatii despre memoria in cauza Si acuma ca sa fiu un pic mai explicit iata ce trebuie sa faceti : 1. Trebuie Indentificat eepromul care contine "soft-ul" gsm-ului 2. Trebuie dat jos eepromul 3. Citit prin programator si salvat fisierul cu dumpul de memorie 4. Modificat fisierul cu dumpul de memorie (inlocuire SPLockCode etc) 5. Rescris eepromul cu dumpul modificat 6. Cositorit la loc eepromul 7. Apasat pe butonul de start ))) II . Programatorul: Voi prezenta aici doua variante ale celui mai simplu programator de eeprom-uri dar care stie numai standardul I2C ! In rest tre sa va chinuiti un pic ca sa le faceti pe celelalte (SPI , 3 WIRE)! ) Programator pe interfata seriala : (schema netestata)     +Vcc 12v ö 15v   TxD> O--+   (3)  |      ---      | | 2k2      | |      ---   1N4148       |    ||       +--------|-|-------+---------+       |    |/|   |    |      ----        |+    |      /        ---    |      /   5V6    ---    |      ----      10u |    |       |         |    |       |         |    |       |         �    |      ---             |                 +--------+                 |                 .  +----------+    O +Vcc     A0| +--+ |VCC   | +---------|1    8|---------+-----+ |   A1|     |WP      | +---------|2    7|---------+  R 20K |   A2| 24CXX |SCL   |  | +---------|3    6|---------)-----+---< Clock > <-------------< RTS |   GND|     |SDA   |              ----- +---------|4    5|---------)---------<Data In/Out> <-+-| 2k2 |---< DTR |    +----------+    |            | ----- +------------------------------+            +---//------< CTS | | --- - Programator pe interfata paralela : (schema testata)  +----------+    O +Vcc 5v     A0| +--+ |VCC   | +---------|1    8|---------+--+--+ |   A1|     |WP     | | +---------|2    7|---------+ R R 2x20K |   A2| 24CXX |SCL   | | | +---------|3    6|---------)--)--+---< Clock > <-------------<? |   GND|     |SDA   | |            +---------|4    5|---------)--+------<Data In/Out> <-------------<? |    +----------+    |             +------------------------------+            | --- - Dezavantajul programatorului pe interfata paralela este ca nu i-am adaugat o sursa de alimentare direct din calculator ci i-am facut alimentarea separata cu un stabilizator de tensiune de 5v. Programul aferent poate fi modificat astfel incat sa i se poata adauga o sursa de tensiune ca cea de la portul serial (binenteles tot pe portul serial nu pe cel paralel) Avantajul portului serial este ca ofera tensiuni intre -15 si +15 v (parca asa imi aduc aminte) si se poate construi o mini sursa de alimentare pentru circuitele care nu consuma mult ! La ce mai este bun acest programator ? La televizoare , radio casetofoane si tot ce foloseste memorie de tip I2C (SPI sau 3WIRE) . Probabil va intrebati la ce pini de pe portul paralel se leaga programatorul ? Si eu ma intreb caci mi-am uitat si mie asa de lene sa caut programatorul ! Dar aveti sursa , ia incercati sa va dati seama singuri ! Un hint : In-ul se leaga cu Out-ul la un loc pe acelasi pin (pe inerfata paralela). Documentatie despre standardele I2C, SPI,3Wire gasiti la : http://www.microchip.com/ http://www.fairchild.com/ si in speta la toate firmele producatoare de eepromuri III . Identificarea eeprom-ului in Celular ! Eeprom-urile , cum spuneam si mai sus , sunt de mai multe feluri : Protocol Tip Memorie    Marime I2C (24C01/02/04/08/16 , 1k/2k/4k/8k/16k-bit) SPI (25C02/04/08/16/32 , 2k/4k/8k/16k/32k-bit) 3Wire (93C46/56/57/66/86 , 1k/2k/2k/4k/16k-bit) Spre exemplu : 24C04 este o memorie de 512 bytes 24C08 este o memorie de 1024 bytes and etc. (Sper ca imi aduc bine aminte !) Incercati sa le cautati dupa codurile de mai sus. Memorile sunt de tip SMD si cele mai multe sunt pe 8 pini IV. Programul : Este foarte usor de utilizat si modificat. Sper ca va veti da repede seama cum lucreaza. Pe partea asta nu ar fi probleme mari ! Problema este ca pe vremea aia lucram cu Watcom C++ si s-ar putea sa fie unele incompatibilitati cu Borland C++. Syntax : printf("eprombin -r/w size filen"); printf("- rw : read or write from eepromn"); printf("size : size of eeprom memory in bytesn"); printf("file : load or save in this filen"); aici gasiti sursa - eprombin.cpp V . Cea ce trebuie sa facem : De la caz la caz avem nevoie ori sa schimbam norma ori sa deblocam telefonul ! In cazul schimbului de norma avem nevoie sa schimbam intreg continutul eeprom-ului cu un dump din acelasi tip de telefon celular ,celularele ar trebui sa fie identice dar pe norma care ne intereseaza . In caz-ul deblocari telefonului lucrurile nu stau chiar asa de simplu (cu exceptia cazului in care adoptam aceeasi metoda ca mai sus) Tin sa trag atentia ca copierea memoriei dintr-un telefon in altu atrage dupa sine si copierea IMEI-uli cea ce este ilegal in unele tari ( habar nu am daca si in romania dar parca stiam ca tine tot de legea copyright-ului ) Fiecare telefon are IMEI-ul propriu si unic si il putei vizualiza pe aproape orice telefon cu *#06# In cosencinta ar fi foarte bine daca am lucra pe dumpul de memorie al telefonului in cauza ! VI . Practica : Sa presupunem ca avem un telefon celular de genu Alcatel HC 1 care este blocat (SPLock code). Dar stim ca Imei location 0x160 - 0x169 SPLock location 0x16A - 0x187 Acest telefon foloseste o memorie de tip 24c04 sau 24c046 (standard I2C) Prima data vom da jos memoria eeprom si o vom citi cu programatorul de eepromuri si o vom salva intr-un fisier de binar . (Aveti grija cu salvatul memoriei caci daca o pierdeti sar putea ca mai tarziu sa fie unica solutie de a pune telefonul in functiune Dupa ce am salvat memoria intram cu un editor hexa in ea si vom rescrie octeti de la 0x016A la 0x0187 cu 0 ! si gata SpLock code-ul este sters si telefonul deblocat ! Lipiti memoria la loc si ENGAGE ! ! Multi dintre voi veti intreba de unde puteti obtine informatile acestea ? Raspunsul meu este : De internet nu ati auzit ? Ia da-ti o raita pe la boardul de la www.gsmag.com !! Sa nu credeti ca totul este asa de simplu ! Povestea cu alcatelul este cel mai simplu exemplu cu putinta ! Ia priviti cum arata un Philips Diga : 04d - 050   security, 0d0 - 0fd   SP-lock area (0d0 > checksum), for not locked :  0d0 : cc 02 31 32 33 34 00 00 00 00 00 00 .... 00 500 - 515   IMEI area : 500 > checksum , 506 - 50d IMEI open , 50e - 515 IMEI scrambled , 501 - 505 : 02 31 32 33 34 . pentru inlocuirea IMEI-ului trebuie sa inlocuiti secventa de octeti de la 500 la 515 din alt dump de memorie (cel original). No acum vo cam pierit pofta de deblocat telefoane ... ! ) VII. Nu exista alta cale ? Ba exista si alta cale de a debloca telefoane (la Erricson stiu sigur) si anume printr-o interfata legata la calculator (portul serial) ,dar pentru astea tre' sa mai sapati prin internet ... VIII. Disclaimer Tot cea ce gasiti aici este in scopuri pure educationale si nu imi asum nici o raspundere pentru pagubele materiale , morale sau fizice ! (Na ca v-am spus-o si pe asta)
  13. deci sa inteleg si eu: cauta site-uri cu virusi si cand accesezi linku te infectezi?,pt ce este eficient asa ce
  14. zbeng

    interesant

    cu virusi etc mai direct nu stiu sal descriu http://original.avira.com/en/threats/index.html
  15. zbeng

    coduri sursa

    cred ca nici nu a citit ce am scris eu=)))))
  16. zbeng

    WWW Hack

    a mai fost postat parca
  17. zbeng

    templete moca

    mulet templete gratis le puteti gasi aici sunte destule http://www.templateland.info/
  18. 162 Flash MX Components Most Wanted Flash MX Components enable the creation of self-contained design building blocks that can be simply dragged and dropped into any Flash movie. They are flexible enough to be easily customized to take care of many different tasks. You can repurpose the standard elements of your design, application, or game, and use them over and over again. Components can be used by anyone, not just the person who created them. So in this book, we've done all the hard work for you and collected together the Most Wanted components that will make your life easier. Flash components included are: Event Calendar; Text Editor; XML News Ticker; Tool Tip; Sketchpad; Video Player; Image Scroller; Patter Generators; Tab Contrl; Sliding Panel; Color Picker; Game Player Selector; Particle Emitter; Layout Manager; Data Grid; Movie Loader; Image Modulators; XML to ActionScript Converter; Virtual 3D Trackball; Text Animations, Dynamic Text Manager, and plenty of other Flash. DOWNLOAD http://rapidshare.de/files/20569651/MostwantedFlash_Mx_Components.zip
  19. zbeng

    Buna

    bun venit pe aici
  20. fatality ai inceput sa inveti linux sau te ai lasat iara?
  21. PHLAK vine de la Professional Hackers Linux Assault Kit o distributie folositoare in special hackerilor. Are tool-uri si documentatie pentru securitate. Have fun! Marime: 576,62 Mb Download: FTP >> [url]ftp://192.35.244.50/opsys/linux/phlak/phlak-0.3.iso[/url] HTTP >> [url]http://ftp.iasi.roedu.net/mirrors/ftp.phlak.org/pub/phlak/0.3/phlak-0.3.iso[/url]
×
×
  • Create New...