SlideShare uma empresa Scribd logo
1 de 41
“Reverse-Engineering pour
le Fun et le Profit”
17 Mai 2012
FAOUZI Ayoub aka “Noteworthy”, Etudiant-Chercheur Malware Analysis, Auteur
de « Pas à Pas vers l'Assembleur »
mail:ayoub@marocpharm.net
TAHIRI Soufiane aka “Esp!oNLerAvaGe” Chercheur Indépendant en Sécurité
Logiciel, Auteur de « Premièrs Pas vers le Cracking »
mail:soufiane@marocpharm.net
Agenda
• Qu’est ce que la rétro-ingénierie ?
• A quoi ça sert ?
• Ses applications légales/illégales
• Pourquoi c’est toujours un Black Art ?
• En quoi c’est interessant?
• Les phases du RE
• Les connaissances requises
• Les outils pour le RE
• Pourquoi protéger son logiciel ?
• Comment protéger son logiciel ?
• Les techniques de protections simples
• Techniques avancés
• RE en action
• Conclusion
• Questions/Réponses
Qu’est ce que la rétro-ingénierie ?
Est un activité qui consiste
à étudier un objet pour
en déterminer le
fonctionnement interne
ou sa méthode de
fabrication.
Qu’est ce que la rétro-ingénierie
RE : Reverse Engineering
– Rétro conception
– Rétro ingénierie
– Ingénierie inverse
– Ingénierie inversé
– Ou bien Tout simplement: « reversing »
A quoi ça sert ?
– Comprendre le fonctionnement de cet objet.
– Fabriquer une copie de cet objet.
– Créer un nouvel objet ayant des
fonctionnalités identiques à l'objet de départ.
– Analyser un objet produit par un concurrent.
Solution: Reverse Engineer it !
Applications légales 1
– Etude d'un protocole réseau pour son portage
sur d'autres plateformes.
– Etude d'un format
de fichier pour son
portage sur d'autres
plateformes.
Applications légales 2
– Recherche de vulnérabilités dans un logiciel
Légal pour les entreprises agrémentées
(exemple Google).
– Etude de malwares : comprendre les
virus/vers/rootkits/botnets pour mieux s'en
défendre. (exemple ZeuS, SpyEye, Stuxnet).
Applications légales 3
– Perte du code source.
– Compatibilité ou
Interopérabilité.
– Réutilisation
du code / migration.
Applications illégales 1
– Etude des vulnérabilités d'un logiciel/OS en vue
d'une exploitation.
– Casser une
protection
logiciel ainsi
qu’une publication du
patch sur Internet.
Applications illégales 2
– Espionnage
industriel.
– Vol
d'algorithmes
ou même de
logiciels d'une entreprise
concurrente
Pourquoi c’est toujours un Black Art ?
• Reverse Engineering = Cassage
des Protections Logiciels ?
• La DMCA qui fait chier!
• Les gens pensent encore que ça
devrait être illégal!
Please, Le reverse engineering est légal!
Dmitry Sklyarov
En quoi c’est interessant?
– Une compréhension plus profonde de la façon
dont fonctionne n’importe quel
microprocesseur.
– Apprendre comment le processeur gère les
données aide à comprendre énormément
d’autres nombreux aspects de la sécurité
informatique
Les phases du RE
Fichier Source
Fichier Objet (*.obj)
Fichier Exécutable
Langage
Assembleur
Compilation Linking
DésassemblageDécompilation
Les connaissances requises
• Identifier le format binaire cible ;
• Maîtriser les outils ;
• Creuser et découvrir autant que vous le pouvez ...
• Identifier le
processeur cible ;
• Identifier le système
d'exploitation cible ;
Les outils pour le RE
– Désassembleurs ;
– Débuggeurs ;
– Décompilateurs ;
– Editeurs hexadécimaux ;
– Outils de contrôles de systèmes
;
– Les outils de diffing ;
– …
Les désassembleurs – IDA
– Est un désassembleur professionnel et très
puissant mais $$
– Certains plugins (très chers) de retrouver le
code source originel du programme analysé
Les débogueurs - OllyDBG
– Est gratuit.
– Est Très utilisé.
– Interface conviviale.
– Peut être étendu grâce à un système de
plugins.
Les décompilateurs
– VB Decompiler ;
– Java Decompiler ;
– DeDe Delphi Decompiler ;
– Reflector .NET Decompiler ;
– Sothink SWF Decompiler ;
Les éditeur Hexadécimaux
– WinHex
– HexDecCharEditor
– Hex Workshop
– Hiew
Outils de control de système
• Le suite Sysinterls de M$.
– Process Explorer
– RegMon
– FileMon
– TCPView
– Etc...
Les outils de Diffing
– WinDiff ;
– eEye Digital Security Diffing ;
– Zynamics BinDiff.
– DarunGrim
Pourquoi protéger son logiciel ?
– Les désassembleurs et les débogueurs
permettent d‘étudier un exécutable sans
posséder sa source.
– Protéger les logiciels d'une entreprise est alors
indispensable.
Comment protéger son logiciel ?
– Juridiquement
– En bloquant ou freinant le piratage du logiciel
– En utilisant des mesures punitives
Techniques de protection simples
– Protection par
numéto de série.
– Limitation du
temps.
– Obfuscation de
code
– Chiffrement de
code
– Vérifications
furtives
Techniques avancés
– Les Packers
– Techniques d’anti-
RE
– Fusion avec
l'application
– Virtualisation
RE en action 1
– Un ReverseMe
(littéralement
« crack-moi ») est
un petit programme
destiné à tester les
capacités en rétro-
ingénierie d'un
programmeur.
RE en action 2
– Cracker le reverse-me pour accepter tous les
serials.
– Chopper un serial valide.
– Faire un self-keygenerateur.
Conclusion
– RE est vaste et complexe.
– Avec beaucoup de pratique,
il devient très facile.
« Un bon rétro-ingénieure maitrise parfaitement le proc
cible, l’OS cible, le format fichier cible, et les outils
disponible au marché. »
Questions ?

