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 la clé 0xFF. De plus, nous allons jouer avec les structures (la structure CC dans notre cas) et l’appel de fonction (decode()). Il ne nous reste plus...

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...

Applications des TPM

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Les TPM, inventés il y a une vingtaine d’années, ont pénétré progressivement les plateformes numériques. Malgré ce long historique, les TPM ont encore aujourd’hui du mal à s’imposer. Pourtant, leurs applications potentielles sécuritaires sont très intéressantes : Authenticated Boot, Remote Attestation, Scellement, amélioration de la sécurité de la cryptographie logicielle. Cet article détaille ces principales applications et liste quelques produits connus qui utilisent les TPM.

Dora au pays du kernel debugging

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Après plusieurs années dans le monde de la sécurité informatique il est récurrent d'être confronté aux remarques telles que : « Wow tu bosses sur le kernel Windows, c'est trop cool, mais vachement compliqué quand même ! ». Que nenni, en réalité la documentation est conséquente et le point le plus difficile et rédhibitoire est bien souvent la mise en place d'un Labo permettant d'analyser celui-ci. En bref, cet article vous permettra de vous faire passer pour un super haxxor de ses morts qui dt des KPCR à tour de bras et vous permettra peut-être au passage de demander une augmentation.

En sécurité sous les drapeaux

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

En sécurité sous les drapeaux... du compilateur, ces fameux -fstack-protector-strong et autres -D_FORTIFY_SOURCE=2 que l’on retrouve dans de plus en plus de logs de compilation. Cet article se propose de parcourir quelques-uns des drapeaux les plus célèbres, en observant les artefacts dans le code généré qui peuvent indiquer leur utilisation, tout en discutant de leur support par gcc et clang. Après tout, nombre d’entre eux sont utilisés par défaut sous Debian ou Fedora, ils méritent bien qu’on s’y intéresse un peu.

Introduction aux TPM (Trusted Platform Modules)

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Les TPM (Trusted Platform Modules), brique de base du Trusted Computing, ont été imaginés il y a une vingtaine d’années, et pourtant ils ne sont pas très utilisés malgré leurs réelles qualités. Comment expliquer cela ? Cet article tend à fournir de premiers éléments de réponse.