nedo
Active Members-
Posts
2065 -
Joined
-
Last visited
-
Days Won
11
Everything posted by nedo
-
Copyright @ patrunjel pentru asta, parca la semnatura lui am vazut-o o data. Ma-ta e asa grasa, ca functia recursiva care ii calcula masa a dat un buffer overflow.
-
Incearca sa pui in paranteza len(dns.Text) = 0
-
Chiar ca e stupita intrebarea. Cursurile sunt puse la dispozitie de catre mai multe universitati americane. E logic sa fie in engleza.
-
Si totusi, poate posta cineva subiectele? Sunt curios.
-
Dupa cum au spus Xander si gwydion, folositi dns-urile google si nu aveti probleme. Povestea e in felul urmator. Niste baieti au facut un virus care infecteaza calculatoarele si schimba dns-urile de pe calculatoare cu alte dns-uri detinute de "Hackeri". Pentru a repara daunele (pentru ca ar fi necesara formatarea a aproximativ 500.000 de calculatoare-cifra estimativa a numarului de calculatoare infectate cu acel virus) FBI-ul a "preluat" acele dns-uri si au inlocuit datele malitioase- cu date corecte. Ceea ce se presupune ca vor face pe 8 martie, este ca vor opri aceste dns-uri. Iar cei care au calculatoarele infectate cu acest virus nu se vor mai putea conecta la internet deoarece dns-urile prin care o adresa de genul "www. rst center . com" este atribuita unui ip nu va mai exista. Solutia? Devirusarea calculatorului respectiv si reintroducerea unor adrese dns corecte.
-
Pentru ambele definitii ale operatorului + ai uitat sa pui inainte multime tu ai definit doar multime operator+(argumente) trebuia multime multime::operator+(argumente)
-
, de asta nu stiam. Uite ca totusi exista si ceva true random.
-
El folosea versiunea microsoft a strcpy si anume strcpy_s, probabil eroarea primita este datorita faptului ca a inclus "string" si nu versiunea c si anume "string.h" Pentru referinet aici
-
depinde cum e implementat. Nu cred ca e cineva atat de ... neinspirat sa implementeze un program care sa genereze numere random de la inceput, si sa le foloseasca dupa. Cel mai probabil generarea numarului random se genereaza punctual atunci cand trebuie "aruncate zarurile". Totusi acesti algoritmi pot fi nu tocmai random. Eu am observat in c++ ca uneori daca execut de mai multe ori rand() atunci se intampla sa am un anumit tipar in felul in care sunt generate numerele. Acelasi lucru poate fii si in jocul respectiv de table.
-
Nu exista ceva realmente random. Algoritmurile care sunt postate pe net, sunt de fapt pseudo random number generators. Cea mai buna solutie a ta eset sa folosesti un random number generator care foloseste un seed(samanta), adica pleaca de la un numar(de cele mai multe ori timp-ul) si in baza unui algoritm genereaza un numar. Altfel singura sansa de random reala este datul cu zarul
-
Linia numarul 12 este strcpy_s(pnume, n); Spune ce anume eroare iti da. Daca am gasit eu referinta corecta pentru strcpy_s ai nevoie ca al 2-lea argument sa fie numarul de caractere ce trebuie copiate. Adica strcpy_s(pnume, (sizeof(n)/sizeof(n[0])), n) prin (sizeof(n)/sizeof(n[0]) poti afla numarul de elemente dintr-un char array. Totusi pentru corectitudine te rog sa postezi eroarea.
-
a mai fost postat aici
-
heh, nu stiam ca tu ai si contul asta ...
-
Observand ca gotroot e banat, va postez mai jos versiunea creata de mine, folosind libraria map din stl. Aceasta versiune i-am trimis-o lui gotroot acum 2 zile pentru a vedea cum pot fi folosite hash-urile. Pe un fisier cu 15000 de linii programul ocupa doar 1.5 mb. #include <iostream> #include <fstream> #include <map> #include <string> using namespace std; int main(int argc, char* argv[]) { if(argc < 3) { cout << "Utilizare: " << argv[0] << " fisierIntrare fisierIesire " << endl; } else { ifstream fin(argv[1]); ofstream fout(argv[2]); map<string, int> buffer; // cheia este stringul pentru ca aceasta trebuie sa fie mereu diferita int index = 0; if(fin.is_open() && fout.is_open()) { while(fin.good()) { string linie; getline(fin, linie); buffer[linie] = index; } for(map<string, int>::iterator it = buffer.begin(); it != buffer.end();it++) { fout << (*it).first << endl; } } else { cout << "Nu am putut deschide " << argv[1] << " sau " << argv[2] << endl; fin.close(); fout.close(); } } return 0; } Daca se doreste si o versiune cu gui, postati aici si voi incerca sa fac o versiune cu gui in c++ cu wxwidgets.
-
Daca am inteles eu bine cel care a facut deface-ul este acelasi cu cel care a dat raspunsul asta: So... ce poti sa ceri.
-
Citeam zilele trecute solicitarea cuiva pentru un word list. M-am gandit sa fac eu unul. Programul este scris in c++ iar pentru interfata grafica este utilizat wxWidgets, deci pentru cei care vor sa si-l compileze singuri(aveti atasat proiectul code::blocks) aveti nevoie de librariile wxwidgets. Va avertizez totusi ca atunci cand genereaza wordlist-ul interfata se v-a bloca, nu il inchideti pana cand nu termina. Va va anunta printr-un message box. De asemenea luati aminte ca wordlisturile sunt enorme, spre exemplu pentru toate combinatiile de 6 caractere cu un folosind doar literele de la a la z, fara majuscule a generat un fisier de 1.9 gb. Il folositi pe propria raspundere. De asemenea daca cineva are o varianta mai eficienta pentru generarea cuvintelor decat aceasta: void WordlistMakerFrame::makeWordlist(std::string& word, std::string& charSet, int wordSize, std::ofstream& fOut) { if(wordSize == 0) { for(unsigned int i = 0; i < charSet.size(); i++) { word[wordSize] = charSet[i]; fOut << word << std::endl; } word[0] = charSet[0]; } else { for(unsigned int i = 0; i < charSet.size(); i++) { word[wordSize] = charSet[i]; makeWordlist(word, charSet, (wordSize - 1), fOut); } } } Sa imi spuna si mie. Mi-am batut capul cateva ore bune pentru a gasii o functie recursiva cat de cat eficienta si corecta.(E scrisa de mine). Sper sa va placa. Le: Pentru paranoici link scan pe virus total al versiunii de release click Edit 24.03.2012 Am revenit cu o noua versiune, oarecum imbunatatita + un link de download nou deoarece cel vechi se pare ca a fost sters. In aceasta versiune generarea wordlistului se face intr-un thread separat interfata ne mai fiind blocata. Momentan threadul nu poate fii oprit decat prin iesirea din aplicatie deoarece threadul invoca o functie recursiva, cea de mai sus, si aceasta nu se poate opri inainte sa isi termine executia. Voi incerca sa rezolv aceasta problema ... probabil trebuie sa fac executia altfel in interiorul clasei threadului. Eventual o sa incerc sa folosesc mai multe threaduri. In acest moment aplicatia pe un dual core foarte slab a generat aproximativ 8 milioane de combinatii de 5 caractere cu un charset a-z in cateva minute. Sper sa va foloseasca, si daca mai aveti vreo sugestie va stau la dispozitie. Link catre proiectul codeblocks aici In folderele bin/debug si bin/release aveti cele 2 versiuni ale aplicatiei cu cele 2 dll-uri necesare rulari lui.
-
am facut mici experimente inainte sa dau raspunsul respectiv, cu structuri cu cate 2-3 membri si de acolo am ajuns la concluzia respectiva. AM citit apoi despre offsets si despre cum sunt stocate im memorie variabilele intr-un struct si am inteles de ce da 40 in cazul meu(x64) si 32 pe x86. Guess there still is a lot for me to learn .... We keep going.
-
Mdea, se pare ca aberez, raspunsul meu e gresit, dar nu inteleg de ce.
-
daca e pe 8 octeti atunci rezultatul este 8 x 9, 72. Intr-un struct, toate variabilele ocupa cat cea mai mare variabila.
-
Cursuri Gratuite Online de la Universitatea Standford
nedo replied to begood's topic in Stiri securitate
Computer Scienc 101 si Human-Computer Interaction si Computer Security, ma bate matematica prea tare, pe moment, pentru algoritmica. -
Pentru un system pe 32 de biti presupunem ca db ocupa 4 bytes; sizeof(group) va afisa marimea lui db x fiecare variabila din struct, pentru short[3] fiecare valoarea va avea tot marimea de 4 bytes. Deci pentru aceasta marime am avea 36.
-
putem stii cat de lunga e parola? Numarul de caractere?
-
De fapt e o protectie pentru prea multe requesturi, daca nu ma insel, asteapta 1-2 secunde si dai refresh la pagina sau nu mai deschide mai multe pagini in mai putin de o secunda.
-
Momentan implementarea unor technologii pentru preluarea energiei solare este foarte scumpe, deoarece inca sunt foarte scumpe panourile solare, chiar si cele care au la baza carbonul in loc de siliciu. Problema e ca cele pe baza de carbon au doar 6-7% eficienta pe cand cele pe siliciu au 15%. Totusi cu un efort se poate face si investitia se va amortiza in aproximativ un an. cel mai "verde" oras din lume
-
De fapt sunt estimari. check. Pentru fiecare counter de acolo sunt informatii privind modul de obtinere al acelor date.