Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [C/C++] Criptare un file

    Ciao a tutti, mi servirebbero dei riferimenti su come criptare in C/C++ un file .zip.
    In pratica sto realizzando un gioco free e vorrei impedire che possano accedere al file data.zip dove tengo tutte le immagini e modelli 3d.
    Ho cercato sul web non ho trovato nulla di interessante a parte programmi che lo fanno separatamente, a me servirebbe una funzione da inserire nel codice del gioco.


    Grazie



  2. #2
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    ...cioè che il tuo programma contenga una funzione che le permetta di aprirlo e leggerlo correttamente ma che dall'esterno il file .zip sia inaccessibile ?

    Un paio di idee da prendere cosi... (Sempre che abbia capito le tue intenzioni)

    1. E se eviti di usare l'estensione o ne metti una falsa? Cosi se uno prova ad aprirla nn riesce perche nn sa che è un file .zip, ma tu che lo sai sai come aprirla correttamente all'interno del tuo programma (cambia l'estensione ma nn la sequenza di bit)

    2. E se alterassi la sequenza di bit del file .zip? Nel momento in cui lanci il programma una funzione la ripristina, rendendo il file .zip funzionante. Nel momento in cui chiudi il programma, giusto un attimo prima (atexit() se nn erro) lo rimodifichi cosi che il file zip risulti corrotto e quindi nn accessibile.
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  3. #3
    Essendo un file molto grande si capisce che contiene i media del gioco, quindi la prima cosa che fanno e cercare di aprirlo con winzip o winrar che effettivamente lo apre.

    Per la seconda ipotesi ci ho lavorato stamattina, ho realizzato delle funzioni in c che criptano e decriptano il file.zip. Il problema è questo ora:
    Quando si avvia il gioco questo crea un file .zip funzionante, se qualcuno però preme Ctrl Alt Canc mentre il gioco è in esecuzione e va nella cartella del gioco, lo trova e lo può copiare. Quando poi si chiude il gioco il .zip scompare ma intanto lo tiene copiato da un'altra parte.

    A questo punto mi resta solo un problema da risolvere, non si può creare una sorta di file virtuale? Caricato in memoria senza l'ausilio del supporto di massa? Tanto deve essere caricato in memoria giusto il tempo che il motore grafico carichi immagini e oggetti 3d, poi lo posso ricancellare.



  4. #4
    Potresti mettere il file zip funzionante in una cartella diversa da quella del file corrotto(magari in una cartella che viene scelta casualmente).

  5. #5
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    penso che devi gestirti tutta la cosa da te, cioè leggere il file decriptandolo e caricando in memoria le immagini e i modelli; una soluzione potrebbe essere quella di utilizzare qualche tipo di input stream che legge da uno spazio di memoria piuttosto che da un file sul disco.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  6. #6
    L'idea di Mardok è fattibile, sebbene non sicurissima.
    L'idea di anx721 sarebbe l'ideale, ci sto lavorando, ma non so se l'engine me lo permette... carica solo file non stream...

    Vi farò sapere

  7. #7
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    prova a postare sul forum di hardware upgrade; ci sono dei programmatori perofessionali che si occupano di giochi 3d sicuramente tii sapranno dire come affrontano il problema.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  8. #8
    L'idea di Mardok è fattibile, sebbene non sicurissima.
    Mi sembra inutile ricordarlo... di sicuro al 100% non c'è niente.
    Potresti disabilitrare i tasti della tastiera che non ti servono per il gioco. In modo da non far uscire dal gioco con ctrl+alt+canc, oppure con il tasto Windows, alt+tab...

  9. #9
    cripta i files dello zip (ad esempio in base 16: leggi byte per byte e lo trascrivi in base 16 (tanto per fare un esempio semplice)) poi consegna il progetto criptato. cambia anche estensione all'archivio.zip (archivio.aaa)

    in questo modo, anche se qualcuno prova a rinominare il file archivio (da .aaa a .zip) non potra lo stesso aprire le immagini)

    poi, da C, in runtime, copia l'archivio in una cartella di sistema, decodifica temporaneamente i files... li leggi e li utilizzi.

    prima di uscire dal programma elimini l'archivio temporaneo e decriptato copiato nella directory system... questa potrebbe essere una soluzione. (non so se avete notato le applicazioni office, che quando sono in esecuzione creano dei files temporanei)



    @anx721: di programmatori professionisti ce ne sono anche qua...
    ...Terrible warlords, good warlords, and an english song

  10. #10
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352

    @anx721: di programmatori professionisti ce ne sono anche qua...
    E allora?

    Non si può forse consigliare di postare anche in un altro forum?

    Fermo restando che non mi riferivo a "normali" programmatori professionisti, ma a programmatori professionisti che sviluppano giochi 3D di fama mondiale, visto anche che i consigli dati non risolvevano il problema.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.