Archives de la catégorie ‘Reverse Engineering’.

Reversing Google Play and Micro-Protobuf applications

Mercredi 19 septembre 2012

I recently released a Google Play Unofficial Python API, which aims at providing a way for developers to query Google's official Android application store. Such projects already exist, but they are all based on the previous version ("Android Market"), and are therefore limited. My goal was to adapt those projects ...

Solution partielle du challenge SSTIC 2011

Jeudi 26 mai 2011

Cela fait un petit moment que je planche sur le célèbre challenge de SSTIC 2011. Étant donné que je ne pense pas en venir complétement à bout, voici quelques éléments de réponses qui résument ma progression. Certains m'ayant devancé, je vais tenter d'insister sur les parties non couvertes actuellement.

Bypassing SEHOP on Windows 7

Lundi 21 décembre 2009

La protection SEHOP introduite dans Windows Vista et 2008 permet de protéger les applications contre les exploitations de buffer-overflows classiques. Celles-ci consistent en général à écraser non seulement une adresse de retour, mais aussi la structure SEH gérant les exceptions provoquées par l'application, dans le but de rediriger le flux ...

RDTSC hooking sous Linux : théorie et pratique

Mardi 14 juillet 2009

L'architecture x86 possède des subtilités parfois méconnues de beaucoup de développeurs. En effet, il existe une instruction assez spéciale, RDTSC, qui renvoie le nombre de cycles d'horloge depuis le démarrage du processeur. En 2007, un chercheur d'IBM présente au Black Hat une technique de hook basée sur cette instruction. En ...

Nuit Du Hack 2009 : Et les vainqueurs sont…

Dimanche 14 juin 2009

Tant attendue, la NDH 2009 s'est terminée ce matin même. La péniche sur laquelle se déroulait l'événement battait son plein ; nous étions quasiment 200 à bord. Pour la première fois, le challenge était un Capture The Flag  au cours duquel se sont affrontés une demi douzaine d'équipes. Mais cette ...

Tunnez votre BSOD (Blue Screen Of Death)

Jeudi 30 avril 2009

Tous les développeurs de drivers et les reversers kernel vous le diront : quand on touche au noyau Windows d'un peu trop près, on a le droit à un écran bleu de la mort, ou BSOD (Blue Screen Of Death). C'est justement parce que je me suis pris un tas ...

Problèmes liés aux interruptions

Mardi 21 avril 2009

Dans le cadre de mon stage, je m'intéresse au fonctionnement des interruptions de l'architecture x86. Il s'agit d'un mécanisme complexe mais extrêmement important pour comprendre comment un système d'exploitation arrive à fonctionner. Si j'écris ce post, c'est parce que je me suis pris la tête sur des problèmes qui y ...

Plongeon dans les appels systèmes Windows

Samedi 28 mars 2009

Mon stage m'a donné l'occasion d'analyser en détails comment un appel système est réalisé sous Windows. Si vous vous demandez comment un programme utilisateur (ring 3) fait pour appeler une fonction s'exécutant en mode noyau (ring 0), alors cet article est pour vous. J'y explique toutes les étapes de la ...

Stage chez Thomson R&D

Mercredi 25 mars 2009

J'ai commencé mon stage il y a maintenant une dizaine de jours chez Thomson R&D à Cesson-Sévigné. Comme prévu, mon stage a pour sujets principaux le reverse-engineering et le développement de drivers.  Pour être plus précis, le but du stage est de réaliser un conteneur sécurisé de données. Autrement dit, ...

InjecSO : Injection de .so sous Linux

Samedi 14 février 2009

L'injection de librairie dynamique est une technique principalement orientée reverse-engineering qui consiste à introduire et exécuter du code dans un processus actif du système d'exploitation. Le code en question s'exécute alors dans le contexte du processus cible, et peut accéder aux mêmes ressources. Attention, je parle bien d'injection dynamique, c'est ...