Seite 1 von 2
Zufallszahl
Verfasst: 26.07.2007 19:45
von pede
Wie erzeugt der Computer eig. Zufallszahlen?
hat er dafür ne gewisse Formel oder so?
Verfasst: 26.07.2007 19:48
von RSBasic
Verfasst: 26.07.2007 19:49
von pede
ich mein wie der Computer das macht...
der Befehl ist mir ja klar, aber irgendwas muss der Pc ja auch tun damit er die Zahl bekommt...
Verfasst: 26.07.2007 19:51
von Andreas_S
Verfasst: 26.07.2007 21:03
von Kaeru Gaman
yo es gibt verschiedene methoden.
eine findest du in dem verlinkten thread, andere gibts auf wiki...
wie genau die interne berechnung bei PB aussieht, weiß ich nicht,
aber sie ist eigentlich recht gut, ziemlich linear verteilt.
Verfasst: 26.07.2007 21:07
von ZeHa
Hab's grad mal disassembliert, und irgendwie springt der einfach zu irgend'ner Adresse, die es nicht gibt
Das ist
wahrer Zufall

Verfasst: 26.07.2007 21:52
von MVXA
> springt der einfach zu irgend'ner Adresse, die es nicht gibt
Und welche soll das sein?
Verfasst: 26.07.2007 21:55
von Kaeru Gaman
der springt doch wahrscheinlich zu der adresse der verlinkten funktion.
...vorher müßte er allerdings theoretisch noch den übergabewert pushen...
Verfasst: 26.07.2007 22:14
von ZeHa
Jepp, den Wert pusht er, und dann springt er halt zu 'ner Adresse, die im Code gar nicht mehr vorhanden ist (und er listet auch keine passende WinAPI-Funktion oder sowas auf).
Das ist mein Code (Hallo und Ciao nur zwecks schnellerer Auffindung):
und das kommt dabei raus (Auszug):
Code: Alles auswählen
; das ist das Hallo
push 0040300C
call dword ptr [00403050]
; das ist die Random-Funktion
mov eax, 0000000A
call 00404059
; das ist das Ciao
push 00403012
call dword ptr [00403050]
Und die Adresse 00404059 finde ich im Code nicht. Kann sie auch nicht "anjumpen" (unter W32Dasm). Importierte Funktionen werden aber eigentlich angezeigt, und da ist nix dabei, was nach Random klingt. Bin auch nicht der absolute Disassemblier-Freak, aber sowas hatte ich bisher noch nie...
Verfasst: 26.07.2007 23:01
von edel
Die Adresse gibt es aber 100%, benutze OllyDbg, setze
einen BP auf den Call und mit "step into" hineinspringen.