Jump to content

Recommended Posts

Posted

Reverse engineering (ελλ. μηχανική αντιστροφής ή ανάστροφη μηχανίκευση), είναι μια μέθοδος που εφαρμόζεται για να μπορέσουμε να δούμε τον κώδικα με τον οπόιο είναι γραμμένο ένα εκτελέσιμο αρχείο.

 

Η μέθοδος αυτή πολύ χονδρικά θα μπορούσαμε να πούμε οτι είναι η αντίστροφη πορεία που πρέπει να ακολουθήσει κάποιος για να φτάσει εκεί που θέλει. Το reverse engineering είναι όρος που συναντάται πολύ συχνά σε διάφορες εφαρμοσμένες και θετικές επιστήμες, μια από αυτές και η πληροφορική.

 

Reverse engineering στην πληροφορική.

 

Όταν θέλουμε να φτιάξουμε μια εφαρμογή το πρώτο πράγμα που κάνουμε είναι να επιλέξουμε την γλώσσα προγραμματισμού με την οποία θα φτιάξουμε το πρόγραμμα και στην συνέχεια να αρχήσουμε την σύνθεση του προγράμματος γράφοντας κώδικα. Στο τέλος συνήθως κάνουμε και ένα compile την εφαρμογή μας ωστέ από κώδικας να μεταφραστεί σε εκτελέσιμο αρχείο (.exe) το οποίο με doubleclick θα μπορούμε να το τρέξουμε από τον υπολογιστή μας.

 

Έτσι λοιπόν έχοντας κάποιος στην κατοχή του ένα εκτελέσιμο αρχείο δεν μπορεί να γνωρίζει τον κώδικα. Με την μέθοδο της μηχανικής αντιστροφής ο σκοπός είναι έχοντας το εκτελέσιμο αρχείο να μπορέσουμε να φτάσουμε στον κώδικα με τον οποίο είναι γραμμένη η εφαρμογή. H συγκεκριμένη διαδικασία ονομάζεται και decompile (ελλ. αποσυμπίληση), δηλαδή η αντίστροφη πορεία του compile.

 

Reverse engineering και hacking.

 

Τα άτομα που ασχολούνται αποκλειστικά με αυτές τις τεχνικές αποκαλούνται και reversers ή reverse engineers. Πολλοί συγχέουν το reverse engineering με το hacking. Στην πραγματικότητα έχει έμμεση σχέση με αυτό, αλλά έχει άμεση σχέση με το cracking. Πράγματι είναι εφικτό με αυτή την μέθοδο να παρακαμφθούν διάφοροι μηχανισμοί προστασίας εμπορικών εφαρμογών ή ακόμη και να εντοπιστούν οι κωδικοί πρόσβασης και ενεργοποίησης.

 

Ακόμη εφόσον γίνει γνωστός ο κώδικας της εφαρμογής και βρεθούν και τα password πρόσβασης ο προγραμματιστής μπορεί να φτιάξει και ένα crack ή patch για το αντίστοιχο λογισμικό και να το διανέμει στο διαδύκτιο. Έτσι λοιπόν όλες οι εταιρίες κατασκευής λογισμικού πλέον λένε στις άδειες οτι απαγορεύεται το decompile ή reverse engineering. Αρκετές δε εταιρίες βάζουν και ειδικό password για να μην μπορεί κάποιος να έχει πρόσβαση στον κώδικα.

 

Reversing σε εφαρμογές γραμμένες με απλή Visual basic.

 

Η εφαρμογή του reverse engineering σε εκτελέσιμες εφαρμογές γραμμένες σε visual basic είναι η ευκολότερη υπόθεση για έναν reverser. Η visual basic είναι από τις μοναδικές γλώσσες προγραμματισμού που με την βοήθεια ενός decompiler από ένα απλό εκτελέσιμο αρχείο μπορούμε να πάρουμε άμεσα τον κώδικα με τον οποίον γράφτηκε με το πάτημα ενός κουμπιού. Ένας πολύ καλός decompiler για αυτό είναι ο VB decompiler. Υπάρχουν και περιπτώσεις που μπορούμε να πάρουμε άμεσα και κώδικα από εφαρμογές σε visual basic NET, παρά ταύτα δεν είναι πάντοτε εφικτό αυτό και πρέπει να ακολουθηθούν περισσότερα βήματα με ποιο σύνθετες διεργασίες.

 

Reversing σε εφαρμογές γραμμένες με άλλες γλώσσες προγραμματισμού.

 

Εδώ χρειάζονται περισσότερες γνώσεις και ενασχόληση με το reversing ωστέ να μπορέσουμε να φτάσουμε στον κώδικα με τον οποίο είναι γραμμένη μια εφαρμογή. Μάλιστα όσο μεγαλύτερο εύρος δυνατοτήτων έχει μια εφαρμογή σημαίνει οτι τόσο ποιο μεγάλος και περίπλοκος θα είναι ο κώδικας της εφαρμογής άρα θα πρέπει να ασχοληθούμε τόσο και περισσότερο. Οπότε η υπομονή και η επιμονή είναι βασικότατα στοιχεία για την επίτευξη των στόχων.

 

