code zum offentsichtlichen verschleiern



  • so mal was ungewöhnliches
    ich würde gerne ein char array anlegen mit buchstaben die mein satz benötigt

    und das programm soll dann aus dem array wieder einen satz bauen und ihn dann ausgeben, dabei sollte der Satz nicht so einfach zu erkennen sein auf den ersten blick, sondern man sollte es abtippen, kompilieren und ausführen müssen

    bsp.:

    #include <string>
    #include <iostream>
    
    using namespace std;
    
    int main(){
    
    string s;
    char a [] = {o,l,a,h};
    s.push_back(a[3]);
    s.push_back(a[2]);
    s.push_back(a[1]);
    s.push_back(a[1]);
    s.push_back(a[0]);
    
    cout << s;
    
    return 0;
    

    so ungefähr, wenn es geht nur um einiges komplizierter

    so und jetzt zur frage:
    1. es gibt nicht zufällig ein generator dafür - ich glaube es ja nicht
    2. schreibt mal eure ideen



  • Verschlüssel das ganze doch mit Triple-DES oder so. Mußte dann nur zur Laufzeit entschlüsseln. OK, der Schlüssel ist dann auch wieder irgendwo im Programm, aber eine Sicherheitslücke gibts immer. 😉



  • Oder schreib einen Pseudo-Zufallsgenerator, lass ihn deinen Satz durcheinander Würfeln, speicher ihn in dein Programm, und lass ihn dann mit den gleichen Pseudo-Zufallszahlen wieder zurückwürfeln...



  • nicht schön, aber funktioniert. das auskommentierte ist der code um die zahlen zu generieren.

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    
    static unsigned int sLastRandomNumber = 64;
    
    unsigned int GetRandomNumber() {
    	sLastRandomNumber = (24298 * sLastRandomNumber + 99991) % 199017;
    }
    
    int main() {
    	int i, len;
    	/*
    	const unsigned char *data = "Dies ist ein Test-Satz fuer www.c-plusplus.net\n";
    	*/ 
    	const unsigned char data[] = { 9, 201, 14, 86, 53, 2, 245, 241, 215,
    			38, 193, 217, 10, 190, 39, 181, 192, 188, 1, 218, 175, 97, 45,
    			128, 26, 114, 7, 74, 129, 142, 247, 244, 166, 68, 98, 192, 133,
    			98, 208, 105, 143, 133, 206, 180, 251, 112, 0 };
    
    	len = strlen( data );
    	for( i = 0; i < len; i++ ) {
    		/*
    		printf( "%i, ", (unsigned char)( *(data + i) + (GetRandomNumber() % 255) ) );
    		*/
    
    		printf( "%c", (unsigned char)(*( data + i) - GetRandomNumber() % 255 ) );
    	}
    
    	/*
    	printf( "0\n" );
    	*/
    	return 0;
    }
    

Anmelden zum Antworten