Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Zabezpieczenie programu przed edycją pliku ze stanem gry (savy)

Ostatnio zmodyfikowano 2010-07-01 13:46
Autor Wiadomość
lenrokskate
» 2010-06-29 13:11:37
dobry pomysł ison
P-18405
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2010-06-29 13:15:19
nom, chyba tak zrobie :D:D:D
A, no i oczywiście jak skończe tą "gierke" to dam Wam pograć ;)
P-18406
malan
» 2010-06-29 15:36:01
Przecież pisałem, że to ma być banalny algorytm, a Wy kombinujecie jak... ;p
C/C++
//PRZYKŁAD:
#include <cstdio>
#include <fstream>
#include <iostream>

std::string Code( std::string, bool );
void PutChar( char[], int, char );
bool WriteToFile( const char *, const std::string & );

int main( int argc, char argv[] )
{
    int a, b, c;
    std::string strA, strB, strC;
    char * result = new char[ 256 ];
    PutChar( result, 256, '\0' );
   
    a = 6666;
    b = 1250;
    c = 1;
   
    sprintf( result, "%d", a );
    strA = result;
    PutChar( result, 256, '\0' );
   
    sprintf( result, "%d", b );
    strB = result;
    PutChar( result, 256, '\0' );
   
    sprintf( result, "%d", c );
    strC = result;
   
    WriteToFile( "CośTam.txt", Code( strA, true ) );
    WriteToFile( "CośTam.txt", Code( strB, true ) );
    WriteToFile( "CośTam.txt", Code( strC, true ) );
   
    //std::cin.get(); 
    delete[] result;
    return 0;
};

std::string Code( std::string text, bool code )
{
    std::string result;
   
    if( code )
    {
        for( int i = 0; i < text.size(); i++ )
        {
            result += text[ i ] + 100;
            result += text[ i ] - 5;
            result += text[ i ] + 25;
        }
    } else
    {
        for( int i = 0; i < text.size(); i += 3 )
        {
            result += text[ i ] - 100;
        }
    }
   
    return result;
};

void PutChar( char array[], int size, char char_ )
{
    for( int i = 0; i < size; i++ ) array[ i ] = char_;
   
    return;
};

bool WriteToFile( const char * fileName, const std::string & text )
{
    std::fstream File;
    File.open( fileName, std::ios::out | std::ios::app );
    if( File.good() )
    {
        File << text << '\n';
        File.close();
        return true;
    }
    return false;
};
P-18407
jacek_k
» 2010-06-29 15:38:22
Zawsze można zapisywać w trybie binarnym (wtedy ktoś, kto otworzy plik w notatniku, zobaczy krzaczki, chyba że jest wtajemniczony i skorzysta z hex-edytora :) )
P-18408
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2010-06-29 18:43:59
@malan - to ma być banalny algorytm??? :D Ja nawet nie wiem o co w nim chodzi... :)
Tak czy inaczej, dzięki wszystkim za pomysły i propozycje, musze tylko zobaczyć, który sposób będzie najlepszy ;)
A temat to można już chyba zamknąć. Jeszcze raz wielkie dzięki
P-18410
lynx
» 2010-06-29 19:48:29
To ja może jeszcze jakieś linki dorzucę:
Implementacja Algorytmu XOR
Szyfrowanie XOR

Przeczytaj te obydwa. Algorytm jest prosty więc myślę że nie powinna Ci sprawić trudności implementacja. Powodzenia. ;)

W razie problemów otwórz sobie temat i daj znać jak to wykonałeś. :)
P-18411
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2010-07-01 12:44:27
Otworzyłem temat żeby Wam powiedzieć że nie zastosowałem tutaj żadnych algorytmów itp itd
Plik z danymi zwie sie "dane.car" - normalnie sie tego nie otworzy, chyba że będzie jakiś mądrzejszy człowiek co notatnikiem sobie otworzy:D, ale jeśli nawet to otworzy to i tak dane są zapisane w postaci binarnej (?) (dałem "ios::binary" do zapisu pliku), a jeśli to będzie "medium" i jakoś cudem otworzy ten plik w 'normalnej' postaci to będzie tam 10 różnych wartości... Mam nadzieje że jest to dobre zabezpieczenie :D A Wy co o tym sądzicie? ;)
P-18471
michalp
» 2010-07-01 12:52:23
Tak świetne. A jak ja do swojej poczty (michalpowaga13[at]gmail.com) dałem hasło:
some2ndr3_p12q2d
to może być? Chyba nikt go nie złamie? No nie?
P-18472
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona