Jump to content

Reverse Code Engineering pour les Nuls : Introduction


Recommended Posts

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
Link to post
Share on other 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

Edited by MoiAtmane
add lien
Link to post
Share on other 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!

Edited by Chevrosky
Link to post
Share on other 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 !

Link to post
Share on other 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 ;)

 

;)

Link to post
Share on other 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).

Link to post
Share on other 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
Link to post
Share on other 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.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • Huawei Modem Code Writer V1.0b by sagmaster HUAWEI MODEM Code Writer.exe
    • débloquer  modem huawei tuto plus logiciel dc unlocker 220933284_updateandunlockhuaweimodeme3531i-2-YouTube(720p).mp4 dc-unlocker2client.exe
    • BONJOUR A TOUS HELP JE SUIS UNE FILLE NUL UN INFORMATIQUE ? j'ai essaye vos deux solutions sans succes pour deboquer ma clé huawei dont j ai beson pour travailler rapidement Pourriez vous m'aider IMEI 353934037576132 MERCI BEAUCOUP D'AVANCE 
    • Bonjour, j'ai le même problème, l'application s'ouvre dans la page du logo mais elle reste figée, impossible d'aller plus loin. Je l'ai désinstallée et réinstaller, j'ai même changé de téléphone toujours le même problème. J'ai contacté le service client à trois reprises, pas de réponse. J' aimerais savoir si vous avez trouvé une solution. Merci 
    • Un loup qui parle ! Pendant qu'un berger était entre ses moutons, un loup attaqua soudainement un mouton et le prit avec lui avant de fuir. Le berger chassa le loup et reprit mouton. Alors, le loup s'assit sur sa queue et s'adressa au berger : « Aies crainte d'Allah, tu a pris la provision qu'Allah m'a donnée ». Le berger dit : « Que c'est étonnant ! Un loup qui s'assied sur sa queue et me parle en langage humain ! » Le loup dit : « Te dirai-je quelque chose de plus étonnant ? Il y a Muhammad (que la prière et la paix d'Allah soient sur lui) ( le Messager d'Allah ) à Yathrib ( Al-Madina ) en train d'informer les gens des récits du passé ». Alors le berger partit à Al-Madina avec son mouton. Quand il y arriva, il attacha son mouton et se rendit au Messager d'Allah' (que la prière et la paix d'Allah soient sur lui) et lui raconta toute l'histoire. Le Messager d'Allah ordonna qu'on appelle au rassemblement d'une prière en commun, puis il sortit et demanda à l'homme de raconter aux gens toute l'histoire, ce qui fut fait. Ensuite le Messager d'Allah (que la prière et la paix d'Allah soient sur lui) dit : « Il dit la vérité. Par Allah qui détient mon âme entre Ses Mains, le jour de la Résurrection ne sera établi que jusqu'à ce que les bêtes féroces parlent avec les êtres humains, le bâton frappe, les lacets d'une personne lui parlent et sa cuisse l'informe de ce qui s'est passé à sa famille en son absence. » rapporté dans le Mousnad d'Ahmad, Vol.3, Page 83, Mousnad Abi Saîd Al-Khoudri Le Loup qui Parla à un Berger | Muhammad Al-'Arifi - ... Le Loup qui Parla à un Berger | Muhammad Al-'Arifi https://www.youtube.com/watch?v=1WJfhy6FJ6g Ahmed Deedat : ALLAH (Dieu) Existe-il ? | La Meilleure Réponse à Jamais | https://www.youtube.com/watch?v=U5RD5xS2Z7M
×
×
  • Create New...