2 fragen zu textdateinen und menüs in windows



  • 1. Frage: Ich habe ein verschlüsselungsprogramm geschrieben, welches textdateien öffnet, den inhalt per aes verschlüsselt und dann wieder abspeichert.
    Falls das hilft, hier mal mein bisherieger code:

    bool arc::File::encrypt(const char* _kszFileNameIn, const char* _kszFileNameOut, unsigned int _uiKeyLength, unsigned char* _uszKey){
    	std::ifstream ifile(_kszFileNameIn, std::ios_base::binary);
    	if(!ifile) return false;
    	std::ofstream ofile(_kszFileNameOut, std::ios_base::binary);
    
    	// get file size
    	ifile.seekg(0,std::ios_base::end);
    	long size,fsize = (long)ifile.tellg();
    	ifile.seekg(0,std::ios_base::beg);
    
    	// round up (ignore pad for here)
    	size = (fsize+15)&(~15);
    
    	char* ibuffer = new char[size];
    	char* obuffer = new char[size];
    	ifile.read(ibuffer,fsize);
    
    	arc::Crypt::CAes aes;
    	aes.setParameters(_uiKeyLength);
    
    	if(!_uszKey){
    			 if(_uiKeyLength == 192) aes.startEncryption(arc::Crypt::stdKey_192);
    		else if(_uiKeyLength == 128) aes.startEncryption(arc::Crypt::stdKey_128);
    		else						 aes.startEncryption(arc::Crypt::stdKey_256);
    	}else aes.startEncryption(_uszKey);
    	aes.encrypt(reinterpret_cast<const unsigned char*>(ibuffer),reinterpret_cast<unsigned char*>(obuffer),size/16);
    
    	ofile.write(obuffer,size);
    
    	delete [] ibuffer;
    	delete [] obuffer;
    
    	ofile.close();
    	ifile.close();
    
    	return true;
    }
    

    jetzt frage ich mich, welche dateiformate eigentlich alles auf textdateien aufbauen (bzw. welche ich mit meinem programm verschlüsseln kann) und wie das mit anderen dateiformaten wie .exe funktioniert

    2. Frage:
    Ich möchte mein Verschlüsselungsprogramm in die Menüs von Windows einbauen (also die Menüs wenn man Rechtsklick auf eine datei geht) und dort dann funktionen zum ver- und entschlüsseln einbauen (so wie "entpacken" und so bei winrar oder ähnlichen programmen. (hoffe das war verständlich, ich weiß nicht wie man das erklären soll)



  • Zu 1.: Ich koennte dir jetz ne unglaublich lange Liste vorsetzen, welche Dateiformate auf Text aufsetzen. Sagen wir einfach viele. Das ist aber bei dir wahrscheinlich gar nicht relevant, denn "Text-Dateien" sind letzendlich auch nur ne Byte-Folge - genau wie Exe-Dateien, Video-Dateien, Bild-Dateien... Prinzipiell solltest du mit deinem Algorithmus, sofern er sich an Byte-Werten < 32 (also Steuerzeichen und das Null-Zeiechen, welche, mit Ausnahme von CR und LF nicht in Textdateien vorkommen sollten) nicht stoert, wovon ich mal ausgehe, auch sowas verschluesseln koennen.

    Zu 2.: Wo haengts denn? Bzw. zeig was du bisher gemacht hast und wo du nicht weiterkommst.



  • 1. achso, also eigentlich solange mein algo alle zeichen unterstützt geht alles? um so besser ^^ mein algo unterstützt alle 255 bytewerte 😉

    2. ich hab noch garnichts, ich brauche einfach ein paar informationen, ich wusste auch nicht wonach ich googlen sollte und dann dachte ich ich pack das einfach auch noch einmal in diesen thread.



  • gamer8o4 schrieb:

    1. achso, also eigentlich solange mein algo alle zeichen unterstützt geht alles? um so besser ^^ mein algo unterstützt alle 255 bytewerte 😉

    Ja, sollte funktionieren. Aber wenn dein Computer wirklich nur 255 Byte-Werte hat, ist er wohl kaputt :p

    Zum 2.: 4. Ergebnis fuer 'winapi menu tutorial': http://www.zetcode.com/gui/winapi/menus/
    Habs jetz nur mal ueberflogen, sollte aber brauchbar sein, um die Thematik zu verstehen. Im Zweifelsfall mal die MSDN fuer CreateMenu und AppendMenu bemuehen.

    EDIT: Danke @Swordfish, ich war bei normalen Menues. Asche auf mein Haupt.



  • ja, der link sieht gut aus 😉

    ps:
    ok, 256 😉 weil ein byte 8 bit sind und 2 hoch 8 halt 256 ja, klar 😃



  • Jonas OSDever schrieb:

    Zum 2.: 4. Ergebnis fuer 'winapi menu tutorial': http://www.zetcode.com/gui/winapi/menus/
    Habs jetz nur mal ueberflogen, sollte aber brauchbar sein, um die Thematik zu verstehen. Im Zweifelsfall mal die MSDN fuer CreateMenu und AppendMenu bemuehen.

    njet. Er meint das Contextmenue im Explorer -> Registry Entries + COM Dll. Kram dann Links heraus wenn ich zuhause bin...



  • njet. Er meint das Contextmenue im Explorer -> Registry Entries + COM Dll. Kram dann Links heraus wenn ich zuhause bin...

    ja, genau das meine ich 👍 links wären gut 😉




Log in to reply