Théorie:petit overflow sur les jeux incrémentaux

Mais oui, il n'y a pas que Nintendo qui fait des bug dans leurs jeux, alors si un jour vous trouvez un bug dans un de vos jeux, postez-le ici pour bien se marrer et en discuter :)
Répondre
DuDono
Glitchologue connaisseur
Messages : 54
Enregistré le : ven. 22 mars 2019 21:45

Théorie:petit overflow sur les jeux incrémentaux

Message par DuDono » sam. 23 mars 2019 22:44

Si vous ne le saviez pas, dans la plupart des pc et gsm actuels, les nombres sont codés sur 1024 bits,donc leur valeur max est 2^1024-1.Que se passerait-il si un nombre dépassait cette valeur

Avatar du membre
thelinekioubeur
Glitchologue confirmé
Messages : 108
Enregistré le : mar. 3 juin 2014 10:02

Re: Théorie:petit overflow sur les jeux incrémentaux

Message par thelinekioubeur » jeu. 25 avr. 2019 14:35

Il reviendrait à 0 ? Mais as tu un cas d'exploit concret ?

Ceci dit ça me semble incorrect, la valeur max d'un entier peu dépendre notamment selon le langage du code source. Et puis 2^1024-1 c'est déjà très grand.
Perso je code principalement en python, et le type entier n'a pas de valeur max, sur mon pc ça commence à ramer à partir de 2^1000000000

Avatar du membre
Buglitch
Webmaster
Messages : 469
Enregistré le : sam. 22 sept. 2012 21:38
Localisation : La ville de Perma en Italie
Contact :

Re: Théorie:petit overflow sur les jeux incrémentaux

Message par Buglitch » sam. 24 août 2019 17:30

DuDono a écrit : sam. 23 mars 2019 22:44 Si vous ne le saviez pas, dans la plupart des pc et gsm actuels, les nombres sont codés sur 1024 bits
Je sais pas d'où tu sors cette info mais non, aujourd'hui sur la plupart des langages compilés on est plutôt sur 32 bits pour des entiers de base, mais si le développeur a besoin de plus il utilisera un type adapté (il peut même en soit utiliser plusieurs entiers et ne pas avoir de limite autre que la taille de la mémoire).

Sinon d'un point de vue hardware il ne se passera rien, le processeur gère très bien ça, sur la plupart des architectures la valeur retournera à 0 et le flag "overflow" sera activé pour que le programme puisse savoir que c'est arrivé.

Mais oui d'un point de vue software, si le programme est mal foutu et ne pense pas à gérer ce cas (ce qui arrive souvent) alors ça peut potentiellement être exploité.

Comme par exemple à chaque fois qu'on parle d'overflow d'entier sur les pages du site, la console n'a aucun problème et fait simplement ce qu'on lui demande, mais si le jeu est assez con pour faire 255 + 1 sur 8 bit et s'attendre à autre chose que 0 avec un overflow alors ça peut mal se passer.
(Après sur le site on parle souvent d'overflow en parlant d'accès mémoire donc c'est différent, genre avoir 6 Pokémon dans ton équipe et accéder au 7e.)
thelinekioubeur a écrit : jeu. 25 avr. 2019 14:35 Perso je code principalement en python, et le type entier n'a pas de valeur max, sur mon pc ça commence à ramer à partir de 2^1000000000
Python est un interpréteur donc coté hardware les entiers sont codés sur plusieurs entiers qui eux ont bien une limite, en soit on est sur un autre problème, mais on peux toujours avoir un overflow si on a une faille dans python (qui lui n'utilise que des entiers limités).
XeR a écrit :Buglitch, un homme, un humour, une légende.

Code : Tout sélectionner

+---------+---------+---------+---------+
|         | Normal  | Glitch  |   A.R   |
+---------+---------+---------+---------+
| Legit   |   Oui   |   Non   |   Non   |
+---------+---------+---------+---------+
| Triche  |   Non   |   Non   |   Oui   |
+---------+---------+---------+---------+
:dvo:

Répondre