[ASM] Un jeu de la vie dans le MBR
|
21-12-2013, 02h11
(Modification du message : 25-02-2015, 17h52 par Junky.)
Message : #1
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
[ASM] Un jeu de la vie dans le MBR
comme son nom l'indique, c'est un jeu de la vie qui tient en moins de 446 octets dans le MBR, de l'assembleur 16bits en mode réel donc, pour les geeks curieux
prérequis pour faire tourner : nasm & qemu le code en pièce jointe contient + de commentaires les critiques/suggestions/patch/codes rivaux sont évidement les bien venus Code ASM :
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
21-12-2013, 14h23
(Modification du message : 21-12-2013, 14h24 par Kiwazaru.)
Message : #2
|
|
Kiwazaru
Padawan d'un super escargot Messages : 284 Sujets : 26 Points: 139 Inscription : Mar 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
HaHa ! Nice ça, mais ça veut dire qu'on peut mettre n'importe quoi dans la routine et la signature facultative sans que ça crée de problème au boot?
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
|
|
21-12-2013, 15h00
Message : #3
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
(21-12-2013, 14h23)Kiwazaru a écrit : ça veut dire qu'on peut mettre n'importe quoi dans la routine et la signature facultative sans que ça crée de problème au boot? ben là ici le """bootloader""" chargera pas de kernel ou quoi, il tourne en boucle sur un jeu de la vie à la place, mais dans l'absolu ça doit être envisageable de lui faire booter quelque chose de manière simplifiée (sans trop de checks en tous genres), sur une disquette par exemple...
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
22-12-2013, 22h35
Message : #4
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
Une Question que je me pose souvent sur ce genre de programme ring0 , comment tu fais pour tester ton code ? debug ? etc ??
Par exemple dans la création d'un bootloader , tu utilises une VM ? Si non , je n'y comprend pas grand chose en lisant en quelque secondes :p |
|
22-12-2013, 22h50
(Modification du message : 22-12-2013, 22h51 par Kiwazaru.)
Message : #5
|
|
Kiwazaru
Padawan d'un super escargot Messages : 284 Sujets : 26 Points: 139 Inscription : Mar 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
gruik a écrit :prérequis pour faire tourner : nasm & qemu Btw je ne pense pas qu'on puisse parler de "ring0" sachant que le noyau n'est pas encore chargé lors de l’exécution du programme.
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
|
|
23-12-2013, 03h03
Message : #6
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
(22-12-2013, 22h35)sakiir a écrit : Une Question que je me pose souvent sur ce genre de programme ring0 , comment tu fais pour tester ton code ? debug ? etc ?? comme dit Kiwa c'est marqué dessus, ca tourne dans du qemu, et pour debugger j'ai fait un post il y a pas longtemps dans la section N-PN OS qui explique comment faire du remote debugging entre qemu et gdb (22-12-2013, 22h50)Kiwazaru a écrit : je ne pense pas qu'on puisse parler de "ring0" sachant que le noyau n'est pas encore chargé yep y'a de ça, la notion de "ring" n'apparait qu'avec le passage en mode protégé (ou en long mode pour du 64bits) qui permet l'accès au flag IOPL, sachant que l'appellation "ring 0" pour désigner l'espace noyau c'est plus windozeux qu'autre chose, sous linux on différenciera simplement kernelland et userland
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
23-12-2013, 11h20
Message : #7
|
|
thxer
:(){ :|:& };: Messages : 382 Sujets : 60 Points: 162 Inscription : Feb 2013 |
RE: [ASM] Un jeu de la vie dans le MBR
Très instructif Merci.
|
|
23-12-2013, 11h57
Message : #8
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
Oui en effet je me corrige , il ne peut pas s'agir de "ring" dans le "boot"
merci pour vos réponses |
|
23-12-2013, 12h02
(Modification du message : 23-12-2013, 12h03 par EpicOut.)
Message : #9
|
|
Banni Messages : 121 Sujets : 10 Points: 22 Inscription : Feb 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
il fait du ring -1 si tu préfères sakiir, en tout cas tu as du avoir de la patience gruik, j'admire.
|
|
23-12-2013, 19h25
(Modification du message : 23-12-2013, 19h34 par Junky.)
Message : #10
|
|
Junky
Snorky Master Messages : 228 Sujets : 35 Points: 203 Inscription : Mar 2013 |
RE: [ASM] Un jeu de la vie dans le MBR
Bonjour,
(23-12-2013, 12h02)EpicOut a écrit : il fait du ring -1 si tu préfères sakiir, en tout cas tu as du avoir de la patience gruik, j'admire. Je vais peu être m'écarter du sujet (désolé gruik) mais cette notion de ring -1 ne me plaît pas tout a fait. "Le ring -1 n'est utilisé qu'en virtualisation." Concrètement il n'existe pas. La virtualisation est un monde bien a lui ou il faut comprendre certaines choses. Ton système fonctionne "via" différent ring. le 0, 1, 2, 3. Le 0 est le kernel comme le dit plus haut gruik. Les 1 et 2 sont pour les devices drivers, et le 3 pour les applications. Lors de l'éxécution d'un programme, les instructions descendent de ring en ring (selon leurs besoins) puis éxécutés. Le ring 0 étnt le kernelland, il détient le plus de privilèges. Lorsque tu virtualises un système, il exige les mêmes règles (normal). Sauf que a ce moment la plusieurs problématiques se posent: - Lorsque tu va créer ton programme (Virtualbox, vmware...) qui va lancer ton OS (virtuel) son kernel va être éxécuter dans le ring 3 et non le 0 comme il a été conçu, ce qui engendrera des plantages lors de l'exution de code necessitant le ring0. - Mais aussi si l'OS est directement lancer dans le ring 0, il aura AUTANT de droit que le système hote. Donc pas bien non plus. Plusieurs solutions existent déjà La solution vmware, est "d'intercepter" le flut de donnés destinés aux ring0 et de les traduire a la volé. Ce qui peu entrainer des pertes de performances. La solution xen quand a elle est de la "paravirtualisation". Elle modifie le systeme a virtualiser, afin de lui permettre de fonctionner sans l'execution de code en ring0. Il y a moins de perte de performance, mais le souci majeur, est qu'il faut modifier le système d'exploitation Donc finalement le -1 est le 0, et le 0 sont les bidouilles que font les hyperviseurs. Il n'est pas "réel". Mais il faut bien savoir une chose, il n'existe que 4 NIVEAUX DE RING, pas plus pas moins... Je ne rentre pas dans les détails puisque ce n'est pas le sujet, mais comme vous parliez de ring j'ai pensé qu'un petit rappel ne fait pas de mal. Surtout pour ceux qui ne savent pas comment un système se comporte. Junky Pour la sécurité, sous linux, le principal soucis est l'interface chaise/clavier
|
|
23-12-2013, 21h28
Message : #11
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
AhAh junky , je crois que Epic0ut faisais une petite Van si j'ai bien compris pck je n'ai jamais entendu parlé de "ring -1" mais ouai c'est une belle image le "ring -1" c'est ce qu'on pourrais trouver avant le chargement de l'OS quoi :
|
|
23-12-2013, 21h34
Message : #12
|
|
Banni Messages : 121 Sujets : 10 Points: 22 Inscription : Feb 2012 |
RE: [ASM] Un jeu de la vie dans le MBR
euh ouais c'était une vanne le ring -1 n'existe pas.
|
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
[C] [Win32] Injection de DLL dans un process avant son initialisation | supersnail | 4 | 395 |
26-03-2013, 23h27 Dernier message: fr0g |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)