Newsgroup: it.comp.lang.visual-basic
Titolo: Programma di prova

Oggi mi hanno segnalato che un mio programma in versione prova, invece di fermarsi dopo x giorni
in realtà funziona per sempre con l'aiuto di un programmino che bypassa il limite temporale.
Non ho ancora provato questo programmino, ma vi risulta come vera questa cosa? E come
funzionerebbe?
 
-- 
Greg


Time Stopper si chiama il malevolo, e ci sono pure delle guide su yutube.
Ma come funziona?
Come fa a conoscere l'algorimto intenno del mio exe?
Forse si interpone tra il programma e il SO e ogni volta che c'è una chiamata a funzione Time o
Date restituisce un valore fasullo?
 
-- 
Greg


 
E' molto probabile che faccia così
Da quello che vedo non altera l'eseguibile ma crea invece uno shortcut apposta (che suppongo esegua una sorta di wrapper) da utilizzare al posto di quello originario.
 
Immagino che se il software è già scaduto, posto che sia scritto con un algoritmo un minimo furbo, non possa "riesumarlo", ma se è ancora in fase trial e vengono effettivamente intercettate tutte le chiamate alle funzioni di sistema per la data, possa mantenerlo attivo a tempo indeterminato.

Per curiosità l'ho provato, e in effetti sembra proprio faccia un wrap delle funzioni di sistema su data e ora.
 
In compenso è scritto proprio terra-terra, e puoi fregarlo tranquillamente usando le funzioni che restituiscono informazioni sui file... questo semplice codice (è in 
VB.NET
, ma direi che si spiega da solo) torna la data corretta anche queando Time Stopper è attivo.
 
My.Computer.FileSystem.WriteAllText("anti-cheat.txt", "xxx", False)
Dim fi As New IO.FileInfo("anti-cheat.txt")
MessageBox.Show(fi.LastWriteTime.ToShortDateString)

 MessageBox.Show(fi.LastWriteTime.ToShortDateString)
 
Non conosco il vbnet, ma il confronto di date come avviene?
 
-- 
Greg

 Non conosco il vbnet, ma il confronto di date come avviene?
 
Alla fine della faccenda, il framework va sempre a chiamare le funzioni native sottostanti del sistema operativo, così come fa il runtime di VB6

 che a quanto pare non vengono "intercettate" da Time Stopper
 
Chiarissimo, grazie :)
 
-- 
Greg

 No, non devi usarla per forza, quello è il punto... il mio esempio recupera la data odierna semplicemente scrivendo qualche carattere in un file a scelta e poi chiedendo indietro la data di ultima modifica; ottieni esattamente la stessa data, ma invece che le normali funzioni relative all'orario di sistema, stai quelle dedicate al file system, che a quanto pare non vengono "intercettate" da Time Stopper
 
 
Questo tuo metodo però può essere aggirato cambiando *anche* la data del 
sistema.
Occorre intervenire su più fronti, ad esempio individuare cambi di orari 
strani...
ad esempio se ho una esecuzione del programma alle 17.15 del 20 febbraio 
e una successiva alle 12.23 sempre del 20 febbraio.
 
 
Come pure cercare la data di ultimo aggiornamento di alcuni file di 
sistema... oppure ancora (non so se è possibile) le date nel registro 
eventi, cercando quella più recente.
Se uno usa il PC normalmente e porta indietro la data solo per usare 
quell'applicazione si sgama facilmente.
 
Ovviamente c'è la possibilità di sincronizzare con un orologio internet 
tramite 
pool.ntp.org
 (non so quanto sia complesso)
 
 
 
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 
Blog - Storie di un Laboratorio di Informatica: 
http://storielaboratorioinformatica.wordpress.com
 
-----
*** Powered by Linux KUbuntu 14.04 LTS "Trusty Tahr" ***

 strani...
 
Si, beh, quello davo per scontato lo facesse già, altrimenti non avrebbero nemmeno avuto bisogno di usare Time Stopper per fregare il suo programma... 
Per esempio quando dice che "sotraggo la data di creazione di un certi file", suppongo faccia riferimento a un accorgimento del genere.

 Questo tuo metodo però può essere aggirato cambiando *anche* la data del  > sistema.
 
In questo caso no perchè il cuore del programma è sostanzialmente un'agenda. Se si cambia la data
è palese che il programma è inservibile anche se funziona ancora.
 
Ho tanti controlli di protezione, quello di sottrarre alla data odienna la data di creazione di un
file è il promo.
Poi c'è il numero di esecuzioni totali che deve essere minore di x, il numero di minuti di
utilizzo che deve essere minore di y, il numero di inserimenti minore di z, ecc....li ho fatti
tutti per gioco, non ho mai pensato che ci fosse qualcuno interessato a scroccare un mio prog.
 
In questo caso il signore mi ha telefonato e mi ha chiesto de poteva avere una livenza ad un
prezzo ridicolo, quando gli ho detto che non era possibile mi detto che lui era disposto a pagare
la sua cifra solo per avere le cose a posto in quanto aveva trovato il modo di bypassare il
controllo data. Per premiare tanta sfrontatezza gli ho detto di continuare pure cosi, che io non
gli avrei mai dato probblemi, ben sapendo che avevano funzionato gli altri controlli.
 
-- 
Greg