Oppure

Loading
04/09/09 17:25
Allora... Vediamo se ho capito cosa mi chiedi. Se parli del frammento di codice che ho scritto sopra, provo a spiegarmi meglio.

Una volta sbagliata la password per 3 volte, viene creato un file imbucato in system32, o dove ti pare. Non importa che sia txt. Basta che sia un file, va bene anche senza estensione.
Dicevo... Dopo 3 errori, viene creato il file e il programma si chiude (Perchè hai fatto 3 errori!)

Ogni volta che il programma viene avviato, parte solo se il file di cui ho appena parlato non esiste. In pratica il programma parte solo se nessuno ha mai sbagliato 3 volte la password. Se invece qualcuno, una volta, ha fatto 3 errori, il programma diventa inutilizzabile, perchè quando sono stati fatti 3 errori si è creato il file, e il blocco if in Form_Load() diventa positivo e termina il programma all'avvio.

In pratica il tuo programma si chiude se sbagli 3 volte, e non si avvia più. Che è esattamente quello che ha detto GrG nei primi post, mentre più avanti ha consigliato, per maggior sicurezza, di porre tale file sul server in modo da renderne più difficile la localizzazione. Quest'ultima parte non è attuabile tramite le mie conoscenze, quindi non ti posso aiutare, ma per tutti il resto... È comprensibile ora??
Ultima modifica effettuata da 04/09/09 17:25
04/09/09 17:47
GrG
per fare quello che ho detto io o lo fai tramite ftp oppure con l'ausilio di uno script php
aaa
04/09/09 18:32
fusebyte
Il concetto l'avevo capito ,di tutti e due i discorsi, a parte farmi spiegare i vari punti
per sapere cio' che scrivo,solo che sara'deformazione caratteriale ma ci trovo sempre qualche incognita ,remota,ma ce la vedo.
Nel tuo caso,uno esperto il file potrebbe rintracciarlo ed eliminarlo.
Nel caso di GRG,basta utilizzarlo non connessi,prendi PortScan ,PortCom e logghi il traffico e vedi che c'è un indirizzamento "strano".

A prescidnere da tutto,le due procedure sono valide( fino ad un certo livello utente),e le prendo in considerazione,con la convinzione che l'autodanneggiamento sia il top.

Mi trovate daccordo?:-)

Ciao

aaa
04/09/09 19:27
GrG
prima di fare il controllo del file sul tuo sito basta effettuare un test della connessione avvisando (se non è presente) che il programma si deve eseguire solo con la connessione attiva...

ma poi sta password viene chiesta solo la prima volta o sempre? credo sempre, quindi basta fare in modo che la chieda solo la prima volta.
aaa
04/09/09 21:08
fusebyte
Ok,ti seguo.3 possibilita' di inserire il seriale (se uno sbaglia a scrivere...)
Solo per la prima apertura.Partiamo da qui
Inserisco la pass nel FrmLogin legato al Form1

Private Sub Form_Load() 
  If Dir("/WINDOWS/System32/checkerror.txt") <> "" Then 
    End 
 End If

Dim x%
 USSRer = "Awanaghana"
 Coker ="1234567890"
 x=0
   If Text1.Text = "Awanaghana" And Text2.Text = "1234567890" Then
  Unload Me
 Form1.Visible = True
 else
  Text1.Text = "" : Text2.Text = "" '<-- fino a qui gira bene
Form1.Visible = False
 x = x + 1
   If x = 3 Then
      frmLogin.Visible = False
    Unload Me
  Open "/WINDOWS/System32/checkerror.txt" For Output As #1 'eventuale modif.appoggio rete
    Print #1, "1" 
      Close #1 

     End If
   End If
End Sub


Questo fino a quanto discusso,ci dovremmo essere.
Mi date una controllata? Grazie.

Mi serve un altro piccolo aiutino
come scrivo da vb6 dentro un fileBAT
come mando in esecuzione da vb6 un file BAT
voglio tentare anche un'altra strada.
Ciao
Ultima modifica effettuata da fusebyte 04/09/09 22:03
aaa
04/09/09 21:37
fusebyte
axx..dopo il terzo inserimento sbagliato continua a permettermi di provare ad inserire user e pass e non crea il file txt.

Guardo e riguardo il codice e non mi sembra abbia fatto errori.
aaa
04/09/09 21:56
Da VB6 dentro BAT scrivi come in qualsiasi altro file:

Open "C:/pippo.bat" For Output as #1
     Print #1, "format C:"
Close #1


Per avviarlo usi invece Shell("nomefile";).
So cosa vuoi fare, ma è impossibile perchè il bat non può cancellare un processo in uso, quale sarebbe il tuo programma se fai partire il file dal tuo programma. (scusate :))
Anche se termini il tuo codice in vb6 appena dopo la shell non va, perchè vb6 cede il controllo al programma avviato e non va avanti nel codice finchè il programma chiamato non è terminato (PENSO, ma sentitevi pure liberi di correggermi :D)
Non puoi neanche terminare il tuo programma dal batch per poi cancellarlo con il batch stesso, perchè verrebbe fuori così:

tskill nomeprogramma
del nomeprogramma.exe


Problema: Il processo ci mette poco a terminarsi, ma quando è terminato il batch è già passato alla procedura successiva da un pezzo, e quindi la seconda istruzione non viene eseguita perchè il file risulta in uso. Non esiste modo di attendere tra un comando e l'altro, tranne uno mostruosamente impreciso o l'attesa di un'invio da parte dell'utente.

Comunque sarebbe inutile, e ti spiego perchè:
Predichi tanto l'insicurezza del metodo da me presentato, dici cioè che un utente esperto potrebbe trovare il file (come, poi, non so... io non sono così esperto....) creato, ma è anche vero che per evitare la tua autodistruzione basta fare diverse copie dell'eseguibile, e ottenere così, in teoria, la possibilità di provare serial in modo illimitato -.-"

Passiamo a quell'accozzaglia di codice, chiaramente frutto di anni di esperienza nella tecnica del collage:
Andiamo per gradi... non può funzionare. È chiaro che non puoi cacciare tutto in Form_Load(). Io non conosco il Vb.net, ma non penso che quel "dim x%" permetta alla variabile di mantenere il proprio valore dopo un riavvio del programma. Mi sembra una normale dichiarazione. Pensaci un attimo... Quella x, ogni volta che riavvii il programma, torna a valere 0, quindi non raggiungerà mai il valore 3!

Quando viene sbagliata la pw, il programma deve salvare il valore di x in un file, e recuperarlo quando viene riavviato. Cerco conferma da GrG, in quanto non sono sicuro dell'esatto significato di quella percentuale nella dichiarazione di x. Non vorrei che fosse una dichiarazione pubblica... Attendo risposte, e spero di essere stato chiaro.
Ultima modifica effettuata da 04/09/09 23:25
04/09/09 22:08
fusebyte
Ok,Ok lasciamo perdere le quisquiglie:-),ti do ragione,ma ste cose le fanno,sono io che non le so e parlo solo per me.
Pero ho un problema,noti nel codice qualche errore?

Per il BAT è cosi' la sintassi?
Open "C:/pippo.bat" For Output As #1 
     Print #1, "@echo off" 
     Print #2, "DEL mio.bat" 
     ecc ecc..#3..#4..#5..
Close #1

Solo per sapere...
Ciaoz
Ultima modifica effettuata da fusebyte 04/09/09 22:14
aaa