Obfuscation : YO-bfuscator1 - avril 2008

Ce petit binaire codé par YoleJedi est un exemple d’obfuscation lourde. L’objectif ici était de nettoyer le programme pour retrouver le code source originel.

Pour la première fois, j’ai vraiment axé mon travail sur la mise en place d’une méthode d’analyse systématique. Pour cela, je me suis inspiré des travaux de Wroblewski sur l’obfuscation. J’ai ainsi utilisé des techniques d’attaque éprouvées comme :

  • 1. Analyse statistique sur les instructions du binaire
  • 2. Etude du data-flow et du control-flow
  • 3. Réalisation de slices par dynamic backward slicing..
Guetta#5 - moult algos ! - 21 mai 2007

Voici un petit article qui détaille le fonctionnement d'un défi de crypto proposé par Guetta. La solution a été rédigée conjointement par waganono et moi-même. C'est un défi pour débutants qui utilise des algorithmes de cryptographie à profusion ( RSA 64 et RSA 100 - SHA1 - CAST 128 bits - CRC32 - CRC16 - XTEA - BASE64). Malgré cette imposante liste, le défi reste très simple.

Meloquynthe - 8 mai 2007

J'ai réalisé une petite analyse du keygenme Meloquynthe de YoleJedi et ++meat. Je propose une analyse des fonctions waveOut qu'il utilise de façon intensive. Il est à noter que le code de ce binaire est difficile a analyser puisqu'il a été obfusqué à l'aide d'un moteur maison et qu'il est réparti sur plusieurs threads. Je propose un petit outil "DeObfuscator" qui permet de se débarasser de ce junk. Enfin, je propose une solution avec keygen pour résoudre l'algorithme de protection.

Multi-Thread - CrkGenMe.exe - 30 juin 2006

CrkGenMe est un binaire codé en C++ qui utilise 9 threads pour valider le serial entré. Parmis ces threads, 2 sont des WatchDogs qui se chargent de surveiller le bon fonctionnement de tout ce petit monde. L'usage de JunkCode et d'anti-debugs rend l'analyse un peu plus difficile. J'explique ma démarche pour produire un générateur de clés valides (keygen).

Visual Basic 6 - AntiHack.exe - 20 juin 2006

Je propose un petit survol d'un binaire codé en VB6. L'épreuve consiste à patcher le binaire afin de faire apparaître la fenêtre de félicitations quelque soit le mot de passe entré. Un petit trick anti-debug bien sympa est utilisé ici et permet au programme de se détacher d'un debuggueur. J'ai étudié les appels aux fonctions qui sous-tendent cette technique et j'ai montré que l'utilisation du VB n'est pas suffisante a priori en matière de protection.

Securitech 2006 - challenge 10 - 26 mai 2006

Cette année, le challenge de reversing de securitech nous permet d'aborder les obfuscations de code et nous oblige à coder de petits bruteforcers. J'ai choisi cette fois d'attaquer ce genre de binaire à l'aide d'une technique que j'ai baptisé le "Back-stepping" et qui consiste, tout simplement, à exécuter le binaire à l'envers.

Esoquynthe de ++meat - solution - 27 novembre 2005

Esoquynthe est un petit keygenme codé en asm. Il utilise un petit moteur de nombres pseudo-aléatoires pour générer 3 bytes à chaque lancement du binaire. Combinés à une TABLE, ces octets sont utilisés pour vérifier le serial. Je propose ici un rapide aperçu des nombres pseudo-aléatoires et une analyse complète du fonctionnement de ce binaire.

MIRACL : pamplemousse Bigbang - solution - 3 octobre 2005

Voici donc la solution coomplète du crypto-keygenme Pamplemousse. Il utilise la lib MIRACl pour gérer les Bignums. L'intérêt de ce keygenme réside dans sa richesse cryptographique : SHA-1, DLP, RSA 222. L'équation à résoudre est assez impressionnante également. Bref, il s'agit bien du keygenme fait pour ceux qui aiment l'arithmétique modulaire.

Kaine#5 - solution du crackme - 12 juillet 2005

Je vous propose ici un article détaillé qui explique le fonctionnement du crackme de Kaine, le Kaine#5. Au menu : layers, crc, redirections d'imports, tricks (inédits !) anti-debuggers ring3, tricks anti-SI, drivers de protection, machine virtuelle avec pcode obfusqué etc... vous l'aurez compris, il s'agit d'un crackme phénoménal !

Securitech 2005 - Challenge de reverse de Nicolas Brulez - 5 juillet 2005

Le challenge securitech étant achevé, la FRET vous propose un petit article d'analyse du binaire forwarder.exe issu du challenge 7 (reversing) proposé par Nicolas Brulez.

BugTrack#1 - exemple d'analyse virale - 28 mars 2005

J'ai rédigé ce petit article à l'occasion d'un défi proposé par Neitsa et Kaine. Il s'agit d'une analyse d'un petit malware. J'explique une approche possible en statique et je vous propose les outils construits pour l'occasion.

Analyse du ReverseMe 1 de Neitsa - 13 décembre 2004 -

Je vous propose ici une étude du reverseme1 proposé par Neitsa pour un défi sur ForumCrack.

Comprendre FSG et l'algo de décompression de l'ApLib- 15 octobre 2004 -

Je vous propose ici une étude du packer FSG ainsi qu'une analyse de la compression par dictionnaire.

Comprendre le CheckSum du Header - Septembre 2004 -

Je vous propose ici une comparaison du calcul du checksum par Windows et WinHex.

Comprendre tElock 0.98 et private version - Septembre 2004 -

Je vous propose ici une étude des packers tElock 0.98 et celles baptisées private versions.

Comprendre tElock 0.51 - Août 2004 -

Je vous propose ici une étude du packer tElock 0.51.

Crackme5 de _julien_ solution et keygen- juillet 2004 -
Crackme1 de Mars solution - juillet 2004 -

Copyright (C)- BeatriX (2008)

Valid XHTML 1.1

Valid CSS!