Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.visual-basic > #18699 > unrolled thread

Programma di prova

Started byGreg <greg@alicie.com>
First post2016-02-17 16:04 +0100
Last post2016-02-20 13:34 +0100
Articles 10 — 3 participants

Back to article view | Back to it.comp.lang.visual-basic


Contents

  Programma di prova Greg <greg@alicie.com> - 2016-02-17 16:04 +0100
    Re: Programma di prova Greg <greg@alicie.com> - 2016-02-17 18:48 +0100
      Re: Programma di prova Luca D <antaniserse@yahoo.it> - 2016-02-17 13:49 -0800
        Re: Programma di prova Luca D <antaniserse@yahoo.it> - 2016-02-17 14:06 -0800
          Re: Programma di prova Greg <greg@alicie.com> - 2016-02-17 23:59 +0100
            Re: Programma di prova Luca D <antaniserse@yahoo.it> - 2016-02-18 00:15 -0800
              Re: Programma di prova Greg <greg@alicie.com> - 2016-02-18 13:15 +0100
              Re: Programma di prova Daniele Pinna <daniele@oops.dapinna.com> - 2016-02-20 01:42 +0100
                Re: Programma di prova Luca D <antaniserse@yahoo.it> - 2016-02-19 23:34 -0800
                Re: Programma di prova Greg <greg@alicie.com> - 2016-02-20 13:34 +0100

#18699 — Programma di prova

FromGreg <greg@alicie.com>
Date2016-02-17 16:04 +0100
SubjectProgramma di prova
Message-ID<na226c$228$1@solani.org>
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

[toc] | [next] | [standalone]


#18700

FromGreg <greg@alicie.com>
Date2016-02-17 18:48 +0100
Message-ID<na2bq8$67d$1@solani.org>
In reply to#18699
Il 17/02/2016 16:04:44 Greg ha scritto:
> 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?

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

[toc] | [prev] | [next] | [standalone]


#18701

FromLuca D <antaniserse@yahoo.it>
Date2016-02-17 13:49 -0800
Message-ID<263ba2cb-cfc1-46a2-911e-e0cff379097d@googlegroups.com>
In reply to#18700
On Wednesday, February 17, 2016 at 6:48:58 PM UTC+1, Greg wrote:
> 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?
>

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.

[toc] | [prev] | [next] | [standalone]


#18702

FromLuca D <antaniserse@yahoo.it>
Date2016-02-17 14:06 -0800
Message-ID<9a4d9b03-6648-4738-baaf-d1406f42e1f8@googlegroups.com>
In reply to#18701
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)

[toc] | [prev] | [next] | [standalone]


#18703

FromGreg <greg@alicie.com>
Date2016-02-17 23:59 +0100
Message-ID<na2u0e$bor$1@solani.org>
In reply to#18702
Il 17/02/2016 23:06:35 Luca D ha scritto:
> 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... 

Infatti dalla funzione Date() sotraggo la data di creazione di un certi file, ma Date devo per
forza usarla e se questa rimane bloccata...

> 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)

Non conosco il vbnet, ma il confronto di date come avviene?

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#18704

FromLuca D <antaniserse@yahoo.it>
Date2016-02-18 00:15 -0800
Message-ID<ed6e105c-95e9-43f7-9c04-5fab4a68336c@googlegroups.com>
In reply to#18703
On Wednesday, February 17, 2016 at 11:59:27 PM UTC+1, Greg wrote:
> > In compenso è scritto proprio terra-terra, e puoi fregarlo tranquillamente usando le funzioni che restituiscono
> > informazioni sui file... 
> 
> Infatti dalla funzione Date() sotraggo la data di creazione di un certi file, ma Date devo per
> forza usarla e se questa rimane bloccata...

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

> 
> 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

[toc] | [prev] | [next] | [standalone]


#18705

FromGreg <greg@alicie.com>
Date2016-02-18 13:15 +0100
Message-ID<na4cks$o6s$1@solani.org>
In reply to#18704
Il 18/02/16 09:15:38 Luca D ha scritto:
> On Wednesday, February 17, 2016 at 11:59:27 PM UTC+1, Greg wrote:
>>> In compenso è scritto proprio terra-terra, e puoi fregarlo tranquillamente usando le funzioni che restituiscono
>>> informazioni sui file... 
>> 
>> Infatti dalla funzione Date() sotraggo la data di creazione di un certi file, ma Date devo per
>> forza usarla e se questa rimane bloccata...
>
> 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

Chiarissimo, grazie :)

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#18708

FromDaniele Pinna <daniele@oops.dapinna.com>
Date2016-02-20 01:42 +0100
Message-ID<na8cpr$dj0$1@virtdiesel.mng.cu.mi.it>
In reply to#18704
Il 18/02/2016 09:15, Luca D ha scritto:
> On Wednesday, February 17, 2016 at 11:59:27 PM UTC+1, Greg wrote:
>>> In compenso è scritto proprio terra-terra, e puoi fregarlo tranquillamente usando le funzioni che restituiscono
>>> informazioni sui file...
>>
>> Infatti dalla funzione Date() sotraggo la data di creazione di un certi file, ma Date devo per
>> forza usarla e se questa rimane bloccata...
>
> 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" ***

[toc] | [prev] | [next] | [standalone]


#18709

FromLuca D <antaniserse@yahoo.it>
Date2016-02-19 23:34 -0800
Message-ID<3b22ec28-5de3-4372-acdc-ff9276dcd16a@googlegroups.com>
In reply to#18708
On Saturday, February 20, 2016 at 1:42:37 AM UTC+1, Daniele Pinna wrote:
> 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...

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.

[toc] | [prev] | [next] | [standalone]


#18711

FromGreg <greg@alicie.com>
Date2016-02-20 13:34 +0100
Message-ID<na9mgk$oss$1@solani.org>
In reply to#18708
Il 20/02/2016 01:42:35 Daniele Pinna ha scritto:
> Il 18/02/2016 09:15, Luca D ha scritto:
>> On Wednesday, February 17, 2016 at 11:59:27 PM UTC+1, Greg wrote:
>>>> In compenso è scritto proprio terra-terra, e puoi fregarlo tranquillamente usando le funzioni che restituiscono
>>>> informazioni sui file...
>>>
>>> Infatti dalla funzione Date() sotraggo la data di creazione di un certi file, ma Date devo per
>>> forza usarla e se questa rimane bloccata...
>>
>> 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.

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

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.lang.visual-basic


csiph-web