Domanda Reversing Aiuto per software trial 60gg

Stato
Discussione chiusa ad ulteriori risposte.

siedrosat

Utente Bronze
25 Agosto 2015
12
2
0
36
Buongiorno a tutti,
e da tanto che vi seguo ed ho imparato molte cose grazie ai vs. tutorial.
Avrei bisogno di una mano a capire che tipo di controllo effettua un particolare software.
In pratica il software una volta installato ha una durata di 60gg.
Non sono riuscito ad individuare in quale parte di registro scrive questa informazione. Ho provato ad analizzare l'eseguibile con peid e risulta in Microsoft Visual C# / Basic .NET.
Analizzando l'eseguibile con ollydbg non sono riuscito a capire dove effettua il controllo del seriale. Inoltre ho notato che durante la prima installazione crea un file di licenza lic però non ho capito come e dove viene richiamato dall'eseguibile.
Il controllo sulla data è fatto bene in quanto anche con runasdate non funziona o meglio se si porta indietro la data comunque azzera i giorni disponibili.
Se qualcuno del forum più esperto può darmi una mano ne sarei grato.
Volendo potrei caricare il software su un virtual drive, protetto da pws.

Grazie in anticipo.
 
Olly non è in grado di analizzare i software scritti in linguaggi interpretati come ad esempio Java o .NET. Di conseguenza è necessario utilizzare un tool diverso per l'analisi, come ad esempio .NET Reflector.
 
Ho fatto un'analisi con net reflector ho trovato questo :
public DateTime ExpirationDate
{
get
{
if (this.m_oLicense == null)
{
throw new LicenseException(typeof(CopyProtection), this);
}
TimeLimit limit = this.m_oLicense.Limits[typeof(TimeLimit)] as TimeLimit;
if (limit == null)
{
return DateTime.MinValue;
}
if (limit.TimeLimitType == TimeLimitType.FromFirstUse)
{
return DateTime.Today.AddDays((double) limit.TimeInDays);
}
return limit.AbsoluteDate;
}
}
subito sotto :
IsActivated : Boolean
public bool get_IsActivated() =>
(this.m_oLicense?.IsActivation && this.m_oLicense.IsActivated);

Secondo voi si può fare qualcosa?

Allego il file exe se qualcuno vuole dargli uno sguardo https://drive.google.com/open?id=0BxfPLSG91kL2RDhKblg4S2lRaGM

Grazie.
 
@siedrosat Ciao, non sarò il migliore in questo campo, aspetta altri più esperti! Fammi capire, se il programma quando si apre ti chiede una licenza e dopo averla inserita ti si apre il programma\tool fai prima ad impostare che si apra direttamente il programma interessato, almeno io facevo così per i tool che chiedevano una licenza o key (sempre in ambito .NET parlo)! Buona fortuna
 
@siedrosat Ciao, non sarò il migliore in questo campo, aspetta altri più esperti! Fammi capire, se il programma quando si apre ti chiede una licenza e dopo averla inserita ti si apre il programma\tool fai prima ad impostare che si apra direttamente il programma interessato, almeno io facevo così per i tool che chiedevano una licenza o key (sempre in ambito .NET parlo)! Buona fortuna

Grazie per la risposta, ti spiego una volta aperto il programma, se è scaduto il periodo di prova dei 60gg, ti permette tramite il pulsante "Extend" di inserire un serial. Una volta inserito il seriale, il programma si dovrebbe aprire senza limiti di tempo.
 
Grazie per la risposta, ti spiego una volta aperto il programma, se è scaduto il periodo di prova dei 60gg, ti permette tramite il pulsante "Extend" di inserire un serial. Una volta inserito il seriale, il programma si dovrebbe aprire senza limiti di tempo.
Prova a smanettare con Reflector e ad impostare il Form che ti interessa far partire.
 
Ci ho smanettato parecchie ore e non sono riuscito a capire come fare. Per il momento ho trovato un modo più spartano per non farlo scadere istantanea di virtualbox con il software sempre aperto, però mi piacerebbe capire come intervenire sull'eseguibile.
Grazie.
 
Ultima modifica:
Da come si può vedere non è stata applicata nessuna tecnica di protezione e/o offuscamento del bytecode. Questo fa si che molto probabilmente il problema possa essere risolto facilmente.
Tieni presente che con reflector il codice può anche essere modificato e ricompilato.
Purtroppo il solo file principale non è sufficiente per poter testare eventuali soluzioni in quanto il programma così non funziona.
 
Da come si può vedere non è stata applicata nessuna tecnica di protezione e/o offuscamento del bytecode. Questo fa si che molto probabilmente il problema possa essere risolto facilmente.
Tieni presente che con reflector il codice può anche essere modificato e ricompilato.
Purtroppo il solo file principale non è sufficiente per poter testare eventuali soluzioni in quanto il programma così non funziona.
Grazie, hai qualche tutorial di esempio per capire come devo intervenire?
 
