Eliminați parola de la testele și easyquizzy mytestx

Pentru început, vom explica problema cea mai banală: cum să obțineți fișierul .exe din fișierul cu testul - .mtf (vorbind despre MyTestX).
Ia-.exe fișierul care conține testul (am luat o copie de pe forum), și deschideți-l în CFF Explorer. du-te imediat la secțiunea „Director de resurse“, în coloana din stânga, apoi, în lista din dreapta, în căutarea unui „Resource Directory Entry AKA :. RCData“, deschide lista drop-down și acolo în căutarea „Resource Directory Entry AKA :. MTA“.

Eliminați parola de la testele și easyquizzy mytestx

Această resursă este de fapt .mtf fișier care ne interesează. Acum trebuie să-l eliminați. Pentru aceasta ne întoarcem la ultimul element copil al resursei de mai sus - „Resource date de intrare“. Selectați-l și a vedea jumătatea de jos a ferestrei de atributele sale, suntem interesați în câmpul „OffsetToData“ și „Size“.

Să ne amintim valoarea câmpului „OffsetToData“ și trecerea la „Address Converter“ din partea stângă. Acum, introduceți o valoare în câmpul RVA - avem deplasarea fizică a resursei de la începutul fișierului ( „File Offset“) de interes.

Eliminați parola de la testele și easyquizzy mytestx

Eliminați parola de la testele și easyquizzy mytestx

Eliminați parola de la testele și easyquizzy mytestx

Push Debug-> Run și să reînnoiască cererea. Apoi, faceți clic dreapta oriunde în fereastra de sus debugger stânga. În meniul care apare, selectați Salt la-> Expression, în fereastra care apare, introduceți (numele funcției WinAPI, care ar putea fi utilizat pentru a citi conținutul fișierului cu testul) readfile.

Eliminați parola de la testele și easyquizzy mytestx

În lista de mai jos pentru a alege kernel32.ReadFile și faceți clic pe „Follow expresie“. Suntem la funcția ReadFile început, acum avem nevoie pentru a pune un punct de întrerupere, pentru a urmări programul de tratament pentru funcția. Am pus un punct de întrerupere, pentru acest clic dreapta pe linia evidențiată de cod de asamblare și selectați Breakpoint-> Comutare. În general, înainte de a pune breakpoint, cel mai bun întâi în MyTestEditor cauza deschiderea dialogului de test, altfel veți pierde o mulțime de apeluri (F9) la ReadFile de nici un interes pentru noi, locuri, ele pot fi determinate de valoarea de pe partea de sus a cadrului de stivă (fereastra debugger dreapta jos, șir de caractere Textul „Înapoi la kernel32.ReadFile la.“). Suntem interesati de apel va arata ceva de genul:

Eliminați parola de la testele și easyquizzy mytestx

Odată ce am prins un tratament corect (se întâmplă atunci când suntem într-un test de deschidere a dialogului vom alege nostru de testare, protejat prin parolă și faceți clic pe „Open“), uita-te atent la fereastra debugger dreapta jos (în care vom vedea o urmă stivă), derulați în jos la șir de căutare, care reprezintă calea completă către fișierul cu testul (ne interesează acest cadru stivă, pentru că cel mai probabil, a fost format în interesul funcției noi).

Eliminați parola de la testele și easyquizzy mytestx

Eliminați parola de la testele și easyquizzy mytestx

Vom continua programul (F9 sau Debug-> Executare). După ceva timp, programul încă o dată a opri munca noastră de hardware breakpoint svezhepostavlenny. Am declanșa locul uitat ceva de genul:

Eliminați parola de la testele și easyquizzy mytestx

Amintind de unele funcții intermediare pentru a lucra cu fișierul, deci vom folosi de mai multe ori opțiunea Debug-> Executare până la retur (Ctrl + F9), dar ne aflăm într-un cod de „nivel înalt“, site-ul în cazul în care eșecul principal de logica de procesare a fișierelor la test.

Eliminați parola de la testele și easyquizzy mytestx

Ne uităm prin codul. Suntem interesati de tot felul de ramuri condiționate (je, jne, JZ, jnz, și așa mai departe) care sari fragmente de cod mai mult sau mai puțin impresionante, să zicem de la 5 instrucțiuni. Unele site-uri am pierdut imediat, în cazul în care, după cum mi se părea, a făcut o acțiune neinteresantă, cum ar fi în acest pasaj:

Eliminați parola de la testele și easyquizzy mytestx

Reamintește versiune de testare a testului. M-am gândit astfel încât o dată, dar poate fi văzut și experimentat prin punerea la punct de întrerupere instrucțiuni de ramură condiționată și modificarea valorii Z-pavilion în fereastra registru la dreapta, când execuția programului este întreruptă la acest site. Contorizate în jos un pic și a alerga în următorul grup de sucursale condiționale:

Eliminați parola de la testele și easyquizzy mytestx

