Hex Editor schreiben



  • Hallo ihr,

    ich wollte mal einen Hex Editor (zum betrachten eigentlich nur) schreiben!

    und wie kann ich das realisieren, dachte ja, das man zB eine .exe im binärmodus öffnen muss:

    int main(int argc, char* argv[])
    {
     ifstream in("project1.exe",ios::binary);
     char buff[25];
     if(in)
     {
      while(in.good())
      {
        in.read(buff,sizeof(buff)-1);
        cout<<buff<<endl;
      }
     } 
    in.close();
    getch();      return 0;
    }
    

    wer kann mir aber noch mehr tipps oder sowas geben, auch im allgemeinen, wie ich mit "nicht-textdateien" umgehen kann!



  • Binär- und Textmodus unterschieden sich nur dahin, wie Zeilenende-Zeichen interpretiert werden - intern sind das alles BYTE-Folgen. Wenn du zu den Zeichen die Hex-Werte anzeigen willst, mußt du sie intern umrechnen:

    char buf[25];
    cout<<hex<<setw(2)<<setfill('0');
    while(in.read(buf,sizeof(buf))
    {
      for(int i=0;i<sizeof(buf);++i)
        cout<<(int)buf[i]<<' ';
      cout<<endl;
    }
    


  • Hi!

    Statt char ein unsigned char verwenden, dann passt das.

    grüße


Anmelden zum Antworten