Newsgroup: it.comp.lang.c
Titolo: Ottimizzazioni con dev-cpp e tecniche anti-disassemblaggio

Ciao a tutti, stavo iniziando a creare un programmino in C come 
passatempo dopo aver imparato i principali rudimenti del C in un corso 
dove non si è parlato di ottimizzazione del codice in fase di 
compilazione (non so nulla a riguardo).
Usando il dev-cpp come ambiente C, come devo settare le ottimizzazioni? 
Ho visto che stanno sotto "copiler options/settings" e sono:
-------------
Perform a number of minor optimizations Y/N
Further optimizations/Optimize Y/N
Further optimizations/Optimize more Y/N
Further optimizations/Best Optimization Y/N
-------------
Cosa mi consigliate di fare: metterle tutte su "Yes" o fare 
diversamente? Conviene attivarle solo nell'ultima compilazione quando si 
ha il codice definitivo o anche nelle versioni intermedie del programma?
Esiste poi un metodo per rendere più difficile da disassemblare 
l'eseguibile che si crea? Intendo dire: è possibile creare il file .exe 
(passando al compilatore appositi parametri o tramite l'uso di un 
qualche programma apposito) del mio programma in modo tale che sia molto 
più difficile, con le tecniche opportune, risalire al codice sorgente?
   grazie anticipatamente per le risposte, rz
-- 
                                   /TIDIRYUM - Ferrara - ITALY\
                                   \ICQ#    13901251   !!bye!!/
//°Orgoglioso fondatore di free.it.hobby.freccette-darts°\\

Per le ottimizzazioni: e' un particolare generalmente poco interessante, 
perche' quelle attivabili, _di solito_, al max ti fanno guadagnare un 
2/3 % di prestazioni. Worthless, secondo me. In ogni caso, si', 
ovviamente e' meglio attivarle solo nella 'release finale'.
Per il disasm: si', ci sono in giro dei programmi 'offuscatori' et 
similia. Cmq gia' fare reverse engineering di un programma non e' cosa 
piacevole o banale ;). Tra l'altro, attivare le ottimizzazioni puo' 
offuscare un attimino di piu' il codice. Ma perche' ti interessa?
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

 Ma perche' ti interessa?
Mattia ha fatto un punto piu' che giusto!
Cosa ti interessa? Ok, non voler distribuire il sorgente, ma non credo che
tu abbia programmato nulla che "scotta" cosi' tanto che devi proteggerne a
tutti i costi il codice ;-)
Tommy

 e' scritto tutto in C/C++ standard e basta.
E' il mio modo di dire per dire:
Tutto in C++ standard, ma usando poco le caratteristiche del C++ che non si
trovano nel C.
Putroppo ci sono varie interpretazioni di "C/C++":
Altri definiscono C/C++ come progetto che usa files in C ed altri in C++.
Altri ancora: progetto in C compilato con compilatore C++.
Altri: in uno dei due linguaggi.
Etc....
Immagino non sia molto chiaro usare C/C++.... ;-)
Tommy

 
Studio informatica all'università e penso che più cose imparo meglio 
sia. Meglio perderci un po' di tempo adesso mentre giochicchio che 
quando sarò costretto a farlo.
		ciao, rz.

 
			ciao, rz.


obfuscation di codice e dati e' un processo diverso. Il reverse 
engineering e' (per lo piu') il lavoro di comprendere/risalire al codice 
sorgente: codice, non dati - quelli sono sempre in chiaro e facili da 
capire, di solito. Comunque, mi pare strano tu ti trovi in questa 
situazione, e cmq, pensandoci bene, non c'entra con l'argomento di 
questo newsgroup ;D
