Raik: Rechnen mit Bytes - LittleEndian

Hallo!

Ich bitte um Auffrischung meiner verschütteten Schulkenntnisse.
wie ist die Darstellung eines Offsets in LittleEndian?

00172403 mutiert ja z.b. zu 0324F7FF

ok, die bytes werden "rückwärts" geschrieben, aber wo ist die 1 hin? warum heisst es nicht 032417FF ?
ich meine, mich ganz schwach erinnern zu können, dass das mit der rechenweise im speicher zusammenhängt, aber ich kriegs nicht mehr zusammen und hab auch keine für mich verständliche erklärung im netz gefunden unter "endianess".

freundl. Grüsse aus Berlin, Raik

  1. Hi,

    Ich bitte um Auffrischung meiner verschütteten Schulkenntnisse.
    wie ist die Darstellung eines Offsets in LittleEndian?
    00172403 mutiert ja z.b. zu 0324F7FF

    wie kommst du darauf? Nein, 00172403 ist dann einfach 03, 24, 17, 00.

    ok, die bytes werden "rückwärts" geschrieben, aber wo ist die 1 hin?

    Das frage ich mich bei deinem Beispiel auch. Warum ist die 0172 bei dir zu FFF7 mutiert?

    ich meine, mich ganz schwach erinnern zu können, dass das mit der rechenweise im speicher zusammenhängt, aber ich kriegs nicht mehr zusammen und hab auch keine für mich verständliche erklärung im netz gefunden unter "endianess".

    Bringst du da vielleicht noch teilweise die Zweierkomplement-Schreibweise für negative Zahlen ins Spiel? Also dass +1000 zwar hex 2710 ist, -1000 aber D8F0? Das hat jedenfalls nichts miteinander zu tun. Hier geht es ausschließlich um die Byte-Reihenfolge im Speicher bzw. in der Datei.

    Ciao,
     Martin

    --
    Die Zeit, die man zur Fertigstellung eines Projekts wirklich braucht, ist immer mindestens doppelt so lang wie geplant.
    Wurde dieser Umstand bei der Planung bereits berücksichtigt, gilt das Prinzip der Rekursion.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo Martin!

      wie kommst du darauf? Nein, 00172403 ist dann einfach 03, 24, 17, 00.

      ich hab hier ne bios-datei, in der die einzelnen module wie an einer kette aneinandergehängt sind, und über jedem modul steht die sprungadresse zum nächsten, wohin nach abarbeitung des moduls gesprungen wird.
      und diese adressen haben eben diese schreibweise..

      freundl. Grüsse aus Berlin, Raik

      1. Hallo Raik,

        wie kommst du darauf? Nein, 00172403 ist dann einfach 03, 24, 17, 00.
        ich hab hier ne bios-datei, ...

        hmm, dann kann ich auch nur mutmaßen, was das heißen soll. Aber da könnte die Geschichte noch komplizierter sein, denn große Teile des BIOS werden ja nach dem Booten noch im Real-Mode ausgeführt, in dem das Adressierungsschema der alten 8086-CPUs mit 20bit Adressbreite nachgebildet wird. Dann wird 00172403 eigentlich als 0017:2403 geschrieben und bedeutet 00170 als Segment-Basisadresse plus 2403 als Offset, zusammen also 02573.

        Ich kann mir aber auf diese Angaben im Moment auch keinen Reim machen. Kannst du das näher erläutern?

        Ciao,
         Martin

        --
        Hannes würfelt abends immer, ob er den Abend mit seiner Frau zuhause verbringt oder in die Kneipe geht. Wenn er eine 6 würfelt, geht er in die Kneipe.
        Gestern musste er 37mal würfeln.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo Martin!

          Ich kann mir aber auf diese Angaben im Moment auch keinen Reim machen. Kannst du das näher erläutern?

          http://corelabs.coresecurity.com/index.php?module=Wiki&action=view&type=publication&name=Deactivate_the_Rootkit

          da gibts die infos, worum es mir geht.
          computrace ist eine fehlerhaft programmierte bios-backdoor und ich akzeptiere keinen (auch noch ungefragten) remotezugriff von irgendwem, schon garnicht einer firma unter amerikanischen rechtssystem mit den damit verbundenen vorstellungen von selbstbestimmung, privatsphäre, und datenschutz, auf meinem rechner.
          ich weis, wie ich das computrace-bios-modul stillegen kann, aber ich will verstehen, warum sich diese schreibweise so unterscheidet.

          http://forums.mydigitallife.info/threads/5866-LENOVO-(IBM)-Bioses-especially-Thinkpad.

          da kann man sich z.b. das bios vom x60 runterladen, an dem hab ich es mir angesehen.
          wenn man den ascii-string "CompuTrace" sucht, kommt man zum modul-anfang (55 AA) und kann darüber im header als erstes nach dem FF-block die sprungadresse zum nächsten modul sehen (in der beschriebenen darstellung).

          freundl. Grüsse aus Berlin, Raik

          1. Hallo,

            Ich kann mir aber auf diese Angaben im Moment auch keinen Reim machen. Kannst du das näher erläutern?
            http://corelabs.coresecurity.com/index.php?module=Wiki&action=view&type=publication&name=Deactivate_the_Rootkit

            da finde ich leider keine konkrete Information, nur ein paar allgemeine, oberflächliche Hinweise.

            http://forums.mydigitallife.info/threads/5866-LENOVO-(IBM)-Bioses-especially-Thinkpad.

            Das ist ein Foren-Thread mit Dutzenden von Links - erwartest du, dass ich mir jeden davon ansehe, und mir überlege, ob es wohl das ist, was du meinst?

            Sorry, aber wenn du schon auf Online-Ressourcen verweist, dann bitte gezielt.

            So long,
             Martin

            --
            Programmierer (m), seltener auch P~in (w):
            Irdische, i.a. humanoide Lebensform, die in einem komplizierten biochemischen Prozess Kaffee, Cola und Pizza in maschinenlesbaren Programmcode umwandelt.
            P~ bilden gelegentlich mit ihresgleichen kleine Gruppen, sogenannte Communities, sind aber ansonsten meist scheue Einzelgänger.
            P~ sind vorwiegend nachtaktiv und ohne technische Hilfsmittel nur eingeschränkt lebensfähig.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. Hallo Martin!

              da finde ich leider keine konkrete Information, nur ein paar allgemeine, oberflächliche Hinweise.

              corelabs hat diesen trojaner untersucht und festgestellt, dass die kommunikation mit den servern zwar irgendwann verschlüsselt wird, aber der schlüssel wird im klartext über http übertragen.
              war auch mehr zur info gedacht, falls sich jemand näher dafür interessiert.

              Das ist ein Foren-Thread mit Dutzenden von Links - erwartest du, dass ich mir jeden davon ansehe, und mir überlege, ob es wohl das ist, was du meinst?

              die adressen stehen alle gleich im zweiten posting, hier der link zu einem bios für den ibm x60:
              http://rapidshare.com/files/261549180/7nuj20us_TC-5M_SLIC21.zip

              freundl. Grüsse aus Berlin, Raik

  2. hi,

    00172403 mutiert ja z.b. zu 0324F7FF

    Mit Perl getestet:

      
    printf "%x", unpack "N", pack "V", 0x172403;  
    # Ergebnis: 3241700  
    
    

    Also ich kriege da ein anderes Ergebnis als Du und die 1 ist auch da.

    Hotti

    1. Hallo Rolf!

      Also ich kriege da ein anderes Ergebnis als Du und die 1 ist auch da.

      ich kann mir da auch keinen reim drauf machen, zumal ich mich damit nicht wirklich auskenne. hab meine erkenntnisse jetzt nur einer intensiven suche und vergleichen zu verdanken.

      freundl. Grüsse aus Berlin, Raik