Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Χαιρετώ τους insomniacs... :-)

Μόλις κάνουμε δεξί κλικ σε ένα αρχείο και πάταμε άνοιγμα με σημειοματάριο μας βάζει παντού περίεργους χαρακτήρεσ με πολλούς τόνους μέ ελληνικά γράμματα και τέτοια... Ξέρει κάνεις κάποιο πρόγραμμα με το οποίο μπορώ να βλέπω τι υπάρχει πραγματικά γραμμένο πίσω από τους χαρακτήρες, να μου αποκωδικοποίεί δηλαδή τους χαρακτήρες αυτούς,.. Άμα έχετε κάποιο προγράμματακι στο νου σας ή γράψτε μου το λινκ ή πείτε το νέιμ του...

Ευχαριστώ πολύ σε όλους για της απαντήσεις :-)

  • Απαντ. 41
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Μπορείς να δεις την hex(δεκαεξαδική) μορφή του με προγράμματα όπως το HxD http://mh-nexus.de/en/downloads.php?product=HxD

(ή ψάξε για hex viewer στο google),με αυτόν τον τρόπο θα μπορείς να δεις π.χ. και όλα τα κείμενα που έχει ένα πρόγραμμα.

 

Οτιδήποτε άλλο περνάει σε πολύ υψηλό επίπεδο γνώσεων,αν ξέρεις δηλαδή σε τι γλώσσα(ες) γράφτηκε το πρόγραμμα μπορείς να το περάσεις από decompiler και να δεις τον πυγαίο κωδικά του.

Δημοσ.

Συνήθως βλέπεις την κατάληξη/extension που δηλώνουν τον τύπο του αρχείου και μετά αναζητάς πρόγραμμα επεξεργασίας του πχ rar what is κτλ σε google.

 

Διαφορετικά πας και δοκιμάζεις τυχαία προγράμματα και αλλάζεις την κωδικοποίηση προβολής του αρχείου και τρέχα γύρευε μετά

Δημοσ.

Για τι πράγμα μιλάς; Μήπως για encrypted text ή γενικά π.χ. για ένα εκτελέσιμο;

Αν είναι το 2ο τι ακριβώς κείμενο θέλεις να δεις από ένα exe ή μια jpg εικόνα;

Δημοσ.

Μπορείς να δεις την hex(δεκαεξαδική) μορφή του με προγράμματα όπως το HxD http://mh-nexus.de/en/downloads.php?product=HxD

(ή ψάξε για hex viewer στο google),με αυτόν τον τρόπο θα μπορείς να δεις π.χ. και όλα τα κείμενα που έχει ένα πρόγραμμα.

 

Οτιδήποτε άλλο περνάει σε πολύ υψηλό επίπεδο γνώσεων,αν ξέρεις δηλαδή σε τι γλώσσα(ες) γράφτηκε το πρόγραμμα μπορείς να το περάσεις από decompiler και να δεις τον πυγαίο κωδικά του.

 

σε Ευχαριστω φιλε για την απαντηση...

με το hex viewer μπορω να τα δω σε οτι σηπωτε γλωσσα ειναι γραμενο το αρχειο και οποιος δηποτε ειναι ο τυπος του ? πχ dll exe dat κτλ

τωρα για το decompiler πως μπορω να μαθω σε τι γλωσσα ειναι γραμενο ενα αρχειο... Οι εταιριες δεν θα πουν ουτε θα αναφαιρουν την γλωσσα του

 

Για τι πράγμα μιλάς; Μήπως για encrypted text ή γενικά π.χ. για ένα εκτελέσιμο;

Αν είναι το 2ο τι ακριβώς κείμενο θέλεις να δεις από ένα exe ή μια jpg εικόνα;

ανοιγεις ενα αρχειο οποιοδηποτε και οτιδηποτε τυπου (exe dll inc κτλ) με το σημειοματαριο και σου βγαζει διαφορους χαρακτηρες ελληνικουσ λατινικους με πολλους τονους και τα λοιπα... κατι τετοιο εγω θελω να δω τον πραγματικο του αλγορυθμο τι λεει πραγματικα δηλαδη... τωρα δεν ξερω αμα ειναι encrypted text λογικα αμα ειναι δεν θα μπορει ουτε το προγμραμμα που μου προτεινε ο φιλος παραπανω να το ανοιξει και να το αποκωδικοποιησει...

