Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/02/22 in all areas

  1. import sys import argparse import os.path import netstruct #parseaza un string in format binar lungime+caractere, to UTF-8 def unpackString(d): return str(netstruct.unpack(b"b$",d)[0],'UTF-8',errors="ignore") #parseaza itemii de raspuns def unpackItems(d): items = [] num = netstruct.unpack(b"b",d[:1]) for n in range(num[0]): items.append(unpackString(d[256*n+1:])) return items #parseaza ultimul byte, numarul intrebarii corecte def unpackCorrectAnswer(d): return netstruct.unpack(b"b",d) #deschide fisierul with open("test internet9.tst", "rb") as f: #fiecare intrebare are 1589 byte b = f.read(1589) while b: #parsam fiecare intrebare in bloc de 1588 bytes #primii 51b sunt numele testului numetest = unpackString(b[:51]) #urmatorii 255b sunt textul intrebarii intrebare = unpackString(b[51:51+255]) #urmeaza un vecor de itemi de raspuns (parsat caz special) items = unpackItems(b[307:-1]) #ultimul byte e numarul intrebarii corecte answer = unpackCorrectAnswer(b[1588:]) print(numetest) print(intrebare) print(items) print(answer[0]) print("=================") b = f.read(1589) Nu ma pricep la python structs asa ca am folosit netstruct. Il iei easy cu pip install netstruct Scriptul e cam spaghetti dar face si afisarea intrebarilor si raspunsurilor. "unpackItems" e cea mai complexa, in rest implementarea e foarte directa
    2 points
  2. ÎNREGISTRARE Calendar activități Înregistrare concurs: Începând cu 01/03/2022 Etapa de pregătire: Începând cu 04/04/2022 Concurs individual: 06/05/2022 - 08/05/2022 (și finalul înregistrărilor) Concurs pe echipe: 20/05/2022 - 22/05/2022 Raport individual de performanță: 31/05/2022 Mai multe detalii despre calendarul de activități, aici. Premii premii în bani sau gadget-uri diplome de participare sau pentru poziția în clasamentul general rezultatele tale contribuie la clasamentul #ROEduCyberSkills raport individual de performanță recunoscut de companii si alte organizații - detalii, aici Cum mă pot înscrie? Înregistrarea este gratuită. Pentru a fi eligibil pentru premii și în clasamentul #ROEduCyberSkills, trebuie să fii înscris până la finalul probei individuale. ÎNREGISTREAZĂ-TE ACUM! Vei avea nevoie de această parolă la înregistrare: parola-unr22-812412412 Unde pot discuta cu ceilalți participanți? Pentru a intra în grupul de Discord - unde vom publica anunțuri și vei putea interacționa cu mentorii, trebuie să: folosești această invitație pentru a primi drepturi la secțiunea - "UNR22" trimiti un mesaj botului @JDB "/ticket 8xu4tR7jGN", dacă ești deja membru pe canalul de Discord oficial al CyberEDU.ro, ca în aceasta fotografie Detalii: https://unbreakable.ro/inregistrare
    1 point
  3. Salut. Am aruncat o privire. Nu e mare chestie. fisierul TST stocheaza si intrebarile si raspunsurile in format binar. (HEX) Raspunsurile sunt stocate la finalul fiecarei intrebari, dupa itemi: Formatul e de genul: nume test intrebare item1 item2 ... raspuns(in format binar) nume test intrebare2 item ... Toata teoria sta in a parsa fisierul TST, nu stiu exact ce format are, stringurile sunt precedate de 2 byte pentru lungimea stringului. Mi se pare ca intrebarile/itemii su un offset fix unele fata de altele, deci ar fi trivial sa imparti TST-ul un chunks ca sa extragi intrebarile. Zi in ce limbaj de programare te pricepi, si daca te incurci undeva in parsarea fisierului.
    1 point
  4. de ce nu posteaza mai nimeni azi?
    1 point
This leaderboard is set to Bucharest/GMT+03:00
×
×
  • Create New...