|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : mars 2010 Messages : 28 ![]() |
Bonjour,
Avant d'expliquer le sujet de mon post il faut préciser quelque chose pour ceux qui ont la gâchette facile: C'est uniquement dans le but d'APPRENDRE, je ne veux nuire à personne. Voilà, je voudrai commencer à apprendre le Hardware Hacking: calculatrices, téléphones, consoles.... En voyant d'autres le faire pour l'Iphone ou la PS3 par exemple, je me suis demandé comment peuvent ils faire ça? En effet, je sais qu'en général cela passe par l'exploitation de failles dans les programmes qui tournent sur le matériel en question (buffer overflow ou autre). Le problème c'est que je n'arrive pas à comprendre comment cela se passe en pratique sur un matériel sur lequel on a aucun contrôle. Exemple: Je vous donne un téléphone qui a une architecture proche de celle d'un PPC, vous pouvez surfer sur internet avec, et je vous dis qu'il y a une faille BO dans la librairie de gestion des images TIFF. Vous décidez alors de créer une image pour l'exploiter, vous mettez ensuite cette image sur un site internet avant de la télécharger pour lancer votre shell. Vu de cette façon ca a l'air simple, mais pour moi ca ne l'est pas du tout, en effet pour comprendre comment marche un matériel, il me faut un débogueur, un désassembleur,.... et tout ca sur le matériel que je veux étudier. Je suis confus, je ne sais plus comment expliquer ce que je veux, mais en gros voilà: je voudrai commencer à m'amuser moi aussi comme ils le font Apprendre l'assembleur et l'architecture d'un ordi est obligatoire, pour ça il faut programmer un OS, et puis non, programmer juste un driver, et puis non, il faut programmer un OS sur une calculatrice et non pas sur ordi, et puis zut, je ne sais pas quoi faire, ah j'ai compris, il faut aller chercher sur internet comment ont fait les autres, et essayer de reproduire ça, d'accord mais pour ça, il faut apprendre l'assembleur et bien comprendre la gestion de la mémoire.... après quelques semaines, voilà maintenant je commence à gérer un peu en assembleur, quelle est l'étape suivante, un OS, un driver, attaquer directement un matériel... téléphone par exemple.... non trop dur, je débute encore... une calculatrice alors... $$$ je risque de ne pas trouver beaucoup d'informations la dessus...Ah peut être qu'il ne faut pas chercher à comprendre les matériels des autres mais en faire un moi même et le programmer, un robot par exemple mais... j'y connais rien en robots moi rggghhhh je ne sais pas. Bon il est 2h13 du matin, ça fait un mois que je tourne en rond et pas d'idées: Ah... je viens d'avoir ma meilleure idée: Aller demander sur développez.com, ils ont surement bien plus de recul que moi, et je vais sûrement trouver quelqu'un pour me montrer le chemin. Un mot sur moi: Je fais des maths et je programme en langages haut niveau (C,C++ principalement) depuis 10 ans au moins, et j'utilise Linux depuis autant de temps, cela ne veut pas dire que je suis devenu un dieu en informatique, je me suis rendu compte que même après 10 ans d'utilisation journalière de Linux, je ne sais toujours rien faire à part les trucs de base (exemple, je programme depuis le début sous emacs, et je n'avais encore jamais utilisé gdb avant cette année pour le simple fait que je débuggais sans débogueur, pour voir le contenu d'une variable... je l'affichais sur l'écran Bon vous m'avez compris j'espère, je sais que ce n'est pas très clair, mais c'est très représentatif de ce qui se passe dans mon cerveau. Merci beaucoup de m'avoir lu |
|
|
10
|
|
|
#2 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Je ne fais pas de sécurité informatique en général, mais si c'était le cas, j'irai me renseigner sur des bogues connus et rudement éprouvés, tels que l'injection SQL et le débordement de pile. Les explications sur ces bogues montrent que cela ne dépend que peu de l'architecture et sont une première étape pour comprendre comment fonctionne le "stéganocode" embarqué dans une image...
Après manipulation d'exemples de débordement de pile, ça devrait être beaucoup plus clair. |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : juin 2002 Messages : 93 ![]() |
|
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() être humain Inscription : décembre 2007 Messages : 465 ![]() |
à ton niveau, le première faille que tu peux essayer d'exploiter, c'est sous Linux.
je ne sais pas quelles failles existent sus ce système, mais il y en a, j'en suis sur, et beaucoup plus que l'on ne peut l'imaginer. |
|
|
00
|
|
|
#5 |
Inscription : août 2011 Messages : 3 ![]() |
Je suis comme toi je passe toujours d'une idée à l'autre sans jamais m'arreter je n'arrive pas à me concentrer. Comme toi j'utilise un affichage à l'écran pour debuguer he houai ca marche aussi ca me rappel que certain on inventé un stylo qui écrit dans l'espace qui a du couter très cher mais peut etre rapporter également tandis que d'autre on utiliser un crayon a papier d'où l'espression time is money. Si tu n'aime pas l'argent tu aura du temps à toi car pour gagner de l'argent il faut avoir du temps à perdre...
|
|
|
01
|
|
|
#6 | |
|
Membre actif
![]() ![]() Inscription : octobre 2005 Messages : 169 ![]() |
Citation:
En gros,ça commence mal. |
|
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() être humain Inscription : décembre 2007 Messages : 465 ![]() |
meuh non toutenasm, les policiers n'ont pas encore lu ce post.
pour ça, faudrait que notre user fasse une grosse betise sur le net, et qu'en retour, la police s'amuse à retracer toute son activité pour mieu monter un dossier pour le juge. en dehors de ça, il est autorisé de bricoler en amateur pour soi, meme dans le monde numerique. du moment que ça n'agit pas sur le monde reel, on te remarquera pas. pour ce qui est de par quoi commencer.. je dirais par là où u te sens d'attaquer. on à tous une manière differente de penser, et d'aborder un probleme. l'apprentissage est un probleme comme un autre, dont la solution depend du contexte, et le contexte, c'est l'eleve. selon les bases que tu as dejà, tu peut attaquer par le front que tu connais. en l'occurence, si tu à demarré en C, tu aurais tout à gagner à commencer par coder une petite DLL en asm, et l'importer et l'appeler depuis ton code C. puis limiter de plus en plus l'utilisation du C, jusqu'à ce qu'il n'y en ai plus. mais comme l'asm n'est pas une solution viable pour les entreprises, il te faudra par la suite appliquer tout ce que l'asm t'a appris au C. c'est à dire, commencer à utiliser les operateurs logiques, et faire des vraies maths pour optimiser ton code C. car avant de penser que l'asm est plus rapide que le C, il faut preciser sur quel point. si on prend un codeur C qui fait ça dans les regles de l'art, et un codeur asm qui fait tout sauf du bon code, le C era plus rapide. si on prend un codeur C expert, et un autre codeur ASM expert, le code sera plus performant sur ASM, mais attention aussi le nombre de lignes de code comparé au C, totu ça pour quelques microsecondes de gagné, on se tappe une semaine de plus d'ecriture de code, car evidement, ecrire de l'asm est plus long que d'ecrire du C. ce qui est à l'origine le but du C, ecrire plus vite qu'en ASM. donc, première mission, ecrire une fonction en ASM, la mettre sous forme de DLL, et l'importer dans un code C. c'est possible, meme très facile. un indice, le site de fasm propose un exemple de DLL dans la section examples. une lecture du code montre à quel point il est simple de creer une DLL. |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 215 ![]() |
Citation:
Quoiqu'un peu ardu tout de même. 1 Tu parles de PPC de Iphone etc... le gros problème avec les systèmes informatiques et tout intégrés c"est que les CPU sont différents ; tu as des Motorola,des Intel.. ceci dit l'architecture d'un Motorola est très proche d'un Intel. Le truc qui est pénible avec Intel c'est le modèle de segmentation en mode réel que je n'ai jamais pigé ![]() Les CPU Intel fonctionnent en 2 modes : protégé et réel ; en mode protégé c'est multitâche, en mode réel c'est pour l'antique MS-DOS 16 bits. Ensuite il faudra que tu comprennes le fonctionnement d'un microcontroleur,un contrôleur d'interruption... C'est pas trop compliqué ça fonctionne comme un CPU. En fait un CPU malgré les apparences le fonctionnenemt n'est pas si terrible que ça : tu as -les registres internes de mémoire, -la pile interne d'instruction, -les caches niveau 1 , 2 ( prefetch..) -l'Arithmetic Logical Unit qui effectue les opérations... -la prise pour le grille-pain 2 il faut que tu apprennes un peu aussi comment fonctionnent différents composant électroniques comme les bascules J-K, T, les multiplexeurs, les portes NAND,NOR c'est bien de connaître comment fonctionnent les circuits logiques.. 3 après pour hacker un programme il faut apprendre à le debugguer avec un désassembleur, lire les ports d'entrée/sortie ( en ASM 86 c'est avec IN et OUT)... Bref de l'amusement en perspective
__________________
Alea Jacta Est |
|
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 215 ![]() |
ainsi que les tables/équations de Karnaugh...
__________________
Alea Jacta Est |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com