Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

Reverse Code Engineering pour les Nuls : Introduction


Messages recommandés

Salut!

 

 

Je tiens d'abord a remercier el-farouk pour l'idée, Maverick pour son enthousiasme, et Samir_dz pour l'espace et la compréhension. :D

 

 

Reverse Code Engineering est un art d'une extreme vitalité pour les professionnels et les experts de la sécurité d'aujourd'hui.De la rétro-ingénierie d'un malware à la découverte des vulnérabilités dans un binarie, un tel savoir est exigé de nos jours afin de pouvoir sécuriser convenablement une organisation dans un monde ou l'évolution des menaces est en perpétuelle croissance ( plus de 1 millions de virus en 1998 d'apres les laboratoires de Kaspersky).

 

 

 

Reverse Code Engineering est une compétence essentielle ?

 

 

Les pirates utilisent de plus en chevaux de Troie personnalisés qui ne sont pas détectés par les antivirus. En outre, de nombreux programmes binaires contiennent des vulnérabilités, telles que les dépassements de tampon et de l'utilisation de très faibles algorithmes cryptographiques. La seule facon de découvrir ces vulnérabilités critiques pour les programmes de closed-source ( le contraire d'open source) est bien le reverse code engineering.

Le RCE est également nécessaire afin de comprendre les mécanismes complexes de l'obscurcissement binaires utilisés par les fournisseurs de protection contre la copie, ainsi que l'obscurcissement mis en place par les éditeurs de logiciels commerciaux.

 

 

Dans cette section, vous apprendrez les connaissances d'analyse binaires nécessaires pour découvrir la vraie nature de tout binaire Windows ( Rappelez vous qu'un Logiciel freeware ne veut pas dire Open Source), vous apprendrez également comment reconnaitre la construction des langages de haut niveau ( branching statements (if, else, switch), looping functions et le code socket réseau), essentiels à l'exécution d'une analyse consciencieuse et professionnelle d'un binaire.

 

 

En somme, vous apprendrez :

 

- Comprendre les états de branchement conditionnel

 

- Identification des variables

 

- Gestion de la mémoire

 

- Formats d'exécutable de Win32

 

- Fondements de l'IDA Pro

 

- Utilisation avancée de l'IDA Pro avec le code hostile

 

- Utilisation d'OllyDbg pour l'analyse d'exécution de logiciels malveillants

 

- Mode débogage du noyau (Kernel) avec SoftICE (ring 0)

 

- Dump d'un exécutables à partir de la mémoire

 

- Localisation des API non documentées

 

- Le Reversing de ntdll.dll

 

- Obfuscation de formats de fichiers

 

- Comprendre les fonctions de hachage

 

- Travailler avec des fichiers binaires cryptées

 

- Unpacking ( décompression ) d'UPX et d'autres types de compression (ACProtect, ASProtect, Armadillo, Obsidium, Themida, PCGuard, etc)

 

- Découvrir les débordements de pile

 

- Suivi des modifications du Registre

 

- Contrecarrer le code anti-debugger

 

- Débogage des programmes multi-thread , etc

 

 

 

Après avoir appris ces connaissances préliminaires importantes, vous avancerez à l'analyse de :

 

 

- Code hostile & Malware ( vers, virus, chevaux de Troie, les rootkits et les bots ) .

 

