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

Crack delphi application


EXARXEIA_CITY

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

Δημοσ.

Εχω κάνει ενα απλο πρόγραμμα σε delphi με ενα text και ενα button. Οταν βάζεις τον σωστο κωδικο το προγραμμα κλεινει αλλιως βγάζει μηνυμα "wrong pass".

Aνοιγω λοιπον το πρόγραμμα με το w32dasm για disassembly και κάνω search για το "wrong pass", το βρισκω, κοιταω πανω πανω μεχρι να βρω τα unconditional or conditional jumps και βρίσκω την τιμη 004537F5©. Ανοιγω το αρχειο με ενα hex editor (hiew) βρισκω τον καταχωρητη(αν λεω σωστα) και δινω την τιμη 90(nop=no operation). Οταν λοιπον τρεχω την εφαρμογη, βάζω κάποιον κωδικο και οταν πατάω το κουμπι μου βγαζει Access violation. Γιατι ? σε παλια προγράμματα με αυτην την μέθοδο δεν ειχα πρόβλημα.

Δημοσ.

άν θυμάμαι καλά

 

nop = μη κάνεις τίποτα για το "χρόνο" της εντολης nop

μετα πάει στην αμέσως επόμενη εντολη

 

πρέπει να κάνεις jump στο "σημείο του προγράμματος" που θέλεις να σε πηγαίνει ο κωδικός που βάζεις

Επισκέπτης
Δημοσ.

profanws apo w32dasm...alliws ti na to kaneis to offset?

Δημοσ.
Εχω κάνει ενα απλο πρόγραμμα σε delphi με ενα text και ενα button. Οταν βάζεις τον σωστο κωδικο το προγραμμα κλεινει αλλιως βγάζει μηνυμα "wrong pass".

Aνοιγω λοιπον το πρόγραμμα με το w32dasm για disassembly και κάνω search για το "wrong pass"' date=' το βρισκω, κοιταω πανω πανω μεχρι να βρω τα unconditional or conditional jumps και βρίσκω την τιμη 004537F5©. Ανοιγω το αρχειο με ενα hex editor (hiew) βρισκω τον καταχωρητη(αν λεω σωστα) και δινω την τιμη 90(nop=no operation). Οταν λοιπον τρεχω την εφαρμογη, βάζω κάποιον κωδικο και οταν πατάω το κουμπι μου βγαζει Access violation. Γιατι ? σε παλια προγράμματα με αυτην την μέθοδο δεν ειχα πρόβλημα.[/quote']

 

Θα πρέπει να εισάγεις σε binary/hex code την εντολη "jump <mem_addr>" όπου <mem_addr> η διεύθυνση μνήμης που θέλεις (π.χ. της return). Το NoOP απλά καταναλώνει ένα κύκλο προγράμματος και χρησιμοποιείται όταν δεν ξέρεις ακριβώς την διεύθυνση του jump. Οπότε "πηδάς" στο περίπου και βάζεις αρκετά NoOP (εκεί που πήδηξες) ώστε κάποια στιγμή να εκτελεστεί ο κώδικας που στόχευες.

Δημοσ.

Παράδειγμα το Jne 75 51 μετά απο nop-άρισμα γίνεται nop nop 90 90.

 

Αφού λες οτι με την σωστή εισαγωγή κωδικού τότε το πρόγραμμα κάνει έξοδο, ψάξε να βρείς κάποιο conditional jump το οποίο θα σε πηγαίνει στο API ExitProccess ή κάτι παρόμοιο.

Δημοσ.

ναι tech25 απλα δεν κατάλαβα.

ειναι 7509 jne

 

-edit- ναι δουλεψε ετσι ! το εκανα 74, μπορεις να μου πεις λιγο τι ακριβως εγινε ?

Δημοσ.

α ναι οκ καταλαβα, το jump if not equal γινετε jump if equal οποτε οταν βαζω αλλο κωδικο τον παιρνει σωστα και οταν βαζω τoν σωστο τον παιρνει λάθος.

 

thanks guys για την βοηθεια.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...