Să-i dăm frunte pavilion schimbare Z la fiecare tranziție. Adică MyTestStudent vom deschide un dialog de selecție fișier cu testul, am pus breakpoint pe una dintre tranzițiile, în dialogul pentru a alege un fișier de test care este parola caseta de martor protejat fapt care ia determinat introducerea parolei, introduceți la orice text, atunci ar trebui să funcționeze breakpoint stabilite anterior, vom schimba Z-pavilion și să continue F9 programul de presă.
Vom vedea că, în cele de mai sus două pasaje, schimbarea programului Z-pavilion opreúte, apoi este lansat browser-ul, care a deschis un site cu un fragment de legislație: unele self-made „de protecție“ de la un jaf simplu. Cu toate acestea, atunci când modificați o logică ramură condițională, care este situat chiar mai jos, putem vedea că programul oferă de pre-test, dar după aceea, programul este încă finalizarea lucrărilor sale și se deschide un browser.

Eliminați parola de la testele și easyquizzy mytestx

Pentru a deschide browser-ul este posibil de a utiliza funcția WinAPI ShellExecute. Verificăm ipoteza noastră: din nou, faceți clic dreapta oriunde în fereastra de sus debugger stânga, meniul pop-up, selectați Du-te la-> Expression, în fereastra care apare, introduceți numele funcției noastre, du-te la începutul funcției și a pus-o breakpoint. Din nou, face modificări logica a acestuia din urmă, ne interesează, ramificare condiționată, iar breakpoint nostru este declanșat:

Eliminați parola de la testele și easyquizzy mytestx

Noi folosim de mai multe ori Debug-> Executare până la retur (sau Ctrl + F9), pentru a reveni din adâncuri și în unitatea Shell32.dll MyTestEditor (urmați titlul ferestrei debugger, în cazul în care în acest moment este scris „[CPU - fir principal, shell32 modulul ] „). Aproape imediat vom ajunge într-un loc ca acesta:

Eliminați parola de la testele și easyquizzy mytestx

Aici vom vedea o altă tranziție condiționată de faptul că trebuie să se stabilească (pe zbor, sau înlocuirea unui salt condiționat la absolut - JMP). Se pare că avem nevoie pentru a corecta două tranziție condiționată să fie în măsură să deschidă un test securizat introducând orice parolă. Înlocuiți și verificați:

Comutați la principalele executabil easyQuizzy modul depanator (View-> module executabilul, faceți dublu clic pe numele modulului, asigurați-vă că textul este prezent în titlul ferestrei: „Modul easyQuizzy“). Faceți clic dreapta în debugger și pentru a găsi toate resursele șir pentru care există referințe în codul executabil.

Eliminați parola de la testele și easyquizzy mytestx

Înainte de a ne este o listă de rânduri afișate într-un tabel mare, vom găsi în ea conformitate cu mesajul despre parolă incorectă și le-a pus breakpoint'y.

Eliminați parola de la testele și easyquizzy mytestx

Noi încercăm să deschidă un test sigur și prinde imediat breakpoint'a operație.

Eliminați parola de la testele și easyquizzy mytestx

Am fost în interiorul funcției de divertisment, unde putem observa o trecere destul de mare fragment dintr-un cod de salt condiționat, în ratărilor de adiție, conține o trimitere la șirul „parola incorectă.“.

Eliminați parola de la testele și easyquizzy mytestx

Dar, așa cum noi toți ne aflăm în acest fragment de cod? Listarea derulați în sus un pic și a vedea o mult mai interesantă convențională: ea permite chiar dor de o funcție de apel, care afișează dialogul vom introduce o parolă.

Eliminați parola de la testele și easyquizzy mytestx

Noi încercăm să schimbe logica muncii sale (de exemplu, ciocănire salt condiționat PON) - Voila, testul securizat se deschide fără a cere o parolă.

Buna ziua) Sunt interesat de dizassemblerirovaniem. Știu un pic limbaj de asamblare pic. Am găsit drumul spre crack mystudent mytestxpro. În timpul testării, injectarea în sine în procese (cu pomoschtyu CE (ieftin motor) (script compilat în .exe) și modificați valoarea spun 2 în loc de problemele de evaluare scor întotdeauna 4 este, de asemenea, în schimbare, Toko cum puteți schimba procentul sarcinii. Deoarece interesul afișat în asamblare? Sau cE poate avea foarte asemănătoare în comportament să caute un procent și lăsați cuvintele din testul de similaritate (bune sau rele)? un Necati Hex, de asemenea, acolo pentru a proteja valoarea de fisurii, modul în care necunoscutul ce există o protecție? Fă-o în site-ul dvs., astfel încât imaginile pot fi atașate.

Deoarece interesul afișat în ansamblul?

Sau poate avea un comportament similar cu CE pentru a căuta un procent și lăsați cuvintele din testul de similaritate (bune sau rele)?

de modul în care necunoscutul ce există o protecție?

Fă-o în site-ul dvs., astfel încât imaginile pot fi atașate.