Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω ένα πρόβλημα τον τελευταίο καιρό στην πλατφόρμα VB6 …….

Και προσπαθώ να καταλάβω  πάνω σε ποια λογική εχει φτιαχτεί …

Έχω μια εφαρμογή  (από κάποιον άλλο φτιαγμένη ) που προστατεύεται από κάποιο κωδικό …  αρχικά το exe  για να εγκατασταθεί εμφανίζει ένα πρώτο  κωδικό (6 ψηφίο , όπου καταλαβαίνω ότι φτιάχνεται από κάποιο σειριακό  αριθμό  του HD του PC), όπου στην συνέχεια πρέπει  να επικοινωνήσεις με τον κατασκευαστή για να σου δώσει τον κωδικό ενεργοποίησης.

Αυτό που δεν μπορώ να καταλάβω είναι ότι , όσες φορές προσπαθήσεις να κάνεις την εγκατάσταση  παίρνεις πάντα ένα διαφορετικό πρώτο κωδικό από την προηγούμενη φορά της προσπάθειας (υποθέτω ότι αυτό γίνεται γιατί συνδυάζεται ο σειριακός αριθμός του  PC + ένας  τυχαίος  αριθμό (rand)κάπως ετσι.

Label1.Caption = Int((Rnd(Text1.Text)) * 899999 + 100000)

Όπου Text1.Text = σειριακός αριθμός του PC.

Έχω το παρακάτω ερώτημα?

Πως  μπορεί ο κατασκευαστής να δίνει τον κωδικό ενεργοποιήσεις αφού κάθε φορά  λαμβάνει ένα τυχαίο αριθμό , λόγο τις σχέσεις αυτής.

σειριακός αριθμός του PC + τυχαίος αριθμός = (αποτέλεσμα) τυχαίος αριθμός

κάποιος που μπορεί να βοηθήσει?

Ευχαριστώ

Γιώργος

Δημοσ.

Και που ξερεις οτι ο random κωδικος/αριθμος δεν εχει σχεση με τον σειριακο του δισκου; (που απο οτι φαινεται ετσι ειναι, δλδ ο random βγαινει βαση του δισκου).

Δημοσ.

Αν κατάλαβα καλά, στο ίδιο πισί σε διαφορετικές χρονικές στιγμές, για το ίδιο πισί θα δώσει άλλους κωδικούς.

 

Και πού ξέρεις εσύ που στηρίζεται η συνάρτηση; Μπορεί να έχει μία λίστα με όλους τους πρώτους αριθμούς ως το 1000 οι οποίοι κάνουν μία πράξη με το σειριακό του hd που λες και βάσει αυτού του αποτελέσματος να δίνει τον κωδικό.

Δημοσ.

Ο αριθμός δεν είναι τυχαίος...παράγεται απο μια "γεννήτρια" με συγκεκριμένες "προδιαγραφές"....αυτό που σου φαίνεται τυχαίο μπορεί να μην είναι καθόλου τυχαίο....π.χ. όλοι οι τυχαίοι αριθμοί στο 3ο ψηφίο της δυαδικής απεικόνισης μπορεί να έχουν μονάδα και η τελικη τιμή να είναι πάντα ίδια...

Δημοσ.

Ο τρόπος που δημιουργεί τους διαφορετικούς αριθμούς,  με βάζει σε υποψίες , ότι παράγονται από τυχαίους αριθμούς , υποθέτω ότι πρέπει να είναι κάπως ετσι …  

 Label1.Caption = Int((Rnd(Text1.Text)) * 899999 + 100000)

Όπου Text1.Text = σειριακός αριθμός του PC.

 

 Γιατί ο 1ος  αριθμός  που μου βγάζει είναι,  με 6 ψηφία  και τον ίδιο αριθμό ψηφίων θέλει για να ενεργοποιηθει …..

 

Το εκτελέσιμο το έχω … αλλα τα αρχεία τύπου,  .exe  , πως θα τα διαβάσετε ?.

Ευχαριστώ για την ανταπόκριση σας,   Γιώργος.

Δημοσ.

Παιδιά  στέλνω σε συμπιεσμένη μορφή το αρχείο . exe,

Για να με βοηθήσετε να καταλάβω  πως γίνετε ?

Έχω ένα πρόβλημα .. δεν μου επιτρέπει να ανεβάσω το συμπιεσμένο αρχείο.exe

Υπάρχει κάποια βοήθεια, με ποιο τρόπο μπορώ να το κάνω ?

Ευχαριστώ

Πιστεύω ότι τα κατάφερα , με το rar, δεν μου επέτρεπε, με το zip τώρα κάτι έκανα

Ευχαριστώ , Γιώργος

1.zip

Δημοσ.

Νοιώθω λίγο βρώμικος, αλλά whatever. Ο κώδικας που εκτελείται όταν πατάς "Ενεργοποίηση". Με λίγο ψάξιμο τριγύρω μπορείς να καταλάβεις τι κάνει.

 

PS: VB Decompiler v10.0

Private Sub Command1_Click() '427AA0

  Dim Me As Variant

  Dim var_50 As Me

  Dim var_3C As Variant

  Dim var_88 As Me

  Dim var_F8 As Me

  Dim var_30 As TextBox

  loc_00427B3D: var_50 = Right(Me.GetPalette, 3)

  loc_00427B66: var_88 = CInt(Me.GetPalette

  loc_00427B85: ecx = var_50 = %S_edx_S + Left(Me.GetPalette, 3)

  loc_00427BD9: ecx = %x1 = Me.Name * 34579

  loc_00427BF7: var_50 = Right(%x1 = Me.Name, 3)

  loc_00427C0A: var_18 = CInt()

  loc_00427C1A: var_88 = var_18

  loc_00427C41: ecx = Left(%x1 = Me.Name, 3) & var_18

  loc_00427C69: var_2C = sGir.Text

  loc_00427C95: var_48 = var_2C

  loc_00427CC8: If (%x1 = Me.Name = var_2C) = 0 Then GoTo loc_004280D4

  loc_00427CF4: var_3C = Global.App

  loc_00427D14: var_2C = Global.Title

  loc_00427D45: var_30 = onoma.Text

  loc_00427D71: SaveSetting(var_2C, "Settings", "onomaefarmogis", var_30)

  loc_00427E16: var_eax = Form1.Show var_90, var_8C

  loc_00427E4E: var_F8 = Form1.SaveProp 'Ignore this

  loc_00427EA1: var_30 = var_2C

  loc_00427EB8: clsConvert.var_C4 = PropBag.ReadProperty(var_30, var_34)

  loc_00427EED: var_38 = txtKeycode.Text

  loc_00427F2A: esi = (var_34 = var_38) + 1

  loc_00427F45: If (var_34 = var_38) + 1 = 0 Then GoTo loc_0042801E

  loc_00427F7B: var_2C = txtKeycode.Text

  loc_00427FA6: var_34 = var_2C

  loc_00427FB4: var_30 = "HKCU\Software\NerdApp\Licence"

  loc_00427FC5: var_eax = Unknown_VTable_Call[edx+00000024h]

  loc_00427FFC: var_eax = giris.Form_Load

  loc_0042801C: GoTo loc_00428090

  loc_0042801E: 'Referenced from: 00427F45

  loc_0042806F: MsgBox("Invalid Keycode!", 48, var_60, var_70, var_80)

  loc_004280B4: txtKeycode.Font = 0

  loc_004280D2: GoTo loc_00428112

  loc_004280D4: 'Referenced from: 00427CC8

  loc_004280EF: xe.Visible = True

  loc_004280F9: If var_3C >= 0 Then GoTo loc_00428109

  loc_00428109: 'Referenced from: 004280F9

  loc_0042811E: GoTo loc_00428164

  loc_00428163: Exit Sub

  loc_00428164: 'Referenced from: 0042811E

End Sub
Δημοσ.

Ευχαριστώ για την άμεση απάντηση σου (anon667) , αλλα  έχω … αρκετά κενά και δεν καταλαβαίνω  τι κώδικας είναι , τι κάνει , με ποια συνάρτηση  μπορεί να μετατρέψει  ένα τυχαίο 6 ψήφιο αριθμό που ο ΗΥ δίνει σε ένα νέο 6 ψήφιο αριθμό  ενεργοποίησης της εφαρμογής ?

Ο 1ος 6 ψήφιος ( τυχαίος) αριθμός που μου δίνει η εφαρμογή, που είναι ? , πως δημιουργείται?  που τον διαβάζω?

Πως δημιουργεί τον άλλο 6 ψήφιο  αριθμό ενεργοποιήσεις?

 ( από τα λίγα που  έχω διαβάσει,  για τις εντολές τις VB6  … δεν μπορώ να καταλάβω, τι κάνουν ? )

Υπάρχει κάποιο παράδειγμα σε (VB6 ) που μπορεί να με βοηθήσει?

Ευχαριστώ, Γιώργος. 

Δημοσ.

Νομίζω ότι κάπου εδώ τελειώνει η βοήθεια του κοινού. Πρέπει να μελετήσεις λίγο vb παραπάνω ή να βρεις κάποιον που επί πληρωμή θα σου κάνει τη δουλειά.

Δημοσ.

Ευχαριστώ  Lanike71,  για την επισήμανση σου,  … πιστεύω όμως ότι  ίσως κάποιος από το φόρουμ, μπορεί ή έχει τις γνώσεις να με βοηθήσει, σε διαφορετική περίπτωση  ξέρεις κάποιον που επί πληρωμή μπορεί να με βοηθήσει?, γιατί εγώ … έχω αρκετά κενά  σε  αυτόν τον κώδικα.

 

Ευχαριστώ.  Γιώργος 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...