- Vulnérabilités dans les binaires ( des vulnérabilités de chaine de format, les conditions de dépassement de mémoire tampon, et l'identification des lacunes des schémas cryptographiques).

 

- Les schémas d'obscurcissement binaires utilisés par : ( les Pirates informatiques, les concepteurs de Trojans et les algorithmes de protection contre la copie ).

 

Vous apprendrez supplémentairement comment reconnaitre les caractéristiques des compilateurs (optimiseurs) modernes ( la famille gcc 4.x et l'omniprésent Visual Studio. NET).

 

 

 

 

 

 

 

PS : Le prochain post sera consacré a l'assembleur

 

http://fr.wikipedia.org/wiki/Assembleur

  • Like 7
Lien vers le commentaire
Partager sur d’autres sites

Merci pour cette introduction, que je trouves un peu orientée.

Si vous permettez chevrosky, j'estimes qu'il faut aussi expliquer et rappeler ce que signifie "Reverse Engineering" globalement en omettant le mot code, notement pour les nuls(titre du sujet oblige) j'aurais préféré pour débutants. on indiquant ce lien Wikipedia :http://en.wikipedia.org/wiki/Reverse_engineering ou http://fr.wikipedia.org/wiki/R%C3%A9tro-ing%C3%A9nierie

 

J'attends votre prochain post.

 

mes salutations

Modifié par MoiAtmane
add lien
Lien vers le commentaire
Partager sur d’autres sites

Parmi les points d'entrée de ce monde, peut être le désassemblage (IDA ou windasm (je sais pas si il obsolète celui là :) ), approche dead list donc et live approach (softice).

:)

 

Est ce que tu as appris a faire la différence entre un désassmbleur et un debuggeur en mode noyau ? Softice est mort depuis 2006, on peut citer quelques remplaçant , à savoir http://rr0d.droids-corp.org/, qui est open source. http://www.sysersoft.com/ qui nécessite une license, mais un excellent remplacant. TRW 2000 http://www.knlsoft.com/ payant aussi, pourtant il était gratuit les premiers temps de son developpement. Dans le pire des cas y'a le WinDbg de chez windows dispo sur http://www.microsoft.com/whdc/devtools/debugging/default.mspx.

En ce qui concerne l'approche, je pralais de la mienne concernant la facon dont je comptais animer cette section du forum.

 

 

 

PS: http://www.linice.com/ un clone, mais sous Linux. ;) Je vous promets qu'on touchera a tout ( Windows + Linux + Mac OS x), alors s'il vous plait, soyez patients!

 

Merci!

Modifié par Chevrosky
Lien vers le commentaire
Partager sur d’autres sites

En ce qui concerne le titre de l'article, un lien comblera surement des lacunes

 

je voulais juste dire qu'une étape vous a échappé dans l'introduction compte tenu du titre sans plus, mais bon, une mise au point est toujours bienvenue. (ceci témoigne mon intéressement à cette rubrique)

bonne continuation et merci !

Lien vers le commentaire
Partager sur d’autres sites

je voulais juste dire qu'une étape vous a échappé dans l'introduction compte tenu du titre sans plus, mais bon, une mise au point est toujours bienvenue. (ceci témoigne mon intéressement à cette rubrique)

bonne continuation et merci !

 

MoiAtmane, je vous remercie pour l'interet que vous portez pour cette séction

, sachez que vos remarques et vos mises au point seront toujours les bienvenue.Merci!

 

Merci j'att tes cours

sinon ça c'est pas pour les NULL !

faut au moi étre nul ;)

 

;)

Lien vers le commentaire
Partager sur d’autres sites

Peut tu faire une traduction à l'algérienne pour cet article? histoire de le rendre comestible pour nos tète (nous les V.I.N. ou Very Ignorant Newbies)

 

Salut,

Le problème c'est que le sujet est un peu complexe. Pas évident de l'expliquer à des débutants en informatique, il faut avoir un minimum de pré-requis (en système d'exploitation) et de pratique (en programmation).

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Le problème c'est que le sujet est un peu complexe. Pas évident de l'expliquer à des débutants en informatique, il faut avoir un minimum de pré-requis (en système d'exploitation) et de pratique (en programmation).

 

Si je suis la, c'est surement pour relever le défis, quitte à faire des tutorials en dialecte algérien.

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...
  • 6 years later...
Salut!

 

 

Je tiens d'abord a remercier el-farouk pour l'idée, Maverick pour son enthousiasme, et Samir_dz pour l'espace et la compréhension. :D

 

 

Reverse Code Engineering est un art d'une extreme vitalité pour les professionnels et les experts de la sécurité d'aujourd'hui.De la rétro-ingénierie d'un malware à la découverte des vulnérabilités dans un binarie, un tel savoir est exigé de nos jours afin de pouvoir sécuriser convenablement une organisation dans un monde ou l'évolution des menaces est en perpétuelle croissance ( plus de 1 millions de virus en 1998 d'apres les laboratoires de Kaspersky).

 

 

 

Reverse Code Engineering est une compétence essentielle ?

 

 

Les pirates utilisent de plus en chevaux de Troie personnalisés qui ne sont pas détectés par les antivirus. En outre, de nombreux programmes binaires contiennent des vulnérabilités, telles que les dépassements de tampon et de l'utilisation de très faibles algorithmes cryptographiques. La seule facon de découvrir ces vulnérabilités critiques pour les programmes de closed-source ( le contraire d'open source) est bien le reverse code engineering.

Le RCE est également nécessaire afin de comprendre les mécanismes complexes de l'obscurcissement binaires utilisés par les fournisseurs de protection contre la copie, ainsi que l'obscurcissement mis en place par les éditeurs de logiciels commerciaux.

 

 

Dans cette section, vous apprendrez les connaissances d'analyse binaires nécessaires pour découvrir la vraie nature de tout binaire Windows ( Rappelez vous qu'un Logiciel freeware ne veut pas dire Open Source), vous apprendrez également comment reconnaitre la construction des langages de haut niveau ( branching statements (if, else, switch), looping functions et le code socket réseau), essentiels à l'exécution d'une analyse consciencieuse et professionnelle d'un binaire.

 

 

En somme, vous apprendrez :

 

- Comprendre les états de branchement conditionnel

 

- Identification des variables

 

- Gestion de la mémoire

 

- Formats d'exécutable de Win32

 

- Fondements de l'IDA Pro

 

- Utilisation avancée de l'IDA Pro avec le code hostile

 

- Utilisation d'OllyDbg pour l'analyse d'exécution de logiciels malveillants

 

