Bitoperations- Funktionen für 64bit kompatibel machen...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bitoperations- Funktionen für 64bit kompatibel machen...

    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:
    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
    Vielen Dank!
    MfG,
    Atako
    Zuletzt geändert von Atako; 01.05.2008, 21:46.

  • #2
    erwartest jetzt hoffentlich nicht, dass das jemand für dich übernimmt.

    Aber ich kann dir Hoffnung machen. Ähnliche Probleme gab es damals mit der sog. "google_magic". Dabei geht es um Die Pagerank-Abfrage bei Google. Ist aber nicht so wichtig, aber die haben die Sache mit den 64bit Systemen auch hinbekommen, in der Richtung könntest du also weiter kommen.

    Kommentar


    • #3
      Das Problem ist, dass ich keinerlei Ahnung von Bitoperationen habe, und schon garnicht was diese Funktionen machen.

      Aber ich könnte mir vorstellen, dass man nur ein paar Zahlen ändern muss und das ganze läuft wieder.

      Von da her hoffe ich einfach mal auf jemanden, der sich auskennt und für den das ein Klacks ist.

      Danke!
      MfG

      Kommentar

      Lädt...
      X