staticwater Posted February 24, 2012 Report Posted February 24, 2012 Nu ma intereseaza metoda, doar rezultatul final. Dedic acest Crackme maestrului Sulea,dar bineinteles toata lumea e binevenita! Distractie placuta!https://rapidshare.com/files/4005609969/CrackMe.rarParola: crackme123 Quote
staticwater Posted February 26, 2012 Author Report Posted February 26, 2012 (edited) Un mic ajutor...Programul este compus din doua fisiere executabile, CrackMe.exe si Loader.exe.1.CrackMe.exe1.1 Contine un Form, un EditBox (TextBox) si un Button. Cind userul apasa button-ul "Test", programul verifica daca parola e corecta si afiseaza un mesaj:"Invalid password!" sau "You entered the correct password!". Nimic nou sub soare. Problema e ca un om experimentat in max. 5 minute gaseste parola, chiar daca folosim timere, criptam parola, etc..1.2 Comprimam/Criptam CrackMe.exe1.3 Convertam fisierul comprimat intr-un string1.4 Stocam stringul in Loader.exe(vezi imaginea)2.Loader.exe2.1 Dupa pornire Loader.exe citeste stringul2.2 Stringul e convertat intr-un memory stream2.3 Memory stream e decomprimat(CrackMe.exe se afla, in momentul de fata in memorie)2.4 Injectam CrackMe.exe in Loader.exe(direct din memorie, fara HDD)Citirea stringului, convertarea si injectarea dureaza foarte putin, userul nu observa nimic. Chiar daca Loader.exe e desasamblat, CrackMe.exe apare ca un string compresat/cripat. Nu zic ca nu se poate decripta dar probabil e destul de greu. Fara decriptare/decompresare parola ramane invizibila! Inca ceva, metoda de injectare de obicei e detectat de AV. Am facut un mic artificiu, am scris codul de injectare intr-un dll, dll-ul e convertat tot intr-un string dupa care e concatenat cu stringul CrackMe.exe. Astfel dupa pornire Loader.exe separa cele doua stringuri, incarca dll-ul(tot in memorie) gaseste adresa functiei de injectare...CrackMe.exe e injectat. Ca sa fie totul transparent Loader.exe se numeste tot CrackMe.exe! Edited February 26, 2012 by staticwater Quote
Paul4games Posted February 26, 2012 Report Posted February 26, 2012 Ce faci tu este foarte des folosit in cryptere si cred ca, cu cateva hookuri la api-urile folosite de runpe(functia ce se ocupa de injectie) imediat vei gasi parola.... Quote
staticwater Posted February 26, 2012 Author Report Posted February 26, 2012 @Paul4gamesCu api hook nu cred ca vei gasi parola! Solutia e un memory dumper(LoardPE de exemplu) combinat cu ImportRec. Oops, am divulgat solutia! In fine, astept parola in continuare. Mai incolo poate postez si sursa, e scris in d2007, deci o sa-ti placa! Quote
Paul4games Posted February 26, 2012 Report Posted February 26, 2012 @Paul4gamesCu api hook nu cred ca vei gasi parola! Solutia e un memory dumper(LoardPE de exemplu) combinat cu ImportRec. Oops, am divulgat solutia! In fine, astept parola in continuare. Mai incolo poate postez si sursa, e scris in d2007, deci o sa-ti placa!Maine cred ca o sa incerc sa obtin si eu parola si astept sursa daca e scrisa in delphi^_^ Quote
sulea Posted February 27, 2012 Report Posted February 27, 2012 @Paul4gamesCu api hook nu cred ca vei gasi parola! Solutia e un memory dumper(LoardPE de exemplu) combinat cu ImportRec. Oops, am divulgat solutia! In fine, astept parola in continuare. Mai incolo poate postez si sursa, e scris in d2007, deci o sa-ti placa!nu te-am crezut, asa ca am aruncat o privire. desi zisesem sa stau departe de chestiile asteaparola este: "1_RSTCENTER_2!"a fost gasita cu API hook (function hook mai precis), fara dumpere sau imprec 2 minutes tutorial: mediafire.com/?zopcw4vd0gv8rksrezumat: la apasarea butonului se petrec evenimente pe care le vedem intr-un timeline cu ajutorul programului function hacker. mergem direct la eventimentele care ne intereseaza Quote
staticwater Posted February 27, 2012 Author Report Posted February 27, 2012 @Paul4games, @Sulea multumesc pt. participare!Sursele le postez pe rand, azi incep cu CrackMe.exe. Este o aplicatie simpla,ce e interesant ca n-am folosit Visual Class Library, astfel executabilul e micut, in jur de 20K si nu 400-500K cum e de astepat de la o aplicatie delphi.https://rapidshare.com/files/712070642/CrackMe.dprInca ceva! Urmatorul CrackMe va fi in c++ sau FASM. This is a promise! Quote
staticwater Posted February 27, 2012 Author Report Posted February 27, 2012 CrackMe_Full: https://rapidshare.com/files/4151936785/CrackMe_Full.rarVa recomand sa cititi:Writing custom data to executable files in Windows and LinuxAfxCodeHook by Aphex - DelphiBasicsAbout the Synopse Informatique company and our Open Source approach (Page 1) / Synopse Company / Delphi Open SourceLa proiectele: msidll.dpr si Loader/CrackMe.dpr, nu uitati sa setati in Project/Options/Directories-Conditionals/Search Path, calea catre folderul: SmallVCL!Dupa ce dati build la msidll.dpr, msidll.dll probabil va fi detectat de AV. Trebuie comprimat cu Compress.exe! Quote
Paul4games Posted February 27, 2012 Report Posted February 27, 2012 CrackMe_Full: https://rapidshare.com/files/4151936785/CrackMe_Full.rarVa recomand sa cititi:Writing custom data to executable files in Windows and LinuxAfxCodeHook by Aphex - DelphiBasicsAbout the Synopse Informatique company and our Open Source approach (Page 1) / Synopse Company / Delphi Open SourceLa proiectele: msidll.dpr si Loader/CrackMe.dpr, nu uitati sa setati in Project/Options/Directories-Conditionals/Search Path, calea catre folderul: SmallVCL!Dupa ce dati build la msidll.dpr, msidll.dll probabil va fi detectat de AV. Trebuie comprimat cu Compress.exe!M-am uitat putin peste sursa la CrackMe si imi place cum creezi gui-ul fara vcl dar la un proiect mai mare nu se merita sa nu folosesti vcl-ul pentru ca iti salveaza mult timp si pe useri nu prea ii intereseaza marimea.Am sa ma uit si peste sursa la acel dll maine. Quote
staticwater Posted February 28, 2012 Author Report Posted February 28, 2012 (edited) @Paul4gamesM-am uitat putin peste sursa la CrackMe si imi place cum creezi gui-ul fara vcl dar la un proiect mai mare nu se merita sa nu folosesti vcl-ul pentru ca iti salveaza mult timp si pe useri nu prea ii intereseaza marimea.Am sa ma uit si peste sursa la acel dll maine.De acord! Daca nu-i vorba de RAT, Crypter, etc.. chiar nu conteaza marimea executabilului si e mult mai usor de dezvoltat cu VCL. Edited February 28, 2012 by staticwater Quote