Το προφίλ μας στο Google Plus
16

Re(uni)verse it! (Olly part II)

Είναι καιρός πιστεύουμε να μιλήσουμε για την τέχνη του πραγματικού reversing. Σκεφτείτε την εξής διαδικασία: Αρχικά, παίρνουμε ένα πρόγραμμα και το αναλύουμε με κάποιον debugger. Στη συνέχεια το τροποποιούμε προσθέτοντας ή αλλάζοντας ένα JMP, ώστε να παρακάμπτεται η όποια διαδικασία προστασίας. Στο τέλος το αποθηκεύουμε ως ένα νέο εκτελέσιμο. Αυτό το εκτελέσιμο είναι το λεγόμενο cracked executable, ενώ η διαδικασία που περιγράψαμε ονομάζεται patching και *ουδεμία* σχέση έχει με το reversing. Αυτό για να μην έχουμε παρεξηγήσεις ;)

deltaHacker Νοεμβρίου (τεύχος 002) | Re(uni)verse it! (Olly part II)

Η διαδικασία του reversing ενός προγράμματος σημαίνει την ανάλυσή του, με στόχο την κατανόηση του εσωτερικού αλγορίθμου και γενικότερα του τρόπου λειτουργίας του πηγαίου κώδικα. Όλα αυτά βέβαια χωρίς να έχουμε στα χέρια μας τον πηγαίο κώδικα! Μ’ άλλα λόγια, η διαδικασία του reversing είναι η αντίστροφη (reverse) από εκείνη που ακολουθούμε όταν δημιουργούμε ένα πρόγραμμα. Φυσικά, πολλές φορές δεν χρειάζεται να κατανοήσουμε όλο το πρόγραμμα αλλά μόνο το τμήμα που μας ενδιαφέρει. Στη δική μας περίπτωση (αυτή που θα εξετάσουμε) θ’ ασχοληθούμε με το τμήμα που ελέγχει τη γνησιότητα του κλειδιού που ζητείται από το χρήστη προκειμένου το πρόγραμμα να ξεκλειδώσει ή να ενεργοποιηθεί.

Διαβάστε όλο το άρθρο στο deltaHacker Νοεμβρίου (τεύχος 002). Τα περιεχόμενα του τεύχους είναι εδώ. Όλες τις πληροφορίες για τις συνδρομές στο deltaHacker, το μοναδικό μηνιαίο περιοδικό με θεματολογία ethical hacking και infosec, θα τις βρείτε παραδίπλα. Για παραγγελίες μεμονωμένων τευχών ή συνδρομών συμπληρώστε τη σχετική φόρμα.

