Jump to content

cifratorul

Active Members
  • Posts

    226
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by cifratorul

  1. Sa nu comentam ce a facut pax cu chestii de genu: "tipic romanesc", "nu a facut ce se cerea" si "pt gasirea unui XSS nu trebuie sa fi de la M.I.T". Nici ca sa folosesti API-urile de la Yahoo sa iei niste poze random din flicker nu trebuie sa fi un geniu (si aici ma refer la o gramada de asa zise "hack"-uri ce au fost prezentate). Cei de la Yahoo au folosit in interesul lor cuvinte ca "hack" si "hackers" intr-un context diferit. Si pana la urma asta e viata e normal sa fie la interes. Ce ma deranjat pe mine a fost abordarea vulpoilor batrani ce au profitat de naivitatea unui pusti, si-au rezolvat problema printr-un SMS, iar dupaia si-au vazut de treaba .
  2. am ajuns si eu pe aici ia ziceti pe unde va gasesc.
  3. Ia ziceti cum facem sa ne adunam acolo cu totii sa nu pierdem timpul? Deci pana la urma ar putea sa participe si cineva remote. Echipele sunt de maxim 4 oameni.
  4. se pare ca vor sa promoveze Yahoo! Open Platforms si YQL.
  5. sper sa ajung si eu. desi orele astea de dimineata... sa vad si de ce laptop fac rost. v-ati informat cam in ce consta concursul?
  6. distributiile astea mai mici au si ele limitarile lor. Nici DSL nu vine default cu compilator dar poti sa-i pui.
  7. nu ai zis nimic de compilator initial . si eu ma refeream la o discheta dasta mai noua Google Directory - Computers > Software > Operating Systems > Linux > Distributions > Tiny > Floppy Sized
  8. sunt destule dastea mici . incap si pe o discheta. dar in general sunt targetate sa faca ceva : firewall, backup, etc
  9. Il gasiti aici http://rstcenter.com/forum/34750-zuper-mario-solved.rst
  10. In cele ce urmeaza vom rezolva testul propus aici: http://rstcenter.com/forum/31088-keygen-me-foarte-usor-si-dragut.rst Avem nevoie de 2 fisiere : Ollydbg.exe si executabilul ce poate fi gasit aici : zuper mario.rar Dupa ce incarcam executabilul in Olly vedem ca fereastra principala e creata cu DialogBoxParam iar pentru miscarea lui Mario se foloseste GetAsyncKeyState. Pe noi ne intereseaza cazul cand apasam sageata sus pentru a intra pe usa: Dupa cum se vede noul dialog box care ne cere numele si parola are procedura de fereastra la adresa 401c86. Mergem la aceasta adresa si daca ne uitam un pic gasim o portiune interesanta: Banuiala ca numele e citit cu GetDlgItemText iar parola cu GetDlgItemInt se confirma rapid daca punem un breakpoint si vedem ca numele e la adresa 406162 folosita de GetDlgItemText iar codul e in EAX dupa apelul GetDlgItemInt. Dupa se citeste parola care este un numar , se face XOR cu 0x0BABE si se aduna 1 dupa care se compara cu o valoare salvata pe stiva: 00401D57 XOR EAX,0BABE 00401D5C INC EAX 00401D5D CMP EAX,DWORD PTR SS:[EBP-4] La aceasta locatie gasim de fapt o valoare ce depinde de numele introdus. Sa luam fiecare instructiune in parte: Cum suma de pe stiva depinde de valoarea sa initiala la care se aduna numarul de caractere din nume, fiecare caracter in parte si diferenta dintre primul si ultimul caracter, vom crea un keygen din acest executabil ca sa scapam de aceasta problema. Vom scrie noi parola corecta in functie de nume in campul unde ar fi trebuit introdusa. Adica in loc sa citim cu GetDlgItemInt vom scrie cu SetDlgItemInt. Si pentru a nu hardcoda adresa functiei SetDlgItemInt care e in user32.dll vom modifica exe-ul sa importe SetDlgItemInt in loc de GetDlgItemInt. Acest lucru se poate face cu LordPE (sau CFF explorer) : PE Editor-> Directories->Import Table->user32.dll->GetDlgItemInt modificat in SetDlgItemInt. Practic ce avem de facut este sa lasam codul initial sa calculeze suma pe stiva, o luam scadem 1 facem XOR cu 0xBABE (pentru ca XOR aplicat de 2 ori nu modifica valoarea initiala) si il afisam. Codul modificat e selectat in poza urmatoare: De asemenea vrem ca dialogboxul sa nu se inchida asa ca stergem (suprascriem cu NOP) portiunea care trimite cu SendMessage mesajul VM_CLOSE, iar imediat dupa aceea mai avem de trecut de un hop. Modificam urmatorul CMP sa compare cu valoarea 90 (NOP-ul scris de noi) ce e la adresa 401d60 . Codul modificat: Acum executabilul nostru va genera parola in functie de nume. Sper ca nu am uitat nimic. Multumesc pentru atentie, la revedere!
  11. am facut rapid un selfkeygen din executabilul lui @sulea. Cele 2 executabile sunt aici: http://www.mediafire.com/file/9cu2bg1fu8r0b6r/zuper%20mario.rar @sulea: ziceai tu sa fac un tutorial dar pana la urma cine sa il citeasca? E cineva interesat de asa ceva?
  12. Dincolo de challenge in sine, ma amuza programelele astea ale lui @sulea ca au si o tematica . Incearca sa atraga lumea catre asa ceva si le face cat mai frumoase . Urmatorul ar trebui sa fie ceva de genu : daca rezolvati testul programul va depacheta ultima versiune pro de havij. Atunci sa vezi doritori....
  13. interesanta idee sa cifrezi instructiunile pentru cazul de succes cu parola
  14. adica e un fel de "caciula" virtuala . nu se "face" nici un ban .
  15. asa e prin 1800 multi oameni s-au sinucis din cauza asta. sunt mai multe sisteme (pozitive sau negative): progresive, incrementale si cele care le imbina pe cele 2 bazate pe sirul lui Fibonacci. Daca sunteti interesati puteti sa va informati. Dar fiecare sistem are buba lui nu exista unu perfect. Iar cand vreodata va inflacarati cand gasiti o idee "productiva" si simpla...think twice.
  16. asta e challenge sau tema ta pentur acasa?
  17. Propun inchiderea acestui topic. cat despre challange-ul tau @sulea ce putem sa facem altceva decat ce ai facut si tu: - adaugarea unei intrari noi in meniu cu ID XXX in resurse spre ex.: cu reshacker - cautarea unei zone libere de memorie pt codul nostru - pentru fiecare casuta (limitele sunt determinate de nivelul ales) se verifica daca e bomba si daca e se cheama MakeGuess care pune stegulet. - modificarea procedurii de fereastra MainWindowProc ca sa faca salt in codul nostru pentru id-ul XXX . Toate astea sunt facute de tine f bine iar alta solutie nu cred ca ar fi prea diferita fata de ce ai facut tu. Tin sa iti multumesc pentru challange si pentru solutii, cine ar fi interesat ar putea macar sa urmareasca solutiile si tot ar avea de invatat. Sper ca challange-urile viitoare sa aiba parte de cat mai multi oameni interesati de subiect si nu de altceva.
  18. winmine_patched.rar aici e minesweeper-ul tau patchuit. Ce am facut: in functia ce se apeleaza cand apesi pe un buton codul ce se executa cand apasam pe bomba e dupa 0100352D |. 74 66 JE SHORT winmine.01003595 Am suprascris ce era dupa acest jump cu : 0100352F 8B4424 18 MOV EAX,DWORD PTR SS:[ESP+18] 01003533 50 PUSH EAX 01003534 8B4424 18 MOV EAX,DWORD PTR SS:[ESP+18] 01003538 50 PUSH EAX 01003539 E8 11020000 CALL winmine.0100374F 0100353E EB 70 JMP SHORT winmine.010035B0 Adica am pus din nou pe stiva coordonatele x si y si am apelat functia MakeGuess care pune stegulet si am sarit la finalul functiei curente. Vad ca este totusi un bug si anume ca nu tot mereu imi apare la sfarsit ca am terminat jocu in functie de ultimele clickuri dar nu am timp sa mai stau pe el. P.S.: Nu mai mentionez aici cat de mare am pula si ca o puneam pe maica-mea sa copieze "mNmemoice" din cartea "totul despre microprocesorul Z80" pentru ca o aveam imprumutata doar 3 zile si eram disperat erau prea multe pagini. In alta ordine de idei e trist ca vedem tot felu de certuri intre detinatori de putza sau pula . In loc sa invatam impreuna, sa ne ajutam, sa schimbam o idee, un tool, o metoda etc. ne pierdem timpu sa ne agitam care e mai jmeker. Chiar daca esti tare, de unul singur avansezi mai greu si trebuie sa fi deschis la un schimb de informatii, sa iei dar si sa oferi ceva, altfel nu ai ce cauta pe un forum.
  19. ai incercat si cu scanf("%d*", ...) sau cu scanf("%d\n", ...) ?
  20. m-am uitat si eu un pic prin IDA ma gandeam sa apelez functia MakeGuess pe varianta cand calci pe bomba da sa prind niste timp liber sa ma uit.
  21. ordinea de apasare e inversa fata de ce am zis mai devreme si parola e bineinteles ABRACADABRAAA.
  22. Asa e am vazut ca la apasarea butonului Incearca se face un lstrcmp acolo care nu imi da succes dar nu am mai bagat asta in seama pentru ca am facut ce zice cerinta : am dezactivat toate butoanele. Invitatia mi-a trimis-o si am activat-o deja. O sa ma uit din nou oricum ...
  23. ordinea a gasit-o PROLOG-ul nu eu. asa arata programul meu scris in graba: negare(X,Y) :- X=0, Y is 1; X=1, Y is 0. solve([],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0). solve([16|R],X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,1) :- negare(X12, Y12), solve(R,X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,Y12,X13,X14,X15,0). solve([14|R],X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,1,X15,X16) :- negare(X11, Y11), solve(R,X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,Y11,X12,X13,0,X15,X16). solve([13|R],X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,1,X14,X15,X16) :- negare(X9, Y9), solve(R,X1,X2,X3,X4,X5,X6,X7,X8,Y9,X10,X11,X12,0,X14,X15,X16). solve([12|R],X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,1,X13,X14,X15,X16) :- negare(X7, Y7), negare(X11, Y11), solve(R,X1,X2,X3,X4,X5,X6,Y7,X8,X9,X10,Y11,0,X13,X14,X15,X16). solve([11|R],X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,1,X12,X13,X14,X15,X16) :- negare(X15, Y15), negare(X12, Y12), negare(X10, Y10), solve(R,X1,X2,X3,X4,X5,X6,X7,X8,X9,Y10,0,Y12,X13,X14,Y15,X16). solve([10|R],X1,X2,X3,X4,X5,X6,X7,X8,X9,1,X11,X12,X13,X14,X15,X16) :- negare(X9, Y9), solve(R,X1,X2,X3,X4,X5,X6,X7,X8,Y9,0,X11,X12,X13,X14,X15,X16). solve([8|R],X1,X2,X3,X4,X5,X6,X7,1,X9,X10,X11,X12,X13,X14,X15,X16) :- negare(X7, Y7), solve(R,X1,X2,X3,X4,X5,X6,Y7,0,X9,X10,X11,X12,X13,X14,X15,X16). solve([7|R],X1,X2,X3,X4,X5,X6,1,X8,X9,X10,X11,X12,X13,X14,X15,X16) :- negare(X3, Y3), negare(X8, Y8), negare(X10, Y10), solve(R,X1,X2,Y3,X4,X5,X6,0,Y8,X9,Y10,X11,X12,X13,X14,X15,X16). solve([6|R],X1,X2,X3,X4,X5,1,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16) :- negare(X3, Y3), negare(X10, Y10), solve(R,X1,X2,Y3,X4,X5,0,X7,X8,X9,Y10,X11,X12,X13,X14,X15,X16). solve([5|R],X1,X2,X3,X4,1,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16) :- negare(X1, Y1), negare(X9, Y9), solve(R,Y1,X2,X3,X4,0,X6,X7,X8,Y9,X10,X11,X12,X13,X14,X15,X16). solve([4|R],X1,X2,X3,1,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16) :- negare(X3, Y3), solve(R,X1,X2,Y3,0,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16). solve([2|R],X1,1,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16) :- negare(X7, Y7), negare(X3, Y3), solve(R,X1,0,Y3,X4,X5,X6,Y7,X8,X9,X10,X11,X12,X13,X14,X15,X16). cautare([Z1,Z2,Z3,Z4,Z5,Z6,2,Z8,6,Z10,Z11,Z12,Z13],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) :- member(Z1 ,[5,7,11,12,14,16]), member(Z2 ,[5,7,11,12,14,16]), member(Z3 ,[5,7,11,12,14,16]), member(Z4 ,[8,10]), member(Z5, [4,13]), member(Z6, [5,7,11,12,14,16]), member(Z8, [5,7,11,12,14,16]), member(Z10, [5,7,11,12,14,16]), member(Z11 , [8,10]), member(Z12, [4,13]), member(Z13 ,[5,7,11,12,14,16]), solve([Z1,Z2,Z3,Z4,Z5,Z6,2,Z8,6,Z10,Z11,Z12,Z13],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1).
  24. Am scris cu rosu ordinea in care trebuie apasate tastele. Mi-am mai adus si eu aminte cu ocazia asta cum se programeaza in PROLOG. Sa nu uiti de invitatia aia
×
×
  • Create New...