Page 1 of 1

Reverse Engineering in Delphi Applications

Posted: Fri Jan 17, 2014 6:03 pm
by b0mber
Πραγματικά, χρειάζομαι την βοήθεια όλων των μελών γιατί ασχολούμαι με το 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.

Σας ευχαριστώ όλους

Re: Reverse Engineering in Delphi Applications

Posted: Mon Jan 20, 2014 3:15 am
by H_T_P
Σχετικά με τα string references, είναι καλό να μην βασίζεσαι μόνο σε αυτά διότι απ' οτι βλέπεις αυτή η τεχνική δεν είναι πάντα αποτελεσματική. Αυτό δεν σημαίνει βέβαια οτι δεν πρέπει να τα λαμβάνουμε υπόψιν μας όπου μπορούμε.

Σου προτείνω να αφιερώσεις χρόνο στα 4 πρώτα κεφάλαια του Reversing Course.

Μην τα κάνεις βιαστικά,..take your time και εδώ είμαστε για να τα ξαναπούμε.

Καλή συνέχεια,

H_T_P