Δημοσ.

Ψηλέ κάτι δεν έχει καταλάβει σωστά. Το εκτελέσιμο δεν μπορείς να το ανοίξεις και να δεις τι έχει. Αυτό που βλέπεις είναι η προσπάθεια που κάνει το σημειωματάριο να διαβάσει την σειρά από byte και να την ερμηνεύσει ως χαρακτήρες στο ASCII.
Δεν μπορείς να δεις πραγματικά πως έχει γραφτεί το πρόγραμμα, δηλαδή τον κώδικά του. Μόνο την assembly που έχει βγάλει ο compiler που χρησιμοποίησαν οι developers. Μπορείς να την δεις πχ με το Ollydbg αλλά δεν θα καταλάβεις και πολλά, ούτε θα δεις πως δουλεύει το πρόγραμμα.

  • Like 1
Δημοσ.

Μόνο αρχεία κειμένου έχει νόημα να ανοίγεις με text editor. Τα υπόλοιπα (εκτελέσιμα, εικόνες, video κλπ) δεν είναι text, πόσο μάλλον encrypted text.

Δημοσ.

Με έναν hex editor θα δεις τον δεκαεξαδικό κώδικα σε μορφή 00 B3 FF 3A DC:

I_2_tt9.png

 

 

Ένας disassembler/debugger θα σου μετατρέψει τα νούμερα αυτά σε assembly code, κάτι σαν το παρακάτω:

division.gif

 

 

Τώρα, τι θα καταλάβεις από αυτά δεν ξέρω εκτός αν είσαι ο χειριστής του matrix ή παίζεις την assembply στα δάχτυλα, οπότε πες μας τι βλέπεις στην εικόνα.

artworks-000031796388-ehp7rr-original.pn

 

Αν θέλεις να πάρεις τον κώδικα που γράφτηκε το πρόγραμμα, τότε αυτό όπως επισήμανε σωστά ο elf, ανήκει σε υψηλό επίπεδο γνώσεων και απαιτεί reverse engineering και γνώσεις προγραμματισμού και εργαλεία που ανήκουν σε άλλο επίπεδο.

 

