Hey!
Ich habe ein Skript, welches eine Serverliste von GameSpy abfragt. Leider funktioniert dieses Skript anscheinend nur auf 32bit Systemen (zB. bei mir lokal auf XAMPP), auf 64bit macht es aber Probleme (zB. bei meinem Webhoster) d.h. es werden total falsche IP's und Ports angezeigt.
An den PHP Einstellungen liegt es wohl nicht, da ich diese lokal identisch mit denen meines Webhosters eingestellt habe.
Falsche Ergebnisse siehe hier:
http://rhonkar.kilu.de/test/index2.php
Die Ports müssten alle 15425 sein, manche 15426 und 15427.. aber nicht solch ein Wirrwarr. Die IP's stimmen auch alle nicht.
Ich bin mir ziemlich sicher, dass es daran liegt dass das Skript eigene Bitoperations- Funktion verwendet, welche nur für 32bit ausgelegt sind.
Frage:
Könnte man solche Funktionen ohne großen Aufwand so umschreiben, dass sie unter 32- UND/oder 64bit laufen (UND wäre mir lieber)?
Die meiner Vermutung nach betroffenen Funktionen:
function lshiftright($var, $amt)
function _BF_SHR32($x, $bits)
function _BF_SHL32($x, $bits)
function _BF_OR32($x, $y)
function _BF_ADD32($x, $y)
function _BF_GETBYTE($x, $y)
(In SharedDecode.php)
Ich denke, mehr ist es nicht. Aber so genau weiß ich es leider nicht.
Zu finden ist das Skript hier:
http://rhonkar.kilu.de/gsquery.rar
(Größtenteils nur Decodierung und Generierung eines Validationsschlüssels)
Ich wäre sehr dankbar, wenn man mir weiterhelfen könnte. Leider habe ich mit Bitoperationen nix am Hut.
Zusatzinformation:
Vielen Dank!
MfG,
Atako
Ich habe ein Skript, welches eine Serverliste von GameSpy abfragt. Leider funktioniert dieses Skript anscheinend nur auf 32bit Systemen (zB. bei mir lokal auf XAMPP), auf 64bit macht es aber Probleme (zB. bei meinem Webhoster) d.h. es werden total falsche IP's und Ports angezeigt.
An den PHP Einstellungen liegt es wohl nicht, da ich diese lokal identisch mit denen meines Webhosters eingestellt habe.
Falsche Ergebnisse siehe hier:
http://rhonkar.kilu.de/test/index2.php
Die Ports müssten alle 15425 sein, manche 15426 und 15427.. aber nicht solch ein Wirrwarr. Die IP's stimmen auch alle nicht.
Ich bin mir ziemlich sicher, dass es daran liegt dass das Skript eigene Bitoperations- Funktion verwendet, welche nur für 32bit ausgelegt sind.
Frage:
Könnte man solche Funktionen ohne großen Aufwand so umschreiben, dass sie unter 32- UND/oder 64bit laufen (UND wäre mir lieber)?
Die meiner Vermutung nach betroffenen Funktionen:
function lshiftright($var, $amt)
function _BF_SHR32($x, $bits)
function _BF_SHL32($x, $bits)
function _BF_OR32($x, $y)
function _BF_ADD32($x, $y)
function _BF_GETBYTE($x, $y)
(In SharedDecode.php)
Ich denke, mehr ist es nicht. Aber so genau weiß ich es leider nicht.
Zu finden ist das Skript hier:
http://rhonkar.kilu.de/gsquery.rar
(Größtenteils nur Decodierung und Generierung eines Validationsschlüssels)
Ich wäre sehr dankbar, wenn man mir weiterhelfen könnte. Leider habe ich mit Bitoperationen nix am Hut.
Zusatzinformation:
Code:
Webhoster: PHP_VERSION=5.1.6 PHP_OS=Linux PHP_INT_MAX=9223372036854775807 PHP_INT_SIZE=8 +1 -> -9223372036854775808 - -> -9223372036854775807 -1 -> -9223372036854775808 L -> dcba N -> abcd V -> dcba Lokal: PHP_VERSION=5.2.5 PHP_OS=WINNT PHP_INT_MAX=2147483647 PHP_INT_SIZE=4 +1 -> -2147483648 - -> -2147483647 -1 -> -2147483648 L -> dcba N -> abcd V -> dcba
MfG,
Atako
Kommentar