- Mode débogage du noyau (Kernel) avec SoftICE (ring 0)

 

- Dump d'un exécutables à partir de la mémoire

 

- Localisation des API non documentées

 

- Le Reversing de ntdll.dll

 

- Obfuscation de formats de fichiers

 

- Comprendre les fonctions de hachage

 

- Travailler avec des fichiers binaires cryptées

 

- Unpacking ( décompression ) d'UPX et d'autres types de compression (ACProtect, ASProtect, Armadillo, Obsidium, Themida, PCGuard, etc)

 

- Découvrir les débordements de pile

 

- Suivi des modifications du Registre

 

- Contrecarrer le code anti-debugger

 

- Débogage des programmes multi-thread , etc

 

 

 

Après avoir appris ces connaissances préliminaires importantes, vous avancerez à l'analyse de :

 

 

- Code hostile & Malware ( vers, virus, chevaux de Troie, les rootkits et les bots ) .

 

- Vulnérabilités dans les binaires ( des vulnérabilités de chaine de format, les conditions de dépassement de mémoire tampon, et l'identification des lacunes des schémas cryptographiques).

 

- Les schémas d'obscurcissement binaires utilisés par : ( les Pirates informatiques, les concepteurs de Trojans et les algorithmes de protection contre la copie ).

 

Vous apprendrez supplémentairement comment reconnaitre les caractéristiques des compilateurs (optimiseurs) modernes ( la famille gcc 4.x et l'omniprésent Visual Studio. NET).

 

 

 

 

 

 

 

PS : Le prochain post sera consacré a l'assembleur

 

http://fr.wikipedia.org/wiki/Assembleur

 

Merci l'ami pour ton sujet, moi même je pratique le reverse code engineering (pas simple à première vue) mais cette pratique requiert une méthodologie très spécifique. J'ai des docs en PDF je vais voir si je peux les retrouver et les poster ici.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • Messages

    • je réponds à ma propre question vu que personne ne l'a fait: voici le details que j'avais pas lu sur le site de la BNA (qui est bien fait)   WIMPAY-BNA  ? Disposer d’un système IOS ou Android ; Disposer d’une connexion internet ; Télécharger l’application ; Etre abonné au service « BNA.net » OU au service « Pack WIMPAY-BNA » OU être porteur d’une carte CIB et utilisateur du service SMS OTP (pour les opérations de e-Paiement).   Comment ça marche ? Cas client abonné au service « BNA.net » : Télécharger et installer l’application sur smartphone ; Utiliser l’identifiant et le mot de passe du service « BNA.net » ; Renseigner les informations du client ; Insertion d’un code d’utilisation personnel ; Acceptation des conditions générales d’utilisation ; Validation de la phase d’inscription en saisissant le mot de passe OTP reçu par SMS ou par email.   Cas client abonné au service « Pack WIMPAY-BNA » L’inscription à ce service est offerte gratuitement à chaque client particulier détenteur d’un compte chèque : – Au niveau de l’agence Création de l’abonnement au service « Pack WIMPAY-BNA » par le chargé de clientèle ; – Sur l’application : Réception d’un mail de confirmation comportant l’email d’identification et un code d’accès à usage unique ; Saisie de l’adresse mail d’identification et le code reçu par email ; Réception par SMS d’un mot de passe OTP ; Saisir le mot de passe reçu par SMS afin de valider l’inscription ; Acceptation des conditions générales d’utilisation ; Création d’un code PIN ; Création d’un mot de passe personnalisé.   Cas client porteurs de cartes CIB et utilisateurs du services SMS OTP (pour les opérations de e-Paiement) Ce service est offert gratuitement aux clients détenteurs de cartes CIB et utilisateurs du services SMS OTP (e-Paiement) : Choisir le mode de souscription « Par carte » ; Renseigner les six (06) premiers chiffres, les quatre (04) derniers chiffres et la date d’expiration de la carte CIB ; Renseigner un numéro de téléphone valide afin de recevoir un SMS OTP; Introduire le mot de passe OTP reçu pour la validation de l’inscription ; Renseigner les informations du client ; Insertion d’un code d’utilisation personnel ; Acceptation des conditions générales d’utilisation ; Création du mot de passe personnel WIMPAY.  
    • @Aizen tous les prix sont affichés dans toutes les config... je reste dispo pour d'autres infos frere, tu te fais rare ici !
    • Salem, c'est pour quelle utilisation ? Retrogaming ? 
    • @aminou merci pour ce retour, bizarre quand meme que EC ne dise rien; et correction c'est pas "conversation" mais "convention" hahahaha ! je crois aussi que 500 megas et 1giga ne seront pas concernés...en effet on devra probablement attendre un contrat qui aura lieu au bas mot fin 2025....bon on verra bien c'est dans 6 mois inchallah; deja savoir qu'on aura ces offres je crois que c'est du jamais vécu en algerie ou auparavant c'etait les rumeurs sur ce meme forum qui donnaient les infos ...
×
×
  • Créer...