| Challenges de déobfuscation | |
|
+6Xaychru04 Mass -Coco- D-z Térence onilink_ 10 participants |
|
Auteur | Message |
---|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Challenges de déobfuscation Dim 21 Oct 2012 - 12:20 | |
| Challenges de déobfuscation Challenge 1 ouvert Salut, je vous présente un petit challenge de déobfuscation! Déjà, qu'est ce que l'obfuscation ? C'est une technique qui permet de rendre illisible un code. Donc le but seras déjà de comprendre ce que fait le code, puis ensuite vous devrez simplifier suffisamment le code pour avoir l'algorithme originel. Il y auras 2 types de solutions:-Celle de la personne qui comprend directement ce que le code fait, en fonction des paramètres entrés, et réécrit directement un algo équivalent sans se prendre la tête avec l'obfuscation. -Celle de la personne qui va simplifier l'algo étape par étape pour obtenir l'algo original. C'est le but de ce challenge. 1. Pour chaque challenge je demanderais a ceux faisant partie de la première catégorie de m'envoyer par MP leur solution. Si elle est juste je noterais leur nom en bas de page et leur attribuerais 1 point. Ils pourront ensuite essayer de deobfusquer le code étape par étape . 2. Pour ceux de la deuxième catégorie, vous pourrez soit faire la déobfuscation seul de votre côté, soit partager vos idées et analyses sur cette page, en spoiler. Une fois l'algo retrouvé, envoyez le moi par MP avec les étapes de déobfusaction les plus importantes, pour recevoir 2 points. Ceux faisant partie de la première catégorie pourrons aussi m'envoyer les étapes pour récupérer 2 points supplémentaires. Niveau Débutant : score * 1 Niveau Intermédiaire : score * 2 Niveau Difficile : score * 3 Niveau DébutantChallenge 1-1fonction(x) - Code:
-
a = 1 for(aa=a+a; aa<=argument0; {aaa=a^^a for(aaaa=a==a; aaaa<aa; aaaa+=a==a) aaa += a a += aaa aa+=a == a}){} return a Version C++ - Code:
-
int f1(int b){int a=1,aa,aaa,aaaa;for(aa=a+a;aa<=b;){aaa=a xor a;for(aaaa=a==a;aaaa<aa;aaaa+=a==a)aaa+=a;a+=aaa;aa+=a==a;}return a;} Niveau Intermédiaire Challenge 2-1Compétences requises: opérateurs binaires, fonctions string, système hexadécimal. fonction(string param1, string param2) - Code:
-
var cntr, srtcrt; for({cntr=$FF7F srtcrt=""}; cntr<string_length(argument0)+$FF7F; { srtcrt+=chr((ord(string_char_at(argument0,cntr-(($00FF00|$FC>>1)))) |ord(string_char_at(argument1, (cntr-(c_aqua-$81))&8)))& ~(ord(string_char_at(argument0,cntr-(((255<<8)|126)))) &ord(string_char_at(argument1, (cntr-((($FF|($FF<<8))<<8)-$81))&8)))) cntr-=((string_length(argument0)-2)/(2-string_length(argument0)))}) {cntr*=(sqr(cntr)-string_length(srtcrt))/(string_length(srtcrt)-cntr*cntr) * -(cntr!=( cntr==true)) } return srtcrt Niveau DifficileChallenge 3-1- Challenges en C et/ou C++: Intermédiaire: Challenge 2a-1 - Code:
-
char c[1024 + 10], *p=c; int i=0, t = 0xA; unsigned char x=0xC6; for(; !(i>>10); i+=!(i^i)) c[i] = (x>>4)|((x&15)<<4); t *= t; l:_ 0x80 + ~0b110111;_++t;__ __ __ _ 0b1010111;__ __ __ _--t; if(!((p-c)>>10)) goto l; for(p=c-3; p<c+(1<<9); *(p+=10)=0162); p=c+4;i=p-c+4; while( !((p-c)>>10) ) { _ 111; __ if(i++&1){ __ __ __ __ __ __ }; } Trouver ce que fait le code ainsi que les deux defines manquants. Participants: Caly : 3 + 2*2 = 7pts Xaychru04 : 3 + 2*2 = 7pts Térence68 -Coco-
Dernière édition par onilink_ le Jeu 6 Mar 2014 - 23:56, édité 15 fois |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 12:27 | |
| Ca a l'air intéressant ; donc je participe ! J'essayerais de le faire cet aprèm' |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 12:30 | |
| Cool Ben bonne chance a toi :b Si personne n'arrive a trouver de solutions d'ici une ou deux semaines, je posterais des petites méthodes pour arriver a bout d'un code obfusqué |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 12:34 | |
| Merci n'empêche, t'as du bien te faire *****, parce que c'est du grand art ton truc |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 12:39 | |
| - Spoiler:
Ça compilera pas, il manque la parenthèse fermante du for et le point-virgule :p
_________________ Home is not a place, it's a feeling.
|
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 12:40 | |
| Ah moi qui croyais que ca faisait parti du truc Par contre, le point virgule on s'en fout, ien a pas besoin avec gm |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 12:42 | |
| Deezee > Tout compile, ça fait parti du truc héhé :p
|
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 14:09 | |
| - Spoiler:
Genre quand GM rencontre un return, il s'en fout des parenthèses non fermées ? DAFUQ Oo
_________________ Home is not a place, it's a feeling.
|
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 14:35 | |
| Comment t'as réussi à écrire un truc pareil ? Oo
Sinon je participe peut être, mais c'est pas garanti que je sorte quelque chose (je vais réviser mes opérateurs binaires en attendant) _________________ Oh, snap.
|
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 14:37 | |
| Elle est bien là, la parenthèse du for |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 14:43 | |
| Rho l'astuce de chacal. _________________ Home is not a place, it's a feeling.
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 14:46 | |
| Et encore mon obfuscation est jolie comparé a certaines que j'ai pu rencontrer en décompilant du java...
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 19:09 | |
| J'ai ajouté un exercice plus simple, pour les débutants |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 19:22 | |
| Bon, je crois avoir trouvé la solution : - Spoiler:
return 1+2*argument0
C'est juste ? |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 19:33 | |
| |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 19:36 | |
| Bon ben j'ai plus qu'a recommencer |
|
| |
Xaychru04 Pas mal
Messages : 33 Localisation : Gujan-Mestras (33)
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 22:58 | |
| Moi ce qui me géne c'est le "a^^a", ça existe en GML ou ça fait partie du challenge ? |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 23:15 | |
| a ^^ a => a xor a Ça existe dans de nombreux langages, ce n'est pas propre qu'au gml |
|
| |
Xaychru04 Pas mal
Messages : 33 Localisation : Gujan-Mestras (33)
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 23:21 | |
| Ok, merci, j'etais parti sur du a exposant a x) Donc je participe |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 23:24 | |
| Ah c'est cool ça Bonne chance alors, j'espère que t'arriveras a résoudre les algos actuels :b |
|
| |
Xaychru04 Pas mal
Messages : 33 Localisation : Gujan-Mestras (33)
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 23:31 | |
| - Spoiler:
Boucle infinie au 2eme for ›‹ Je crois que j'ai pas bien saisi un truc... Ou alors c'est ce que fait cet algo... x)
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 23:34 | |
| Non pas de boucle infinie x) Tu peut toujours télécharger GM et tester la fonction en la collant dans un script |
|
| |
Xaychru04 Pas mal
Messages : 33 Localisation : Gujan-Mestras (33)
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 23:48 | |
| La je suis pas sur un ordi donc je peux pas tester :/ Sinon, == est bien le même == qu'en C++ (and) ? - Spoiler:
Donc logiquement aa+=a==a donne aa++ parce que a est toujours egal à a... Dis moi si je spoile trop, je vais dormir x)
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Dim 21 Oct 2012 - 23:51 | |
| C'est bien ça, tu as vu juste |
|
| |
Xaychru04 Pas mal
Messages : 33 Localisation : Gujan-Mestras (33)
| Sujet: Re: Challenges de déobfuscation Lun 22 Oct 2012 - 0:02 | |
| Ok, j'ai l'habitude de ce genre de trucs avec des opération binaires comme je programme un peu en Axe sur TI (Un language entre le z80 et l'asm) et y'en a énormément pour les optimisation (Gérer les entrées utilisateur, déplacer le personnage et gérer les collision le tout en une ligne, yeah ! (Par contre, va retrouver une erreur là dedans ^^)).
Faudra que je regarde ton tuto sur le GML pour le level 2, je finirai le 1 demain en espagnol :p |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Challenges de déobfuscation Lun 22 Oct 2012 - 2:09 | |
| - Citation :
- {cntr*=(sqr(cntr)-string_length(srtcrt))/(string_length(srtcrt)-cntr*cntr) *
-(cntr!=( cntr==true)) } Tu viens de me tuer là, s*laud |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| |
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Lun 22 Oct 2012 - 9:56 | |
| Bravo a Caly qui est le premier a avoir déobfusqué les deux codes o/ Je lui remet donc 7 points Pensez a m'envoyer vos solutions par MP, ça éviteras au flemmards d'être tentés de regarder dans les spoilers |
|
| |
Xaychru04 Pas mal
Messages : 33 Localisation : Gujan-Mestras (33)
| Sujet: Re: Challenges de déobfuscation Mer 24 Oct 2012 - 22:31 | |
| - Caly a écrit:
-
- Citation :
- {cntr*=(sqr(cntr)-string_length(srtcrt))/(string_length(srtcrt)-cntr*cntr) *
-(cntr!=( cntr==true)) } Tu viens de me tuer là, s*laud Je comprends pourquoi maintenant x) J'ai plus qu'a trouver/optimiser ce qu'il se passe au niveau des strings/hexadecimal, mais j'ai pas trop le temps avec la dissert de français :/ J'ai hate de voir le niveau 3 |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Challenges de déobfuscation Lun 29 Oct 2012 - 19:57 | |
| Bon ben on a deux gagnants la, personne d'autre ne viens relever le défit? :b Le premier est au niveau de toute personne ayant de bonnes bases en gml, n'ayez pas peur |
|
| |
Contenu sponsorisé
| Sujet: Re: Challenges de déobfuscation | |
| |
|
| |
| Challenges de déobfuscation | |
|