Mais conteúdo relacionado

Mais procurados

Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUCHAOUACHI marwen
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études MortadhaBouallagui
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage AutomatiqueNizar Bechir
 
Sensibilisation sur la cybersécurité
Sensibilisation sur la cybersécuritéSensibilisation sur la cybersécurité
Sensibilisation sur la cybersécuritéOUSMANESoumailaYaye
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigFelipe Sanchez Garzon
 
Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2PRONETIS
 
Cloud computing
Cloud computingCloud computing
Cloud computingmourad50
 
MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...
MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...
MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...mouliom matapit hermann cedric
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Formation gns3
Formation gns3Formation gns3
Formation gns3Joeongala
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoiresBoris Guarisma
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques InformatiquesSylvain Maret
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Ahmed Slim
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance facialeAymen Fodda
 
Présentation NAC-NAP PPT HARIFI Madiha
 Présentation NAC-NAP PPT HARIFI Madiha Présentation NAC-NAP PPT HARIFI Madiha
Présentation NAC-NAP PPT HARIFI MadihaHarifi Madiha
 

Mais procurados (20)

Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage Automatique
 
Sensibilisation sur la cybersécurité
Sensibilisation sur la cybersécuritéSensibilisation sur la cybersécurité
Sensibilisation sur la cybersécurité
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...
MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...
MISE EN PLACE DE SERVICES RESEAUX ET OPTIMISATION DE LA SECURITE AU SEIN DE l...
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Formation gns3
Formation gns3Formation gns3
Formation gns3
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
 
Snort
SnortSnort
Snort
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentiel
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques Informatiques
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance faciale
 
Présentation NAC-NAP PPT HARIFI Madiha
 Présentation NAC-NAP PPT HARIFI Madiha Présentation NAC-NAP PPT HARIFI Madiha
Présentation NAC-NAP PPT HARIFI Madiha
 

Semelhante a Reverse-Engineering Pour le Fun et le Profit

Etude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application AndroidEtude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application AndroidSaad Dardar
 
Développement d'applications sécurisées [Partie 1]
Développement d'applications sécurisées [Partie 1]Développement d'applications sécurisées [Partie 1]
Développement d'applications sécurisées [Partie 1]Salah Triki
 
Api win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifsApi win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifsUltraUploader
 
Abf Gaetan Rouyer
Abf Gaetan RouyerAbf Gaetan Rouyer
Abf Gaetan RouyerBibliolab
 
Barcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcampCameroon
 
Comment se protéger contre les menaces de CTB Locker (ransomware)?
Comment se protéger contre les menaces de CTB Locker (ransomware)?Comment se protéger contre les menaces de CTB Locker (ransomware)?
Comment se protéger contre les menaces de CTB Locker (ransomware)?ATN Groupe
 
Annexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les HoneyclientsAnnexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les HoneyclientsMohamed Ben Bouzid
 
unité 2.pptx
unité 2.pptxunité 2.pptx
unité 2.pptxBahaty1
 
