Jump to content

SlicK

Active Members
  • Posts

    350
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by SlicK

  1. MultInv vine de la "multiplicative inverse" si e necesar pentru ca d=e-1 mod phi sau alfel spus d e "multiplicative inverse" pentru e mod phi. Primul cod trebuie sa compileze fara probleme in Visual Studio 2008. Unele caractere sunt neinteligibile pentru ca sunt intre 0x00 si 0xFF adica in afara ASCII-ului printabil.
  2. RSA pe 16 biti, daca vrei mai mult trebuie sa folosesti clase de numere mari. #include <windows.h> #include <stdio.h> #include <math.h> #include <time.h> bool IsPrime(int nr) { for(int i=2;i<nr-1;i++) { if(nr%i==0) { return(false); } } return(true); } int RandPrime(int min, int max) { int nr=rand()%(max-min+1)+min; while(!IsPrime(nr)) { nr++; } return(nr); } int GCD(int nr1, int nr2) { do { int tmp=nr1%nr2; nr1=nr2; nr2=tmp; } while(nr2!=0); return(nr1); } int MultInv(int a,int m) { a=a%m; for(int i=1;i<m;i++) { if(a*i%m==1) { return(i); } } return(0); } int modpow(int b, int e, int m) { int ret=1; while(e>0) { if((e&1)==1) { ret=(ret*%m; } e=e>>1; b=(b*%m; } return(ret); } void GenKeys(int& n,int& e,int& d) { int p=RandPrime(0x43,0x7F); int q=RandPrime(0x43,0x7F); if(p==q) { return(GenKeys(n,e,d)); } n=p*q; e=3; int phi=(p-1)*(q-1); if(GCD(e,phi)!=1) { return(GenKeys(n,e,d)); } d=MultInv(e,phi); if(d==0) { return(GenKeys(n,e,d)); } } void Encrypt(int n,int e,char* src,int srclen,unsigned char* dst,int& dstlen) { for(int i=0;i<srclen;i++) { int c=modpow(src[i],e,n); dst[i*2] =(c>>8)&0xFF; dst[i*2+1]=c&0xFF; } dstlen=srclen*2; } void Decrypt(int n,int e,unsigned char* src,int srclen,unsigned char* dst,int& dstlen) { for(int i=0;i<srclen;i+=2) { int x=(src[i]<<8)|src[i+1]; dst[i/2]=(unsigned char)modpow(x,e,n); } dstlen=srclen/2; } int main() { srand((int)time(0)); int n,e,d; GenKeys(n,e,d); printf("n=%X\n",n); printf("e=%X\n",e); printf("d=%X\n",d); char plain[]="Hello RSA"; printf("%s\n",plain); unsigned char encr[256]=""; int elen; Encrypt(n,e,plain,strlen(plain),encr,elen); for(int i=0;i<elen;i++) { printf("%c",(UCHAR)encr[i]); } printf("\n"); unsigned char decr[256]=""; int dlen; Decrypt(n,d,encr,elen,decr,dlen); for(int i=0;i<dlen;i++) { printf("%c",decr[i]); } printf("\n"); getchar(); return(0); } Poti sa pastrezi invitatia
  3. De ce sa fie cerc si nu un oval? sau un triunghi? Prin definitie "axa numerelor" are o singura dimensiune, adica alegand un punct oarecare ca punct de reper(sa-i spunem 0) de pe axa(X) un punct(numar) poate sa fie doar la distanta A (valoarea) fata de 0. Axa asta nu poate avea alta forma decat dreapta pentru ca in momentul in care ai curbat-o ai adaugat o noua dimensiune deci orice punct va fi definit prin minim 2 distante(A si pe 2 axe(X si Y) la fel de drepte si care se intersecteaza intr-un punct numit origine(00). In momentul in care ai curbat axa atunci fostele puncte -infinit si + infinit aflate intr-un spatiu unidimensional au devenit 2 puncte intr-un spatiu bidimensional definite prin 2 seturi de coordonate diferite. Ce vrei tu sa demonstrezi de fapt este ca un cerc are o singura dimensiune sau ca orice obiect cu n dimensiuni are de fapt n-1 dimensiuni. Coordinate system - Wikipedia, the free encyclopedia
  4. Da, au facut modificari si programul nu mai functioneaza(cel putin la unele din seriale)...
  5. Asa si trebuie, mai multe detalii? Ai procesor pe 64 de biti? Invalid si mai ce? trimite-mi PM cu un printscreen.
  6. Incearca asta, posibil sa nu ai runtimeul http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
  7. Acum merg si subtitrarile http://rstcenter.com/forum/25068-rst-vplay-ro-treci-peste-timpul-de-asteptare.rst#post168045
  8. Mersi La subtitrare nu prea am ce sa-i fac deocamdata pentru ca e un feature al playerului lor.
  9. Cu aplicatia asta se poate trece peste cele 30 de minute de asteptare de la Vplay.ro si de asemenea downloada videoclipurile in format mp4. Campul "Vplay link" primeste un link de forma hxxp://www.vplay.ro/watch/XXXXXXXX/ iar butonul "Open" deschide un player localhost care afiseaza videoclipul. EDIT: Updatat la 2.0 -Afiseaza subtitrarea -Suporta si link de forma hxxp://www.vplay.ro/waiting/XXXXXXXX/ DOWNLOAD: http://www.fileshare.ro/9279374565.12 http://www.mediafire.com/?h2w8no7v7y8tvwj http://www.easy-share.com/1911918606/Vplay0Wait.zip http://rapidshare.com/files/413643911/fileshare.ro_Vplay0Wait.zip http://www.speedyshare.com/files/23852903/fileshare.ro_Vplay0Wait.zip http://www.mediafire.com/?uichk5b89hc65tt
  10. Tehnologia asta e disponibila de cateva decenii. Tipul asta de program foloseste Algoritmi Genetici si Retele Neurale doar ca poate ei fac lucrurile la un nivel mai inalt avand mai multa putere de calcul. Genetic algorithm - Wikipedia, the free encyclopedia Neural network - Wikipedia, the free encyclopedia
  11. Programul permite selectarea serverului cu care se termina o conexiune TOR in esenta pemitand selectarea ip'ului din TOR. Ca aplicatia sa se poata conecta, TOR trebuie configurat sa permita autentificare fara parola Executabil http://www.fileshare.ro/8237785395.92 Tut video http://www.fileshare.ro/8220338064.72 Edit: Updatat la 1.1 (fixat un bug la reload)
  12. Disonanta Cognitiva
  13. Da, ramane injectat doar cat timp ruleaza procesul tinta.
  14. #include <stdio.h> #define A + #define AA - #define BB 1 #define AAA int #define AAAA main #define AAAAA ( #define AAAAAA ) #define AAAAAAA { #define AAAAAAAA putchar #define AAAAAAAAA , #define AAAAAAAAAA ; #define AAAAAAAAAAA } #define AAAAAAAAAAAA " #define AAAAAAAAAAAAA * #define AAAAAAAAAAAAAA / #define H AAA AAAA AAAAA #define B(AAAAAAAAAAAAAAA) AAAAAAAA AAAAA AAAAAAAAAAAAAAA AAAAAA AAAAAAAAAA #define BBB AAAAA BB A BB A BB A BB A BB A BB A BB A BB A BB A BB AAAAAA #define e AAAAAA AAAAAAA B(AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA) B(BBBB) #define l B(BBBB A AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA AAAAAAAAAAAAAA BBB) #define T B(AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA A BBB A BB A BB) AAAAAAAAAAA #define o B(BBBB A AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA AAAAAAAAAAAAAA BBB A BB A BB A BB) #define R B(AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA AA BBB AAAAAAAAAAAAA AAAAA BB A BB A BB A BB AAAAAA) #define BBBB AAAAA AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA A AAAAA BBB AAAAAAAAAAAAA AAAAA BB A BB A BB AAAAAA AA BB AAAAAA AAAAAA #define S B(AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA A BBB) B(AAAAA AAAAA BBB AA BB AA BB AA BB AAAAAA AAAAAAAAAAAAA BBB A BB A BB AAAAAA A BBB A BB) H e l l o R S T
  15. ha, s-a aflat ar fi fost amuzant sa puna textul asta in loc de hash
  16. Fixed: fin_xor|=store&0xFF<<i*8; => fin_xor|=(store&0xFF)<<(i*8);
  17. Gen cel mai mic executabil care sa scrie "Hello RST!". PS: 130 bytes cu shellcode
  18. #include <windows.h> #include <stdio.h> DWORD rol(DWORD value, DWORD places) { return (value<<places)|(value>>(32-places)); } DWORD ror(DWORD value, DWORD places) { return (value>>places)|(value<<32-places); } int main() { char name[MAX_PATH]; printf("Name:"); gets(name); char str_xor[MAX_PATH]; for(int i=0;i<strlen(name);i++) { str_xor[i]=name[i]^0x40; } DWORD fin_xor=0; DWORD store=0; BYTE first=name[0]; for(int i=0;i<strlen(name);i++) { store=store>>8; store=store<<8; store|=(str_xor[i]&0xFF); store*=first; store+=first; store=rol(store,4); store^=0x14; store=ror(store,4); if(i<4) { fin_xor|=(store&0xFF)<<(i*8); } } DWORD serial=store^fin_xor; printf("Serial=%u\n",(DWORD)serial); getchar(); return(0); }
  19. >ping yahoo-invisible-detector.persiangap.com Pinging yahoo-invisible-detector.persiangap.com [67.19.64.130]
  20. Incearca cu name: SlicK serial: 2582183832 Daca merge atunci asa trebuie sa arate serialul, daca nu atunci problema e din alta parte PS: Serialul de la 0x0040329C trebuie reversuit pentru ca acolo e little-endian
  21. Programul nu are nimic doar ca nu probabil nu ai inteles cum trebuie sa arate serialul, StrToIntA converteste un numar din string in integer de exemplu "123" in 123. Daca stringul nu contine un numar atunci returneaza 0 bineinteles. La 00401118 ai serialul valid in EAX, convertit in decimal e serialul de care ai tu nevoie. Daca ai nevoie iti explic si algoritmul de key generation(ai grija la rol si ror)
  22. Ok, atunci tu cum propui ca un cod pentru 10 calatorii sa nu mai functioneze dupa ce ai facut alea 10 calatorii intrand pe la terminale diferite? Si retine ca metroul din bucuresti s-a informatizat destule de mult de cand au pus monitoarele alea pentru metroul urmator in fiecare statie.
  23. Sanse de a genera codurile e destul de mica asa ca puteti sa va luati linistiti abonamente deocamdata Problema e modul de functionare(pe care il banuiesc eu), pentru ca exista o diferenta majora intre cartelele clasice(sau cardurile RFID) si codul e bare: codul de bare nu poate fi modificat(pentru a incrementa numarul de calatorii facute) deci numarul total de calatorii permise si numarul de calatorii facute trebuie stocate cumva(probabil intr-o baza de data off-site) asa ca cel mai probabil codurile sunt generate aleator sau folosind un algoritm si apoi stocate pentru a fi folosite pe post de parola in combinatie cu cele 2 numere de mai sus(cel putin): select calatorii_totale ,calatorii_efectuate from coduri where cod='01010101...'; if(cod exista) { if(calatorii_efectuate<calatorii_totale) { //allow update coduri set calatorii_efectuate=calatorii_efectuate+1 where cod='01010101...'; } else { //jet } } else { //jet dublu(ca Birkoff a generat un cod care nu e in baza de date) }
  24. Inca unul: 01004010000010010010010110121268840356657848 de fapt de DataMatrix nu QR-Code
  25. Daca reusesti sa scrii codul intr-un asembler poti sa-l rulezi in dupa aceea in programul tau direct ca si cod masina(dar ai grija la adrese) #include <stdio.h> typedef void (__stdcall *tfunk)(); char funk_raw[]="\x90\x90\x90\x90"; //crasheaza ca nu se duce nicaieri dupa ultimul NOP int main() { tfunk funk=(tfunk)&funk_raw; funk(); return(0); }
×
×
  • Create New...