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

 Share



  • Posts

    • Les vidéos et les chaines en 4K avec le codec HEVC  (ouH.265) peuvent fonctionner avec une connexion de 10 Mbps même si elles nécessitent normalement un Débit minimal de 20 Mb/s. Le HEVC (codage vidéo à haute efficacité), une norme de compression vidéo, a été développé pour offrir une haute efficacité de codage et une qualité vidéo améliorée. Avec un double taux de compression des données, HEVC n'a besoin que d'un demi-débit pour conserver la même qualité vidéo que H.264/MPEG-4 AVC. En d'autres termes, HEVC apporte une meilleure qualité vidéo au même débit. Destiné aux systèmes d'affichage et de capture de contenu HDTV de nouvelle génération, il peut prendre en charge les résolutions 4K avec seulement un débit de 10 Mbps.
    • il y a longtemps un certain @meslouve avait publié en exclusivité un test FTTH...et annonçait que AT allait lancer une offre pour tous..........c'etait en 2010 !!!!!!!!!!!!!!!!!!!!!! 12 ans plus tard RIEN pas de FTTH !!! soyons realistes les amis c'est soit du VDSL...soit RIEN !
    • @Manigoldo non ces pas erreur sur le site  car quant je suis  parti a la direction régional j'ai parlé au chef commercial (le technique congé ) il ma dis ya pas de vdsl pour particulier pour l'instant mais il ma dis ces le next step  pour les quartier non éligible a la fibre = on veut pas cassé la tirelire pour vous  mon ami qui a sont frère certe de guichet seulement mais fan des jeux video et YTubeur donc je crois se que il me dis car il se renseigne il ma dis des commande de carte vdsl vont se faire fin d'octobre  hier avec se que j'ai dis + avant hier la vdsl est official ces le next step mais ces la petite soeur de la fibre sa prendra du temps avec at pour les ancien msan ces pas une coïncidence si des gens comme genio moi et beaucoup ont trouvé leur cachète car qui est assez censé dans sa tete allez acheté un modem de plus de 1 million ? biensurs que AT ne s'attend pas a sa  si on été a adrar les agent la bas travaille avec sincérité il active la vdsl direct si tu la demande un ami est a 50 vdsl  ces pas un hasard ou faute juste que AT travail avec 0.7% de sont cerveau marketing traveaux etc...
    • Ben petite bourde de leur part, tout simplement ! Il n'en demeure pas moins qu'à AUCUN moment ils ne parlent d'offre VDSL, donc je maintiens ce que je dis, vous vous êtes emballé pour rien et tiré des conclusions hâtives ! Si ils avaient clairement parler d'officialiser la VDSL, là oui vos plaintes et griefs auraient peut être pu être entendues ! mais du moment qu'ils ne mentionnent ça nulle part, même si vous êtes éligibles à l'offre 50 mégas, ils peuvent vous baratiner avec la soi-disant nécessité d'avoir la FTTH pour pouvoir migrer et vous ne pourrez hélas rien y faire !
    • @yacine230 non la 4k 60fps marchera normal avec 20 méga j'arrive a regardé 4k30 normal alors si tu passe 50 avec 15 upload sa sera normal juste les deux semaine passé je regardé le 4k30 avec d'autre qui utilise l'internet est sa a chargé normal grâce a la vdsl + fastpath alors je comprend pas la ton explication la vdsl toute première été mauvaise je te pris de te mettre a jours le vectoring profil 35b et 17a vectored le g.fast sont tous nouveaux 2-raconte pas aussi n'importe quoi j'habite dans une zone ou ya aucune 0% de société ou de client Professional juste des gens normaux hors la vdsl a été déployé sur toute la dayra ou j'habite et mon ami habite  a 1.3km de distance recevra 75mega normal mon ami d'adrar 1.4km zone résidentiel ya rien de tel genre baladiya etc.. l'agent lui a activé vdsl + 50 méga il est au ange  je comprend se que tu ressens et ya aucun 0% personne assez bête pour dire ah vive la vdsl au lieux du ftth mais ces le seul moyen tu comprend pas que t'aura jamais la fibre demain ni l'année prochaine j'ai marre de redire sa le directeur régional ma ris au visage quand j'ai dis ces tout proche la fibre pour le foubourg il ma dis vous ete meme pas sur les plan peut etre dans 3 4 ans je t'envoi l'image d'un ami en alger la fibre passe juste a coté de sa maison car ya un nouveaux building 3imara non il peut pas passé fibre parque ces pour les nouveaux building le mensonge du siecle il vont pas la lui désactivé car ces censez resté juste secret il s'attend pas que notre cha3b arrieré en technologie va acheté des modem +1m VDSL ces tout en adrar l'agent lui dis ah pourquoi tu te casse la tete avec la adsl passe vdsl vue que ta un modem  mon ami été choqué l'agent lui dis ces en cours de déploiment puis il est rentré au centre tech l'appel mets le vlan id comme sa et fais sa 5min sa marche et ya des jours il est 50 sans aucun erreur ou chute 
×
×
  • Create New...