2011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v022011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v02Sébastien GIORIA
 
Competitic securite données - numerique en entreprise
Competitic   securite données - numerique en entrepriseCompetitic   securite données - numerique en entreprise
Competitic securite données - numerique en entrepriseCOMPETITIC
 
La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code OCTO Technology
 
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécuritéQuand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécuritéITrust - Cybersecurity as a Service
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
Hackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg FrHackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg FrDavid Girard
 

Semelhante a Reverse-Engineering Pour le Fun et le Profit (20)

Etude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application AndroidEtude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application Android
 
OWF12/Security and Free Software
OWF12/Security and Free SoftwareOWF12/Security and Free Software
OWF12/Security and Free Software
 
No code low code
No code low codeNo code low code
No code low code
 
Développement d'applications sécurisées [Partie 1]
Développement d'applications sécurisées [Partie 1]Développement d'applications sécurisées [Partie 1]
Développement d'applications sécurisées [Partie 1]
 
Api win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifsApi win32 ancestrales pour chevaux de troie hyper furtifs
Api win32 ancestrales pour chevaux de troie hyper furtifs
 
Reveelium Smart Predictive Analytics - Datasheet FR
Reveelium Smart Predictive Analytics - Datasheet FRReveelium Smart Predictive Analytics - Datasheet FR
Reveelium Smart Predictive Analytics - Datasheet FR
 
Abf Gaetan Rouyer
Abf Gaetan RouyerAbf Gaetan Rouyer
Abf Gaetan Rouyer
 
Barcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphia
 
Comment se protéger contre les menaces de CTB Locker (ransomware)?
Comment se protéger contre les menaces de CTB Locker (ransomware)?Comment se protéger contre les menaces de CTB Locker (ransomware)?
Comment se protéger contre les menaces de CTB Locker (ransomware)?
 
Annexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les HoneyclientsAnnexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les Honeyclients
 
unité 2.pptx
unité 2.pptxunité 2.pptx
unité 2.pptx
 
La sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficientLa sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficient
 
2011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v022011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v02
 
Competitic securite données - numerique en entreprise
Competitic   securite données - numerique en entrepriseCompetitic   securite données - numerique en entreprise
Competitic securite données - numerique en entreprise
 
La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code
 
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécuritéQuand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
 
Développement sécurisé
Développement sécuriséDéveloppement sécurisé
Développement sécurisé
 
Les tests de securite devops
Les tests de securite devopsLes tests de securite devops
Les tests de securite devops
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 
Hackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg FrHackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg Fr
 

