pontios16 Δημοσ. 27 Οκτωβρίου 2009 Μέλος Δημοσ. 27 Οκτωβρίου 2009 Λοιπόν πήρα μια απάντηση από έναν από ένα ξένο forum για την φωτογραφία και μου απάντησε το εξής! <<pausing does nothing and your not pausing it your putting BP there AND I'm pretty sure that adress has nothing to do with anything>>
pontios16 Δημοσ. 2 Νοεμβρίου 2009 Μέλος Δημοσ. 2 Νοεμβρίου 2009 Κατάφερα να βρω αυτό το dc Flag βασικά μου έβγαλε πολλά calier το olly τώρα θέλω κάποιος να μου τη να τις κάνω αυτές??? ---------- Το μήνυμα προστέθηκε στις 03:17 ---------- Κατάφερα να βρω αυτό το dc Flag βασικά μου έβγαλε πολλά calier το olly τώρα θέλω κάποιος να μου τη να τις κάνω αυτές???
Directx Δημοσ. 2 Νοεμβρίου 2009 Δημοσ. 2 Νοεμβρίου 2009 Θα πας στο Caller address και από εκεί θα εξετάσεις τον κώδικα, να δεις τι κάνει και με βάση πια συνθήκη καλεί αυτές τις ρουτίνες και θα την ανατρέψεις (όποια ή όποιες χρειάζονται). Για παράδειγμα στο snapshot σου βλέπω ένα CMP ΕΑΧ, 2733 το οποίο θα μπορούσε να ήταν ένα IF ΕΑΧ == 0χ2733 στο αυθεντικό πρόγραμμα και ύστερα ένα JΝΖ 42B195 το οποίο λέει αν EAX != 2733 συνέχησε την εκτέλεση στην διεύθυνση 42B195. Αν υποθέσουμε ότι το flag που ψάχνεις ενεργοποιείται αν EAX != 2733 και μεταφέρει την εκτέλεση στο 42B195 πρέπει να βρεις έναν τρόπο να το αναιρέσεις. Εδώ όμως ο χώρος των op’code σου (75 04) είναι λίγα καθώς το JE είναι short οπότε δεν φτάνει ενδεχομένως για long jumps θα μπορούσες αν δεν χρειάζεται να διατηρηθεί να κάνεις overwrite το XOR που ακολουθεί σαν "33 C0" (το οποίο απλά μηδενίζει το EAX |σα να λέμε "EAX = 0") αν καταλήξεις σε long jump τελικά (πχ. ένα JMP στο σημείο που ολοκληρώνεται το flag check) ή θα μπορούσες να κάνεις overwrite (με το ανάλογο padding πάντα) την αρχική CMP που είναι αρκετά μεγάλη για να χωρέσει τις νέες σου εντολές –αυτά που σου έγραψα είναι ένα παράδειγμα για να μπεις στην φιλοσοφία το πως παίζεις με αυτά τα πράματα. Μην τα πάρεις της μετρητής! Πάντως το σημείο που διέκοψες είναι «πλούσιος κώδικας» για κάποιο σημείο του λογισμικού (πολλοί λογικοί έλεγχοι κτλ), αλλά θέλει κέφι για tracing, trial & error για να καταλάβεις τι μπορεί να επηρεάζεις και πως. Γενικά, αν δεν γνωρίζεις assembly, δεν γνωρίζεις τον τρόπο χρήσης του OllyDBG και δεν έχεις γενικά ασχοληθεί με reverse engineering (και το ότι έκανες dump ένα protected Exe και λειτουργεί, έστω και με αυτόματο unpacker πάλι καλά), δεν πρόκειται να βγάλεις άκρη.
pontios16 Δημοσ. 2 Νοεμβρίου 2009 Μέλος Δημοσ. 2 Νοεμβρίου 2009 χεχε τη ωραία που τα είπε λίγα κατάλαβα από αυτά...θα προσπαθήσω όμως να το κάνω! αν μου δίνατε μια αρχή όμως θα το εκτιμούσα, γιατί δεν ξέρω καν τη να τους κάνω αυτούς τους κώδικες. directx ευχαριστώ για την απάντηση σου! ---------- Το μήνυμα προστέθηκε στις 20:02 ---------- δεν μπορώ να το καταλάβω αυτό το olly κάνω διάφορες δοκιμές αλλά μόνο pause μου κάνει το πρόγραμμα
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.