Υπάρχει και το reshack (http://www.angusj.com/resourcehacker/)

με το οποίο μπορείς να εξάγεις τα resources των εκτελέσιμων π.χ. εικονίδια, ενσωματωμένες εικόνες, να αλλάξει μενού και κείμανα και να δεις το interface των εκτελέσιμων.

Αυτό μάλλον θα σου δώσει τις περισσότερες πληροφορίες που μπορείς να πάρεις.

  • Like 1
Δημοσ.

Ψηλέ κάτι δεν έχει καταλάβει σωστά. Το εκτελέσιμο δεν μπορείς να το ανοίξεις και να δεις τι έχει. Αυτό που βλέπεις είναι η προσπάθεια που κάνει το σημειωματάριο να διαβάσει την σειρά από byte και να την ερμηνεύσει ως χαρακτήρες στο ASCII.

Δεν μπορείς να δεις πραγματικά πως έχει γραφτεί το πρόγραμμα, δηλαδή τον κώδικά του. Μόνο την assembly που έχει βγάλει ο compiler που χρησιμοποίησαν οι developers. Μπορείς να την δεις πχ με το Ollydbg αλλά δεν θα καταλάβεις και πολλά, ούτε θα δεις πως δουλεύει το πρόγραμμα.

Αα οκ τοτε εγω αυτο πιστευα οτι θα σου βγαλει κανονικα τον αλγοριθμο τις εντολες και τα λοιπα... λογικα το ειπα αφου γραφτηκαν κωδικοποιηθηκαν γιατι να μην μπορουν να αποκωδικοποιηθουν στην γλωσσα του προγραμματισμου του αρχειου?  ευχαριστω παντως για τις απαντηεις...

 

Με έναν hex editor θα δεις τον δεκαεξαδικό κώδικα σε μορφή 00 B3 FF 3A DC:

I_2_tt9.png

 

 

Ένας disassembler/debugger θα σου μετατρέψει τα νούμερα αυτά σε assembly code, κάτι σαν το παρακάτω:

division.gif

 

 

Τώρα, τι θα καταλάβεις από αυτά δεν ξέρω εκτός αν είσαι ο χειριστής του matrix ή παίζεις την assembply στα δάχτυλα, οπότε πες μας τι βλέπεις στην εικόνα.

artworks-000031796388-ehp7rr-original.pn

 

Αν θέλεις να πάρεις τον κώδικα που γράφτηκε το πρόγραμμα, τότε αυτό όπως επισήμανε σωστά ο elf, ανήκει σε υψηλό επίπεδο γνώσεων και απαιτεί reverse engineering και γνώσεις προγραμματισμού και εργαλεία που ανήκουν σε άλλο επίπεδο.

 

Υπάρχει και το reshack (http://www.angusj.com/resourcehacker/)

με το οποίο μπορείς να εξάγεις τα resources των εκτελέσιμων π.χ. εικονίδια, ενσωματωμένες εικόνες, να αλλάξει μενού και κείμανα και να δεις το interface των εκτελέσιμων.

Αυτό μάλλον θα σου δώσει τις περισσότερες πληροφορίες που μπορείς να πάρεις.

Ααα ναι κοιτα αυτο που μου προτεινες ισως να βοειθησει αν και οπως λες ειναι περισσοτερο για gif bitmap jpg και τετοια ενταξει ευχαριστω τοτε :)

Δημοσ.

Αα οκ τοτε εγω αυτο πιστευα οτι θα σου βγαλει κανονικα τον αλγοριθμο τις εντολες και τα λοιπα... λογικα το ειπα αφου γραφτηκαν κωδικοποιηθηκαν γιατι να μην μπορουν να αποκωδικοποιηθουν στην γλωσσα του προγραμματισμου του αρχειου?  ευχαριστω παντως για τις απαντηεις...

 

Η διαδικασία είναι η εξης σε γενικές γραμμές (δεν είναι κωδικοποίηση και αποκωδικοποίηση). Έχεις έναν κώδικα που κάνει κάτι πχ σε C, έστω προσθέτει δύο αριθμούς και έχεις ας πούμε και δύο μεταβλητές: takis και mhtsos. Όταν θα κάνεις compile και θα βγει το εκτελέσιμο (πχ exe) αυτό θα μετατραπεί σε assembly ανάλογα με τον επεξεργαστή σου, έστω ότι θα είναι intel x86. Αυτό που θα μπορείς εσύ τελικά να δεις είναι κάτι τετοιο:

 

movl    -4(%rbp), %edx
movl    -8(%rbp), %eax
movl    %edx, %ecx
addl    %eax, %ecx

Δεν είναι εύκολο να το διαβάσεις και θέλει πολύ χρόνο για να το κάνεις. Σκέψου ότι και από decompiler να το περάσεις (να προσπαθήσεις δηλαδή να κάνεις το αντίστροφο), που σε καμία περίπτωση δεν θα σου κάνει καλή δουλειά ούτε θα βγάλει τον ίδιο κώδικα, έστω λοιπόν ότι θα δουλέψει σωστά, δεν έχεις καμία πληροφορία για το όνομα των μεταβλητών πλέον (την πληροφορία αυτή την πετάει ο compiler). Αντί για takis/Mhtsosθα έχεις α1 και α2. Σκέψου δηλαδή πόσο άσχημο κώδικα θα βγάλει και πόσο δύσκολο θα είναι να το διαβάσεις.

 

Και φυσικά υπάρχουν και μέθοδοι για να μην μπορείς να καταλάβεις τίποτα από την assembly. πχ code obfuscation

 

Όσο για εικόνες, δεν έιναι κάτι το ιδιαίτερο, σε γενικές γραμμές κάθε pixel έχει μία τιμή στο RGB (3 τιμές δηλαδή) και αυτό καθορίζει την εικόνα. Μετά απλά υπάρχουν μέθοδοι συμπίεσης (jpeg Κλπ). Και να τις ανοίξεις με hex editor δεν θα δεις κάτι σημαντικό.

Δημοσ.

Η διαδικασία είναι η εξης σε γενικές γραμμές (δεν είναι κωδικοποίηση και αποκωδικοποίηση). Έχεις έναν κώδικα που κάνει κάτι πχ σε C, έστω προσθέτει δύο αριθμούς και έχεις ας πούμε και δύο μεταβλητές: takis και mhtsos. Όταν θα κάνεις compile και θα βγει το εκτελέσιμο (πχ exe) αυτό θα μετατραπεί σε assembly ανάλογα με τον επεξεργαστή σου, έστω ότι θα είναι intel x86. Αυτό που θα μπορείς εσύ τελικά να δεις είναι κάτι τετοιο:

 

movl    -4(%rbp), %edx
movl    -8(%rbp), %eax
movl    %edx, %ecx
addl    %eax, %ecx

Δεν είναι εύκολο να το διαβάσεις και θέλει πολύ χρόνο για να το κάνεις. Σκέψου ότι και από decompiler να το περάσεις (να προσπαθήσεις δηλαδή να κάνεις το αντίστροφο), που σε καμία περίπτωση δεν θα σου κάνει καλή δουλειά ούτε θα βγάλει τον ίδιο κώδικα, έστω λοιπόν ότι θα δουλέψει σωστά, δεν έχεις καμία πληροφορία για το όνομα των μεταβλητών πλέον (την πληροφορία αυτή την πετάει ο compiler). Αντί για takis/Mhtsosθα έχεις α1 και α2. Σκέψου δηλαδή πόσο άσχημο κώδικα θα βγάλει και πόσο δύσκολο θα είναι να το διαβάσεις.

 

Και φυσικά υπάρχουν και μέθοδοι για να μην μπορείς να καταλάβεις τίποτα από την assembly. πχ code obfuscation

 

Όσο για εικόνες, δεν έιναι κάτι το ιδιαίτερο, σε γενικές γραμμές κάθε pixel έχει μία τιμή στο RGB (3 τιμές δηλαδή) και αυτό καθορίζει την εικόνα. Μετά απλά υπάρχουν μέθοδοι συμπίεσης (jpeg Κλπ). Και να τις ανοίξεις με hex editor δεν θα δεις κάτι σημαντικό.

δηλαδη απο την στιγμη που το μετατρεψεις σε εφαρμογη δεν μπορεις να ξαναδεις οτι ακριβως εγραψες τον αλγοριθμο δηλαδη..

στις εικονες δεν ειναι οντως κατι... και ολα αυτα τα παραπανω που λες ισχυουν για ολες της γλωσσες προγρμματισμου basic c c++ κ τλ?

Δημοσ.

δηλαδη απο την στιγμη που το μετατρεψεις σε εφαρμογη δεν μπορεις να ξαναδεις οτι ακριβως εγραψες τον αλγοριθμο δηλαδη..

στις εικονες δεν ειναι οντως κατι... και ολα αυτα τα παραπανω που λες ισχυουν για ολες της γλωσσες προγρμματισμου basic c c++ κ τλ?

 

Πρακτικά ναι δεν μπορείς να δεις τι έγραψε κάποιος. Αν έχεις υπομονή (και εννοείται έχεις γνώσεις) μπορείς να δεις τι κάνει ένα μικρό κομμάτι ενός κώδικα (πχ πως γίνεται το authentication με serial number και να βρεις το crack του), αλλά το να δεις ολόκληρο εκτελέσιμο τύπου vlc είναι αδύνατο.

 

Ναι ισχύουν για όλες τις γλώσσες που χρησιμοποιούν compiler ( C, C++, C#, FORTRAN Κλπ), και γενικά σε όποια περίπτωση θες να βγάλεις εκτελέσιμο από τον πηγαίο κώδικα. ( Η java είναι λίγο διαφορετική -χρησιμοποιεί virtual machine- αλλά σε πολύ γενικές γραμμές τα ίδια)

Δημοσ.

Όλη αυτή η διαδικασία που περιγράφει ο εξαφανισμένος παραπάνω (ποιος θυμάται άραγε τη σειρά "Η εξαφάνιση του Τζον Αυλακιώτη"; ) λέγεται reverse engineering (http://www.google.gr/#output=search&sclient=psy-ab&q=reverse+engineering+exe&oq=reverse+engi&gs_l=hp.1.2.0l10.275.2425.1.6571.12.11.0.1.1.0.378.2575.0j1j9j1.11.0...0.0...1c.1.12.hp.uYbXm0D46I0&psj=1&bav=on.2,or.r_qf.&bvm=bv.46340616,d.ZWU&fp=b1259f4adee40aec&biw=1024&bih=653), δηλαδή αντίστροφη μηχανική και είναι η διαδικασία που χρησιμοποιούν οι hacker και οι κλέφτες κώδικα για να κλέψουν σημεία κώδικα από εφαρμογές άλλων ώστε να παρουσιάσουν μια δικιά τους εφαρμογή.

Δημοσ.

Χαχα ψηλός ο ένας εξαφανισμένος ο άλλος τι γίνετε ρε παιδιά ?! :D

εγώ βασικά επειδή γενικά μου αρέσει ο προγραμματισμός(δεν έχω ασχοληθεί σοβαρά γιατί όπως λέτε και σεις απέτει 24ωρα μπροστά στην οθόνη) ήθελα να δω πως τα προγραμματίζουν τα αρχεία για αυτό :)

 

To reverse engineering μπορώ να χρησιμοποιήσω και για καλό σκοπό όχι μόνο για hackies?

 

Απαιτήται και γνώση προγραμματισμού για το r eng?

Δημοσ.

Χαχα ψηλός ο ένας εξαφανισμένος ο άλλος τι γίνετε ρε παιδιά ?! :D

εγώ βασικά επειδή γενικά μου αρέσει ο προγραμματισμός(δεν έχω ασχοληθεί σοβαρά γιατί όπως λέτε και σεις απέτει 24ωρα μπροστά στην οθόνη) ήθελα να δω πως τα προγραμματίζουν τα αρχεία για αυτό :)

 

To reverse engineering μπορώ να χρησιμοποιήσω και για καλό σκοπό όχι μόνο για hackies?

 

Απαιτήται και γνώση προγραμματισμού για το r eng?

 

Γενικά με το reverse engineering προσπαθείς από το εκτελέσιμο να καταλάβεις πως λειτουργούν κάποιοι αλγόριθμοι/κομμάτια του κώδικα. Πχ θες να δεις πως δέχεται ένα πρόγραμμα ένα κωδικό, να καταλάβεις τον αλγόριθμο και να τον φτιάξεις έτσι ώστε να μπορείς να παράγεις ψεύτικους ( a.k.a keygen). Πρακτικά "καλός" σκοπός είναι μόνο για να μπορέσεις να καταλάβεις πως δουλεύει ένας ιός/malware γενικότερα, και να φτιάξεις ένα anti malware.

 

Φυσικά και θες γνώσεις προγραμματισμού. Πρέπει να ξέρεις πως φτιάχνεις ένα πρόγραμμα, πως ο compiler δημιουργεί το εκτελέσιμο, να μάθεις assembly, κλπ κλπ. Θέλει να αφιερώσεις χρόνια για να φτάσεις σε κάποιο καλό επίπεδο και να ασχολήσε με σοβαρά προγράμματα και δεν πρόκειτε να φτάσεις groups όπως Razor1911,Skidrow κλπ.  Όχι γιατί δεν έχεις τις δυνατότητες αλλά αν ασχοληθείς με στόχο να γίνεις σαν αυτούς δεν θα το πετύχεις. Πρέπει να σου αρέσει και να σε "τρώει" η περιέργεια.

 

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...