Reverse-Engineering Pour le Fun et le Profit

  • 1. “Reverse-Engineering pour le Fun et le Profit” 17 Mai 2012 FAOUZI Ayoub aka “Noteworthy”, Etudiant-Chercheur Malware Analysis, Auteur de « Pas à Pas vers l'Assembleur » mail:ayoub@marocpharm.net TAHIRI Soufiane aka “Esp!oNLerAvaGe” Chercheur Indépendant en Sécurité Logiciel, Auteur de « Premièrs Pas vers le Cracking » mail:soufiane@marocpharm.net
  • 2. Agenda • Qu’est ce que la rétro-ingénierie ? • A quoi ça sert ? • Ses applications légales/illégales • Pourquoi c’est toujours un Black Art ? • En quoi c’est interessant? • Les phases du RE • Les connaissances requises • Les outils pour le RE • Pourquoi protéger son logiciel ? • Comment protéger son logiciel ? • Les techniques de protections simples • Techniques avancés • RE en action • Conclusion • Questions/Réponses
  • 3. Qu’est ce que la rétro-ingénierie ? Est un activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne ou sa méthode de fabrication.
  • 4. Qu’est ce que la rétro-ingénierie RE : Reverse Engineering – Rétro conception – Rétro ingénierie – Ingénierie inverse – Ingénierie inversé – Ou bien Tout simplement: « reversing »
  • 5. A quoi ça sert ? – Comprendre le fonctionnement de cet objet. – Fabriquer une copie de cet objet. – Créer un nouvel objet ayant des fonctionnalités identiques à l'objet de départ. – Analyser un objet produit par un concurrent. Solution: Reverse Engineer it !
  • 6. Applications légales 1 – Etude d'un protocole réseau pour son portage sur d'autres plateformes. – Etude d'un format de fichier pour son portage sur d'autres plateformes.
  • 7. Applications légales 2 – Recherche de vulnérabilités dans un logiciel Légal pour les entreprises agrémentées (exemple Google). – Etude de malwares : comprendre les virus/vers/rootkits/botnets pour mieux s'en défendre. (exemple ZeuS, SpyEye, Stuxnet).
  • 8. Applications légales 3 – Perte du code source. – Compatibilité ou Interopérabilité. – Réutilisation du code / migration.
  • 9. Applications illégales 1 – Etude des vulnérabilités d'un logiciel/OS en vue d'une exploitation. – Casser une protection logiciel ainsi qu’une publication du patch sur Internet.
  • 10. Applications illégales 2 – Espionnage industriel. – Vol d'algorithmes ou même de logiciels d'une entreprise concurrente
  • 11. Pourquoi c’est toujours un Black Art ? • Reverse Engineering = Cassage des Protections Logiciels ? • La DMCA qui fait chier! • Les gens pensent encore que ça devrait être illégal! Please, Le reverse engineering est légal! Dmitry Sklyarov
  • 12. En quoi c’est interessant? – Une compréhension plus profonde de la façon dont fonctionne n’importe quel microprocesseur. – Apprendre comment le processeur gère les données aide à comprendre énormément d’autres nombreux aspects de la sécurité informatique
  • 13. Les phases du RE Fichier Source Fichier Objet (*.obj) Fichier Exécutable Langage Assembleur Compilation Linking DésassemblageDécompilation
  • 14. Les connaissances requises • Identifier le format binaire cible ; • Maîtriser les outils ; • Creuser et découvrir autant que vous le pouvez ... • Identifier le processeur cible ; • Identifier le système d'exploitation cible ;
  • 15. Les outils pour le RE – Désassembleurs ; – Débuggeurs ; – Décompilateurs ; – Editeurs hexadécimaux ; – Outils de contrôles de systèmes ; – Les outils de diffing ; – …
  • 16. Les désassembleurs – IDA – Est un désassembleur professionnel et très puissant mais $$ – Certains plugins (très chers) de retrouver le code source originel du programme analysé
  • 17.
  • 18. Les débogueurs - OllyDBG – Est gratuit. – Est Très utilisé. – Interface conviviale. – Peut être étendu grâce à un système de plugins.
  • 19.
  • 20. Les décompilateurs – VB Decompiler ; – Java Decompiler ; – DeDe Delphi Decompiler ; – Reflector .NET Decompiler ; – Sothink SWF Decompiler ;
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Les éditeur Hexadécimaux – WinHex – HexDecCharEditor – Hex Workshop – Hiew
  • 27.
  • 28. Outils de control de système • Le suite Sysinterls de M$. – Process Explorer – RegMon – FileMon – TCPView – Etc...
  • 29.
  • 30.
  • 31.
  • 32. Les outils de Diffing – WinDiff ; – eEye Digital Security Diffing ; – Zynamics BinDiff. – DarunGrim
  • 33.
  • 34. Pourquoi protéger son logiciel ? – Les désassembleurs et les débogueurs permettent d‘étudier un exécutable sans posséder sa source. – Protéger les logiciels d'une entreprise est alors indispensable.
  • 35. Comment protéger son logiciel ? – Juridiquement – En bloquant ou freinant le piratage du logiciel – En utilisant des mesures punitives
  • 36. Techniques de protection simples – Protection par numéto de série. – Limitation du temps. – Obfuscation de code – Chiffrement de code – Vérifications furtives
  • 37. Techniques avancés – Les Packers – Techniques d’anti- RE – Fusion avec l'application – Virtualisation
  • 38. RE en action 1 – Un ReverseMe (littéralement « crack-moi ») est un petit programme destiné à tester les capacités en rétro- ingénierie d'un programmeur.
  • 39. RE en action 2 – Cracker le reverse-me pour accepter tous les serials. – Chopper un serial valide. – Faire un self-keygenerateur.
  • 40. Conclusion – RE est vaste et complexe. – Avec beaucoup de pratique, il devient très facile. « Un bon rétro-ingénieure maitrise parfaitement le proc cible, l’OS cible, le format fichier cible, et les outils disponible au marché. »

Notas do Editor

  1. Dmitry Sklyarov : Il est connu pour avoir été poursuivi en 2001 par la société américaine Adobe qui s'est plainte que le système de protection anti-copie de son format de fichier e-book était contourné par le produit de ElcomSoft.
  2. Intel, Windows, PE Intel, Linux , ELF ARM, iOS, Mach-o
  3. FLIRT (Fast Library Identification Recognition Technology) PIT (Parameter Identification & Tracking)