Ganzzahlüberlauf

10/17/2010 02:46 chesternelly#1
also leute ich bräuchte ma hilfe
kann mir jmd helfen und erklären wie man so ein Ganzzahlüberlauf hinbekommt?
english= int overflow
weis da jms was?
wäre echt nett

mfg chesternelly
10/17/2010 10:36 Obilee#2
#moved
10/17/2010 11:22 mono0#3
hmm...ich denke man muss iwi den mechanismus austricksen, der kontrolliert, ob genug speicher reserviert is...

oder isowas halt, lern auch erst seit kurzem C++
10/17/2010 11:46 Shadow992#4
Quote:
Originally Posted by chesternelly View Post
also leute ich bräuchte ma hilfe
kann mir jmd helfen und erklären wie man so ein Ganzzahlüberlauf hinbekommt?
english= int overflow
weis da jms was?
wäre echt nett

mfg chesternelly
Ganz einfach, du addierst mehr auf die Variable drauf, als möglich ist.

Quote:
In computer programming, an integer overflow occurs when an arithmetic operation attempts to create a numeric value that is larger than can be represented within the available storage space. For instance, adding 1 to the largest value that can be represented constitutes an integer overflow. The most common result in these cases is for the least significant representable bits of the result to be stored (the result is said to wrap). On some processors like GPUs and DSPs, the result saturates; that is, once the maximum value is reached, attempts to make it larger simply return the maximum result.

Integer overflow - Wikipedia, the free encyclopedia
Sagt ja im Grunde alles.
Mich würde es nur intressieren warum genau du das machen willst, denn normalerweise versucht man das zu verhindern.
10/17/2010 11:58 rEdoX#5
Quote:
Originally Posted by Shadow992 View Post
Mich würde es nur intressieren warum genau du das machen willst, denn normalerweise versucht man das zu verhindern.
Bestes Beispiel hierfür ist ein Spiel, dass ich vor ein paar Jahren mal exploited habe. Item A kostest X Geldeinheiten, man kann Menge Y davon auf einmal kaufen. Also ist der Gesamtpreis X*Y, dieser wurde von den Entwicklern als signed integer deklariert, Preise können ja auch Negativ seinen :p. Also musste der Preis nur größe als 2^(32-1) − 1 seinen und man bekam die Items umsonst.
10/17/2010 13:15 MrSm!th#6
Jo, wie redox aber schon sagt, ist es eben eingeschränkt.
Hauptsächlich kann man sowas exploiten, wenn ein Programmierer irgendwo schlampig war und für einen Wert, der eigentlich nie negativ sein darf, trotzdem einen int genutzt hat, der negativ werden kann.

Das kann man nutzen, um das Programm crashen zu lassen oder eben bestimmte Wirkungen wie Items umsonst zu erziehlen.
10/17/2010 13:42 chesternelly#7
genau dazu soll es ja auch sein xD hab nämlich von nem perin hacker auf nem pserver von flyff erfahren dass es int overflow heist
ich hab viel gesucht nur werde net schlauer xd
aba wie kauft man denn da jez die imtes sodass sie umsonst sind oO

mfg chesternelly
ps: danke für die antworten schonma
10/17/2010 13:52 MrSm!th#8
hast du doch von redox gelesen, man sorgt dafür, dass ein wert so hoch ist, dass er negativ wird.
10/17/2010 13:57 MoepMeep#9
Quote:
Originally Posted by rEdoX View Post
Bestes Beispiel hierfür ist ein Spiel, dass ich vor ein paar Jahren mal exploited habe. Item A kostest X Geldeinheiten, man kann Menge Y davon auf einmal kaufen. Also ist der Gesamtpreis X*Y, dieser wurde von den Entwicklern als signed integer deklariert, Preise können ja auch Negativ seinen :p. Also musste der Preis nur größe als 2^(32-1) − 1 seinen und man bekam die Items umsonst.
Kalonline? :x
10/17/2010 13:59 chesternelly#10
ja aba wie soll man das anstellen?
10/17/2010 14:02 MoepMeep#11
Quote:
Originally Posted by chesternelly View Post
ja aba wie soll man das anstellen?
Mathematische Grundkenntnisse erforderlich, tut mir leid für dich :/
10/17/2010 14:03 chesternelly#12
mathematische grundkenntnisse hab ich ja xD
10/17/2010 14:35 MoepMeep#13
Quote:
Originally Posted by chesternelly View Post
mathematische grundkenntnisse hab ich ja xD
Wo liegt dann dein Problem?
10/17/2010 14:36 MrSm!th#14
ein bisschen reverse engineering und programmiererfahrung
ersteres um die schwachstelle erstmal zu finden
10/17/2010 14:37 chesternelly#15
ich weis jez nurnet genau wie ich dass da anstellen soll
man kann da maximal 21 eingeben wegn 21perin aba was soll ich da dann jez eingeben fürn int overflow?