Ok eccovi il link disponibile per tutti.
https://drive.google.com/open?id=0BxfPLSG91kL2QzZkSGpabGo5Rmc
Password: trf60hm

Grazie.
Ciao,
Questo programma dimostra che nonostante si abbia a disposizione tutto il codice se il tutto è pensato e scritto bene risulta molto difficile
modificare o creare una licenza valida.
Ti potrei passare il file modificato ma non credo ti servirebbe per imparare qualcosa sul reversing. Io ho aggirato alcuni ostacoli facendo credere al prog che la lic trial è full ma la cosa non è ne semplice ne immediata perchè le modifiche da effettuare non sono facili da capire e trovare.
Dovresti leggerti un pò di tute sul net li trovi facilmente in rete .
cmq le modifiche sono

- VerifySignature- deve tornare sempre vero
-EnsureLicenseState- deve tornare sempre vero
-AssertNotEncrypted- modificare ultima parte in modo che non generi mai l'accezzione
-CreateLimitFromName - invece di creare la classe TrialLimit deve creare la classe ActivationLimit
-loadOptions- ResearchAndDevelopment di dafault deve esssere vero e non falso.

Mi pare di non averne dimenticata nessuna, ma ripeto prima sarebbe meglio leggere un pochino di tute sul net
 
  • Mi piace
Reazioni: tonyweb
Ultima modifica:
Grazie per le indicazioni. Ci sarà molto da studiare spero di riuscirci.
Anche se forse avendo la soluzione potrei, in maniera più facile confrontare il listato originale con quello modificato per trovare le differenze e capire come hai aggirato l'ostacolo.
 
Ciao Digos posso girarti la dll credo di aver individuato le modifiche da fare ma sicuramente ho commesso qualche errore.
Grazie.
 
Sperando che qualcuno mi possa risponere ....ho lo stesso problema dell'autore del thread...... utilizzo dei programmi di finanza che offrono una trial ...ovviamente dopo il periodo di prova scadono e non riesco piu ad utilizzarli nemmeno formattando .....inoltre non solo non funzonano piu i programmi ma nemmeno il collegamento dati....ossia chiedo dei dati inprova e li ottengo ....dopo la prova richiedo un nuovo account e me lo forniscono ma ovviamente non funziona nulla .....anche in questo caso riformattando non risolvo ..............se mi faccio prestare un pc e mi collego con la nuova user/password (quindi setessa adsl routere provider) funziona perfettamente solo per 14 gg.!

Ho fatto qualche ricerca in rete ma non sono riuscito trovare nulla in meritochemipossa far capire come avere sempre un nuovo pc
 
Sperando che qualcuno mi possa risponere ....ho lo stesso problema dell'autore del thread...... utilizzo dei programmi di finanza che offrono una trial ...ovviamente dopo il periodo di prova scadono e non riesco piu ad utilizzarli nemmeno formattando .....inoltre non solo non funzonano piu i programmi ma nemmeno il collegamento dati....ossia chiedo dei dati inprova e li ottengo ....dopo la prova richiedo un nuovo account e me lo forniscono ma ovviamente non funziona nulla .....anche in questo caso riformattando non risolvo ..............se mi faccio prestare un pc e mi collego con la nuova user/password (quindi setessa adsl routere provider) funziona perfettamente solo per 14 gg.!

Ho fatto qualche ricerca in rete ma non sono riuscito trovare nulla in meritochemipossa far capire come avere sempre un nuovo pc
mmm... potresti provare con sistemi operativi live con una VM installata sopra
 
grazie ma ho provato sia con virtual box sia con VMware sia mettendo il SO su un HD esterno ….mi sa che è molto più complicata la faccenda
 
Sperando che qualcuno mi possa risponere ....ho lo stesso problema dell'autore del thread...... utilizzo dei programmi di finanza che offrono una trial ...ovviamente dopo il periodo di prova scadono e non riesco piu ad utilizzarli nemmeno formattando .....inoltre non solo non funzonano piu i programmi ma nemmeno il collegamento dati....ossia chiedo dei dati inprova e li ottengo ....dopo la prova richiedo un nuovo account e me lo forniscono ma ovviamente non funziona nulla .....anche in questo caso riformattando non risolvo ..............se mi faccio prestare un pc e mi collego con la nuova user/password (quindi setessa adsl routere provider) funziona perfettamente solo per 14 gg.!

Ho fatto qualche ricerca in rete ma non sono riuscito trovare nulla in meritochemipossa far capire come avere sempre un nuovo pc
La invito a fare una nuova discussione, questa è troppo vecchia. Chiudo per necroposting.
 
Stato
Discussione chiusa ad ulteriori risposte.