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

    • merci cest sympa , suis la pour ca pas que pour vendre , c est ça le sav , on lâche pas temps que ça ne fonctionne pas , et si au final l'offre prise ne correspond pas j en ai bq d autre à proposer .. y en a pour tout les goûts toutes les bourses   
    • Bon voilà, ça fonctionne Un grand merci à MichelDZ, le pauvre, 2h hier à essayer de faire fonctionner ca sur mon pc. Aller savoir pourquoi, mais rien ne fonctionnait, pas moyen de faire une machine virtuelle, et les logiciels habituels ne voulait rien afficher, allez comprendre pourquoi, des fois il ne faut pas grand-chose pour que ca parte en cacahouète.  Il n'a pas lâché l'affaire, j'avais abandonné avant lui ^^ mais il a réussi à me le faire fonctionner.  Il m’a même relancé ce matin, savoir si ca allait toujours bien.  👍 Étant ma 1er iptv, je manque de point de comparaison, pour ce qui est du bouquet, je ne pourrais pas dire si c'est mieux ou moins bien que d'autres, mais je suis ravi, ceux qui se plaignent sont difficiles, à ce prix, c'est fou toutes ces chaines, et cette collection de films et séries. Mais pourquoi je ne suis pas venu avant, au lieu de me faire ch** avec le streaming. Enfin voilà, SAV au top, et offre complète, un vendeur que je recommande et garde précieusement dans mes contacts. 🥰
    • Alors que nous peinons à déployer du 100 % fibre optique et à sortir du débit de base  mesquin de 10Mbps, ailleurs le monde scientifique travaille déjà depuis plusieurs années au réseau Internet de demain. Vous avez sûrement au moins entendu parler de la théorie physique sur laquelle il se base : la mécanique quantique. Pour résumer, il s'agit de l'étude des comportements des particules à l'échelle des atomes et plus petit. Pour la première fois, des chercheurs ont créé un système qui relie ces deux composants clés et utilise des fibres optiques classiques pour transmettre les données quantiques. L'exploit a été réalisé par des chercheurs de l'Imperial College de Londres, de l'Université de Southampton et des universités de Stuttgart et de Wurzburg en Allemagne, et les résultats ont été publiés dans Science Advances . Le co-premier auteur , le Dr Sarah Thomas , du Département de physique de l'Imperial College de Londres, a déclaré : « L'interfaçage de deux appareils clés ensemble est une étape cruciale dans la mise en réseau quantique, et nous sommes vraiment ravis d'être la première équipe à avoir pu pour le démontrer. » Le co-premier auteur Lukas Wagner, de l’Université de Stuttgart, a ajouté : « Permettre aux emplacements longue distance, et même aux ordinateurs quantiques, de se connecter est une tâche essentielle pour les futurs réseaux quantiques. » Communication longue distance Dans les télécommunications classiques – comme Internet ou les lignes téléphoniques – les informations peuvent être perdues sur de grandes distances. Pour lutter contre cela, ces systèmes utilisent des « répéteurs » à des points réguliers, qui lisent et réamplifient le signal, garantissant ainsi qu'il arrive intact à sa destination. Toutefois, les répéteurs classiques ne peuvent pas être utilisés avec des informations quantiques, car toute tentative de lecture et de copie de ces informations les détruirait. Il s'agit d'un avantage dans un sens, dans la mesure où les connexions quantiques ne peuvent être « exploitées » sans détruire les informations et alerter les utilisateurs. Mais c’est un défi à relever pour les réseaux quantiques longue distance. Mais des chercheurs ont trouvé la solution. Une façon de surmonter ce problème consiste à partager des informations quantiques sous la forme de particules de lumière intriquées, ou photons. Les photons intriqués partagent des propriétés de telle manière que vous ne pouvez pas comprendre les unes sans les autres. Pour partager l'intrication sur de longues distances à travers un réseau quantique, vous avez besoin de deux appareils : un pour créer les photons intriqués et un pour les stocker et permettre leur récupération ultérieure. Il existe plusieurs dispositifs utilisés pour créer des informations quantiques sous forme de photons intriqués et pour les stocker, mais la génération de ces photons à la demande et la disponibilité d'une mémoire quantique compatible dans laquelle les stocker ont longtemps échappé aux chercheurs. Les photons ont certaines longueurs d'onde (qui, dans la lumière visible, créent des couleurs différentes), mais les dispositifs permettant de les créer et de les stocker sont souvent réglés pour fonctionner avec des longueurs d'onde différentes, ce qui les empêche de s'interfacer. Pour créer une interface entre les appareils, l’équipe a créé un système dans lequel les deux appareils utilisaient la même longueur d’onde. Un « point quantique » produisait des photons (non intriqués), qui étaient ensuite transmis à un système de mémoire quantique qui stockait les photons dans un nuage d'atomes de rubidium. Un laser a activé et désactivé la mémoire, permettant aux photons d'être stockés et libérés à la demande. Non seulement la longueur d'onde de ces deux appareils correspondait, mais elle était également à la même longueur d'onde que celle des réseaux de télécommunications utilisés aujourd'hui, ce qui permettait de la transmettre avec des câbles à fibre optique classiques, familiers aux connexions Internet quotidiennes. L’équipe va maintenant chercher à améliorer le système, notamment en s’assurant que tous les photons sont produits à la même longueur d’onde, en améliorant la durée de stockage des photons et en réduisant la taille de l’ensemble du système. Cependant, en tant que preuve de concept, il s'agit d'un pas en avant important, déclare le co-auteur Dr Patrick Ledingham de l'Université de Southampton : « Les membres de la communauté quantique tentent activement d'établir ce lien depuis un certain temps. Cela inclut nous, qui avons déjà tenté cette expérience à deux reprises avec différents dispositifs de mémoire et de points quantiques, remontant à plus de cinq ans, ce qui montre à quel point c'est difficile à réaliser. "Cette fois, la percée a été de réunir des experts pour développer et exécuter chaque partie de l'expérience avec un équipement spécialisé et de travailler ensemble pour synchroniser les appareils."  
×
×
  • Créer...