Reverse Engineering in Delphi Applications
Posted: Fri Jan 17, 2014 6:03 pm
Πραγματικά, χρειάζομαι την βοήθεια όλων των μελών γιατί ασχολούμαι με το reverse engineering μίας πολύ μικρής εφαρμογής σε μέγεθος (288 kB) γραμμένη σε Delphi 3.0, όπως μου περιγράφει το PeiD, και δεν έχω καταφέρει να προσπεράσω τους τρεις κωδικούς που χρειάζεται.
Η εφαρμογή ζητά ένα κωδικό στην αρχή, κάνει τον έλεγχο της εγκυρότητας του και στην συνέχεια βάσει αυτού παράγει ένα δεύτερο κωδικό. Βασιζόμενος ο χρήστης σε αυτό τον κωδικό τότε πρέπει να δώσει έναν σωστό τρίτο κωδικό.
Είναι πραγματικά δύσκολο να βρω τον έλεγχο διότι έχει πάρα μα πάρα πολλά calls, stack frames και σε συνδυασμό με την έλλειψη οποιαδήποτε string references απλά χάνεσαι.
Είναι εφικτό να λυθεί κάποιο crackme (ή οτιδήποτε άλλο) γραμμένο σε delphi 3.0 ΧΩΡΙΣ όμως να δίνει κάποια string references κανένας debugger;;; Όσα tutorials βρήκα βασιζόταν στα string references για αυτό και το τονίζω ιδιαίτερα.
Μπορεί να με παραπέμψει κάποιος κάπου να διαβάσω ή να με συμβουλέψει;;;
Χρησιμοποίησα το DeDe για να εντοπίσω που εισάγονται οι κωδικοί στον Olly (άψογα έως εδώ) και τους ακολούθησα αλλά δεν μπορώ να καταλάβω το σημείο ελέγχου. Συνήθη σφάλμα είναι το Invalid Floating-point operation.
Σας ευχαριστώ όλους
Η εφαρμογή ζητά ένα κωδικό στην αρχή, κάνει τον έλεγχο της εγκυρότητας του και στην συνέχεια βάσει αυτού παράγει ένα δεύτερο κωδικό. Βασιζόμενος ο χρήστης σε αυτό τον κωδικό τότε πρέπει να δώσει έναν σωστό τρίτο κωδικό.
Είναι πραγματικά δύσκολο να βρω τον έλεγχο διότι έχει πάρα μα πάρα πολλά calls, stack frames και σε συνδυασμό με την έλλειψη οποιαδήποτε string references απλά χάνεσαι.
Είναι εφικτό να λυθεί κάποιο crackme (ή οτιδήποτε άλλο) γραμμένο σε delphi 3.0 ΧΩΡΙΣ όμως να δίνει κάποια string references κανένας debugger;;; Όσα tutorials βρήκα βασιζόταν στα string references για αυτό και το τονίζω ιδιαίτερα.
Μπορεί να με παραπέμψει κάποιος κάπου να διαβάσω ή να με συμβουλέψει;;;
Χρησιμοποίησα το DeDe για να εντοπίσω που εισάγονται οι κωδικοί στον Olly (άψογα έως εδώ) και τους ακολούθησα αλλά δεν μπορώ να καταλάβω το σημείο ελέγχου. Συνήθη σφάλμα είναι το Invalid Floating-point operation.
Σας ευχαριστώ όλους