Cadeaux de Noël aux reversers

Magazine
Marque
MISC
Numéro
96
Mois de parution
mars 2018
Domaines


Résumé

La fin d’année 2017 a été riche en mise à disposition de logiciels libres pour les fans de rétroconception. Dans cet article, nous allons voir deux de ces outils : cutter, une interface graphique au programme radare2 et RetDec, un décompilateur basé sur LLVM. Cet article présentera ces deux outils et leur utilisation avec un exemple dont nous possèderons le code source afin de plus facilement visualiser leur fonctionnement.


1. Présentation du cas d’étude

Pour cet article, nous allons travailler sur la base du code source suivant :

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char data[]="\x97\x8b\x8b\x8f\xc5\xd0\xd0\x88\x88\x88\xd1\x92\x96\x8c\x9c\x92\x9e\x98\xd1\x9c\x90\x92\xf5";

struct CC

{

   char URL[50];

   int key;

   char Decoded[50];

};

 

void decode(struct CC* cc_);

 

int main()

{

   struct CC cc_;

   strncpy(cc_.URL, data, sizeof(cc_.URL));

   cc_.key=0xFF;

   printf("Demarrage...\n");

   printf("CC: ");

   decode(&cc_);

   printf("%s",cc_.Decoded);

   return 0;

}

 

void decode(struct CC* cc_){

   int i;

   int length = strlen(cc_->URL);

   for(i=0;i<length;i++)

   {

      cc_->Decoded[i] = cc_->URL[i] ^ cc_->key;

   }

   cc_->Decoded[i] = 0x00;

}

Le but de ce code est de décoder l’URL stockée dans la variable data. Le décodage se fait par l’opération XOR avec...

Cet article est réservé aux abonnés. Il vous reste 92% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Découverte de la puce Titan M a.k.a Citadel

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

La puce Titan M ou Citadel est une puce sécurisée sur laquelle repose en grande partie la sécurité des terminaux Android de Google, la gamme Pixel. Dans cet article, nous détaillerons le fonctionnement interne et les usages de ce composant pour lequel peu d’information publique est disponible à ce jour. Nous donnerons également plusieurs pistes pour aider le rétro-ingénieur à travailler sur ce projet.

Les protections des Secure Elements contre les attaques physiques

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Écrire du code sécurisé sans bug ni vulnérabilité n’est pas suffisant pour protéger un système contre des attaques matérielles. Les circuits sécurisés, ou Secure Elements, sont de vraies forteresses numériques capables de résister à des attaques évoluées, qui requièrent parfois des moyens colossaux. Que se cache-t-il derrière ces petites puces ?

Désamorcer des bombes logiques

Magazine
Marque
MISC
Numéro
111
Mois de parution
septembre 2020
Domaines
Résumé

Aujourd’hui, les développeurs de code malveillant sont capables de contourner les mesures de sécurité et les techniques d’analyse les plus poussées grâce à de simples mécanismes appelés « bombes logiques ». Un exemple significatif est le Google Play qui accepte toujours des applications malveillantes pouvant déjouer ses barrières de sécurité. Cette introduction aux bombes logiques permet de sensibiliser sur les différentes solutions pouvant être mises en place pour détecter ces artifices.

Introduction à QBDI et ses bindings Python

Magazine
Marque
MISC
Numéro
109
Mois de parution
mai 2020
Domaines
Résumé

Le présent article traite de l'outil d'instrumentation dynamique QBDI. C'est un framework de DBI (Dynamic Binary Instrumentation), comparable à d'autres projets publics tels qu’Intel PIN, Valgrind ou encore DynamoRIO. Avant d'entrer dans le vif du sujet, quelques rappels peuvent s'avérer nécessaires…