SlideShare une entreprise Scribd logo
1  sur  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 ?

Contenu connexe

Tendances

Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelHassen Sic
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
Attaques DDoS par Bruno Tréguier
Attaques DDoS par Bruno TréguierAttaques DDoS par Bruno Tréguier
Attaques DDoS par Bruno TréguierAFEIT
 
Gestion d’un projet informatique
Gestion d’un projet informatiqueGestion d’un projet informatique
Gestion d’un projet informatiqueAymen Foudhaili
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
Presentation de projet de fin de etude
Presentation de projet de fin de etudePresentation de projet de fin de etude
Presentation de projet de fin de etudeBelwafi Bilel
 
Internet des objets
Internet des objetsInternet des objets
Internet des objetsKarima GHALI
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques InformatiquesSylvain Maret
 
Rapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche OpérationnelleRapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche OpérationnelleCibamboSteven
 
INTRODUCTION A BPM
INTRODUCTION A BPMINTRODUCTION A BPM
INTRODUCTION A BPMSaid Sadik
 
Webinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientWebinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientBizagi
 
Certif. de compétences et norme nf x06 091 v0 ul6 s 13 octobre 2011
Certif. de compétences  et norme nf x06 091  v0 ul6 s   13 octobre 2011Certif. de compétences  et norme nf x06 091  v0 ul6 s   13 octobre 2011
Certif. de compétences et norme nf x06 091 v0 ul6 s 13 octobre 2011Romain MURRY
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 

Tendances (20)

Charte de projet
Charte de projetCharte de projet
Charte de projet
 
Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnel
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
Attaques DDoS par Bruno Tréguier
Attaques DDoS par Bruno TréguierAttaques DDoS par Bruno Tréguier
Attaques DDoS par Bruno Tréguier
 
Gestion d’un projet informatique
Gestion d’un projet informatiqueGestion d’un projet informatique
Gestion d’un projet informatique
 
Soutenance projet LABVIEW
Soutenance projet LABVIEWSoutenance projet LABVIEW
Soutenance projet LABVIEW
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
Management des coûts
Management des coûtsManagement des coûts
Management des coûts
 
Presentation de projet de fin de etude
Presentation de projet de fin de etudePresentation de projet de fin de etude
Presentation de projet de fin de etude
 
Internet des objets
Internet des objetsInternet des objets
Internet des objets
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques Informatiques
 
Rapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche OpérationnelleRapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche Opérationnelle
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
INTRODUCTION A BPM
INTRODUCTION A BPMINTRODUCTION A BPM
INTRODUCTION A BPM
 
Webinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientWebinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas client
 
Certif. de compétences et norme nf x06 091 v0 ul6 s 13 octobre 2011
Certif. de compétences  et norme nf x06 091  v0 ul6 s   13 octobre 2011Certif. de compétences  et norme nf x06 091  v0 ul6 s   13 octobre 2011
Certif. de compétences et norme nf x06 091 v0 ul6 s 13 octobre 2011
 
Pl enset-cpa
Pl enset-cpaPl enset-cpa
Pl enset-cpa
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 

Similaire à 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
 

Similaire à 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é. »

Notes de l'éditeur

  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)