Το βασικό εργαλείο που χρησιμοποιούμε σε αυτές τις περιπτώσεις είναι ένας hex editor ένας debugger και ένας dissasembler. Μερικοί καλοί dissasemblers περιλαμβάνουν και hex editor καθώς και μερικούς decompilers αλλά και template editor. Στο διαδύκτιο θα βρείτε μερικούς decompilers και για άλλες γλώσσες προγραμματισμού εκτός της vb, όμως δύσκολα θα δώσουν απευθείας τον κώδικα μιας εφαρμογής. Επιπροσθέτως όταν κάποιος κατέχει μια εφαρμογή δεν μπορεί να γνωρίζει εξαρχής την γλώσσα με την οποία γράφτηκε άρα σχεδόν πάντοτε χρειαζόμαστε έναν πολύ καλό dissasembler που να τα περιλαμβάνει όλα.

 

Τα παραπάνω λογισμικά τα κάνουμε run όλα μαζί κατά το reversing γιατί θα χρειαστεί η χρήση όλων αυτών ωστέ να φτάσουμε στην εύρεση του κώδικα.

 

Ο debugger χρησιμεύει στην περίπτωση που θέλουμε να ελέγξουμε αν υπάρχει κάποιο λάθος στον κώδικα που έχουμε διαθέσιμο από την όλη διαδικασία. Αν υπάρχει λάθος πρέπει να ελέγξουμε μήπως κάναμε κάποιο λάθος βήμα.

 

Ο Hex editor μας βοηθάει να δούμε ένα αρχείο που θα επιλέξουμε σε δεκαεξαδική μορφή, άρα μετατρέπει την διαδική μορφή που είναι το αρχείο σε δεκαεξαδική, αυτό είναι σημαντικό διότι κάθε τετράδα αριθμών στο δεκαεξαδικό σύστημα αποτελεί χονδρικά και μια εντολή γραμμένη σε γλώσσα assembly. Κατ΄αυτόν τον τρόπο είναι εφικτό να καταλάβουμε την βασική δομή με την οποία είναι γραμμένη μια εφαρμογή αυτό θα γίνει με τον dissasembler.

 

O dissasembler λοιπόν κάνει την σημαντικότερη δουλειά, μας μετατρέπει έναν binary κώδικα σε εντολές. Ο binary κώδικας είναι λ.χ ο κώδικας σε 16-δική μορφή που πήραμε από τον hex editor. Έτσι φτάνουμε σχεδόν στον τελικό στόχο.

 

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

 

Στο παραπάνω κείμενο έδωσα κάποιες πολύ βασικές πληροφορίες, στην πραγματικότητα το reverse engineering είναι εξαιρετικά ποιο πολύπλοκο και δεν εφαρμόζεται μόνο για hacking cracking κτλπ αλλά και για άλλες εργασίες που μπορούν να προσφέρουν περισσότερη άνεση και ευχρηστία σε κάποιον ο οποίος χρησιμοποιεί μια εφαρμογή κλειστού κώδικα και δεν τον ικανοποιεί απολύτος.

 

Πηγή: Ελληνική Χάκινγκ Σκηνή

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Where's the proof? I can tell you're a scammer.
    • Where was I called a scammer? Is there any proof, etc.? There are a lot of reviews about our store online, etc. https://zhyk.org/forum/showthread.php?t=1108673
    • U was reported as scammer in your previos topic why u create new topic?
    • 🔍 Inventory 1.0 is a next-generation inventory system that stands out with its special minimal clothing system. Carefully designed and prepared according to the highest standards of your server, it not only enhances your gaming experience but also contributes to your server's infrastructure. ⚙️ Supported: QB-CORE Features: ✅ Instant Delivery: All products you purchase will be instantly assigned to your account as soon as your payment is completed. ✅ Clothing System: With the special animated clothing configurations in your inventory, you will be able to change outfits with ease. Experience a unique roleplaying experience with high-quality animations and customizable clothing options. ✅ Minimalist Inventory System: This inventory system, with its visuals, animations, and mechanics, offers maximum efficiency without overwhelming your screen and limiting your roleplaying experience. It’s designed to be user-friendly while enhancing your roleplaying experience. ✅ Continuous Updates: The content in the inventory is regularly updated with innovative features added. New animations, additional clothing options, and cutting-edge features ensure a fresh and dynamic experience. ✅ Easy Setup and Compatibility: Compatible with QB-CORE, this system is easy to install and optimized for quick integration into your server. It works seamlessly with a simple drag-and-drop method. ✅ Performance Optimization: The system is optimized to avoid low FPS and performance drops. All features of the inventory run smoothly without affecting your server’s performance. ✅ Multilingual Support: With support for different languages, you can cater to an international player base and build a larger community on your server. ✅ Flexible Customization Options: You can fully customize the inventory according to your needs and server rules. Choose between different outfits and animations to create a unique gaming experience. ✅ Comprehensive Help and Support: With 24/7 support, you can quickly resolve any issues you encounter. Our technical support and user guides are always here to assist you. Shop Now! Take your game to the next level with Inventory 1.0  and enjoy its unique features. Get ready to make a real difference in your roleplaying experience!   --------------------------TEBEX: https://matza.tebex.io/package/7174862 --------------------------
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock