Registration 1.0 - UNSOLVED (e penso unsolved per molto tempo)

Stato
Discussione chiusa ad ulteriori risposte.

Predator

Utente Storico
11 Giugno 2007
3,203
47
1,268
900
a mio parere un livello di difficoltà massimo.
scritto in assembler
- trovare un nome e seriale valido per far apparire il messaggio di completata registrazione: good job.

suggerimento (per quel che puo' servire):
-non è compresso.
-il seriale puo' essere un carattere qualsiasi con codice da 0 a 255

DOWNLOAD:
http://www.nexenteam.net/predator/reversing/crackme/registration1.rar

NB: se non ci riuscite non restatici male, è di una difficolta' estrema.

Predator
 
Ma si dai al massimo ci dò solo un occhiata...ma se poi mi tira dentro e non vado a cercare lavoro hai un morto di fame sulla coscienza
 
purtroppo molte delle api che vengono utilizzate non le conosco..... non so ne che fanno ne che parametri prendono..... insomma è la prima volta che le vedo^^


forse ho capito mutex-> mutua esclusione
 
ti credo, le comunicazioni di interprocesso (pipe) non sono usatissime, sopratutto per la loro difficoltà d'uso.
il Mutex lo trovi anche nel sorgente che ti ho dato del keylogger, ed è pure commentato :D
 
readfile e writefile possono confondere lol....... lo usa per scrivere su un flusso........ (spero di non sbagliare)
 
ho aggiornato il topic semplicemente aggiungendo che la stringa che apparira' una volta crakkato sara'
"good job" :)
 
CreateMutexA
CreateProcessA
CreateNamedPipeA
CreateFileA
CreateProcessA
ConnectNamedPipe
Vediamo da dove iniziare va
 
Ummm...troppo furbetto per averlo fatto da solo
O sbaglio?
Comunque vado a letto perchè' le uniche idee che mi sono venute non hanno portato molto lontano..e domani a cacciia di lavoro o sussidio
 
impunito pred è molto + sveglio d ciò che sembra... kmk appena ho tempo lo scarico e ci lavoro su... conto anche sul fattore C XD
 
1mPHUNit0 ha detto:
Ummm...troppo furbetto per averlo fatto da solo
O sbaglio?
mi deludi, non ritengo tu abbia un metro di misura sulla mia conoscenza :)
deduco tu non sari in grado di risolverlo, ma nemmeno di creare qualcosa di simile :p
Essenzialmente ho conosciuto personalmente 3 persone che mi hanno fatto crescere tantissimo nel reversing, una delle quali è Ntkrnos sicuramente la voce piu' importante del reversing italiano una mente pari a deroko, quel ragazzo è davvero un computer. Un'altra persona è proprio quella che ha partorito quel codice. Abbiamo tutti dei maestri.
Se ci si impegna si cresce, come in tutte le cose l'unico limite siamo noi stessi.

massakretor: putroppo il fattore C non ti puo' aiutare.

altro suggerimento:
l'interprocesso decripta parte del codice che è proprio quello che contiene la parte che ti interessa. L'algoritmo non è difficile, ma se non troverai la stringa di decryptazione non avrai nessuna possibilita'.

Predator
 
dai suggerimenti che hai dato si capisce più o meno come agisce (in generale ovviamente)..... il problema è che: ci vuole troppo tempo e conoscenze sulla programmazione concorrente......

io non ho molto in nessuno dei due campi, soprattutto la seconda, quindi non credo che proverò a impegnarmi a risolverlo
 
A ecco...sospettavo che ci fosse dietro evolution..si intuiva comunque lo stile (nonintrusive tracers)
E vabbè vorrà dire che devo iniziare a considerare approcci meno standard al problema ....pensavo a metodi classici...evidentemente non vanno bene
Maperchè crea delle mutex(CRACKME16MUTEX1 e CRACKME16MUTEX2)?
Perchè il furbetto crackme crea due processi
deduco tu non sari in grado di risolverlo, ma nemmeno di creare qualcosa di simile
Bhe sono tante le cose che non conosco, e tante le cose che non sono capace di fare......ma non credere, sono sicuro che poi scoperto il meccanismo...il tutto si riduce a schemi classici

Non ho avuto il tempo di guardarlo bene ancora,...purtroppo devo prima pensare a campare
Appena ho tempo mi rileggo bene il tute di evolution su execriptor....sono sicuro che ha preso idee da lì
 
il problema è proprio capire il meccanismo..... è questo che rende complicato il crackme.... altrimenti la stessa logica la puoi utilizzare per i protector (sempre crittazione, codice auto-modificante, controllo antidebugging, ecc.)

cmq crea le mutex perchè deve accedere ad uno stesso buffer con due processi e deve evitare che mentre uno sta leggendo, l'altro scrive, quindi crea una mutua (mut) esclusione (ex) in odo che uno escluda l'altro
 
Ma si, voleva dimostrare che non era vero che i crackme sprotetti si riducono a non più di una manciata di tipi...e per farlo ha detto che non era protetto
ma in realtà ha creato una protezione analoga a quella dei packer cercando di fare il furbo
 
Predator ha detto:
1mPHUNit0 ha detto:
Ummm...troppo furbetto per averlo fatto da solo
O sbaglio?
mi deludi, non ritengo tu abbia un metro di misura sulla mia conoscenza :)
deduco tu non sari in grado di risolverlo, ma nemmeno di creare qualcosa di simile :p

mio vecchio amico predator sempre piu' modesto hhahaahhh :tongue1:
 
Whivel: dici giusto sul mutex;
1mPHUNit0: Evolution sta volta non centra nulla, ma ci sei andato vicino dietro c'è uno molto piu' bravo (ed Evo me lo conferma via messenger), perchè sto parlando di colui che ha insegnato ad Evolution dehehehe. X-Treeme!!!!!!!!!
Mi è venuta una nuova idea e l'ho codata :D
ho appena pubblicato un nuovo crackme, piu' alla portata :)
 
Stato
Discussione chiusa ad ulteriori risposte.