16 Responses to “Re(uni)verse it! (Olly part II)”

  1. mitzie | 11/11/2011 at 23:34

    Παιδια βοήθεια!!!
    Oταν κανω install to keyprotected προγραμμα [απο το exe] μου βγαζει οτι δεν μπορει να τρεξει επειδη το αρχειο rtl150.bpl εχει παει στο Ανατολικο Τιμορ!!!

    Οταν το ανοιγω απο τον olly παθαινω παλι το ιδιο πραγμα :(

  2. H_T_P | 15/11/2011 at 19:12

    Sorry, for the English, but I can’t write in Greek at the moment due to technical issues.
    It is (almost) obvious that the executable you are talking about has been compiled/linked from C++ Builder IDE (now known as Embaracadero C++ builder), but the author did not configure it correctly, causing dynamic linking to some run-time libraries of that particular IDE which I suppose (not your fault) you don’t have installed. :O)

    You should contact the author, to fix the issue and re-publish again the executable.

    Cheers,

    H_T_P

    • mitzie | 15/11/2011 at 23:57

      Ευχαριστω!!!!!

      Παρακολουθεί κανεις το ποστ; Αν ναι μπορει κανείς να ενημερώσει τον thisea ή να μου πει πως να επικοινωνήσω εγω μαζι του??

  3. sukawia | 22/11/2011 at 23:08

    Χωρίς να είμαι σίγουρος ότι εδώ είναι το σωστό μέρος για να το γράψω αυτό:

    Οι πιθανοί συνδυασμοί για το κλειδί είναι [πλήθος διαφορετικών χαρακτήρων]^[πλήθος πεδίων]. Στην περίπτωση μας, 256 (αν θυμάμαι σωστά)^8 (8 και όχι 16, αφού σύμφωνα με τον τρόπο που παράγεται το κλειδί, τα 8 πρώτα πεδία καθορίζουν τα 8 τελευταία). Δηλαδή 256 εις την 8η.

    Αν οι υπολογισμοί μου είναι σωστοί, αυτό μας αφήνει με 4.7 * 10^21 διαφορετικούς συνδυασμούς κλειδιών που είναι valid και το πρόγραμμα θα τους δεχτεί αν βάλουμε κάποιον απ’ αυτούς ;)

    My apologies αν δεν έπρεπε να το ποστάρω εδώ /:

    • sukawia | 23/11/2011 at 20:02

      whoops. Το πολλαπλασίασα μία φορά παραπάνω /: Ευτυχώς που σκέφτηκα ότι θα ‘πρεπε να μην είχα στρογγυλοποιήσει το αποτέλεσμα.

      Anyhow, το σωστό αποτέλεσμα είναι 18.446.744.073.709.551.616. Για να σας βοηθήσω, είναι είναι 18 πεντάκις …. κλπ κλπ.

  4. d.Inf3rnoz | 04/12/2011 at 20:39

    Εμένα μου λέει πως το rtl160.bpl δεν εντοπίστηκε..Δώωωστεε ένα χέρι βοηθείας :D :D

    • H_T_P | 05/12/2011 at 03:27

      Είναι το ίδιο πρόβλημα με αυτό που είχε και ο φίλος μας πιο πάνω. Somebody should contact the author… :O)

  5. Thiseas | 05/12/2011 at 20:16

    Κατ’ αρχάς να ζητήσω συγγνώμη από όλους που τους δημιούργησα αυτό το πρόβλημα χωρίς την θέληση μου.
    Για να μην ξανακάνω recompile το πρόγραμμα και ενσωματώσει τις βιβλιοθήκες που πιθανόν θα αλλάξουν το εκτελέσιμο και κατά πάσα πιθανότητα την συνέπεια του άρθρου, σας έχω φτιάξει ένα zip με όλα τα απαραίτητα για να τρέξει το πρόγραμμα ως έχει. Πρόκειται για 4 βοηθητικά αρχεία. Πρέπει όλα να βρίσκονται στο ίδιο κατάλογο με το εκτελέσιμο. Μπορείτε να το κατεβάσετε από εδώ:
    http://www.s3cure.gr/THISEAS/KeyProtected1.zip

    Thnx and Sorry

    • GpL | 17/04/2012 at 14:30

      Πάνω που είπα να ασχοληθώ κι εγώ με το reversing (άργησα λίγο βέβαια) και να “φάω” λίγο με τον Olly, συνάντησα κι εγώ το πρόβλημα με τις libraries που λείπουν, αλλά δυστυχώς και το παραπάνω link είναι “ψόφιο”.

      Κάποιος καλός άνθρωπος ας δώσει μια χείρα βοηθείας….!

  6. d.Inf3rnoz | 23/12/2011 at 22:58

    Thumb Up (Υ) ευχαριστούμεε!

  7. Mixos | 16/04/2013 at 22:21

    Καλησπέρα,

    Δυστυχώς δεν έχω διαβάσει όλο το άρθρο αλλά για τα πρώτα βήματα είναι αρκετά καλό.
    Επίσης θα μπορούμε να συνδυαστεί το άρθρο και με έναν καλό disassembler π.χ IDA.

    [HKEY_USERS\S-1-5-21-858282479-3232496366-2277404337-1000\ThiseasKeyProtection]
    “Key”=”3330899bc042058xxxx”

    Περιμένουμε ακόμα περισσότερα! :) Unpacking, Keygen, Anti-Olly, RSA…

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων