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

reverse engineer


j2k

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

Γεια σας

Εχω ενα μηχανημα χαρακτικο 20ετιας το οποιο δεν το υποστηριζει η εταιρια εδω και παρα πολυ καιρο.

Το λογισμικο για windows x86 ειναι γραμενο σε borland delphi και εχει καποια επιλογη καπου που ενεργοποιει ενα μενου service

και εκει ζηταει καποιο κωδικο τον οποιο δεν τον ξερω και η εταιρια δινει ξερη απαντηση δεν υποστηριζετε το μηχανημα και τιποτα γυρω απο αυτο.

Πρεπει με καποιο τροπο να βρω τον κωδικο με reverse engineering.

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

σε ποιο σημειο γινετε ο ελεγχος και να του αλλαξω το jump/branch η να βαλω καποιο nop για να μπω στο service menu μπας και βγαλω ακρη με τη βλαβη.

Δεν εχει καποιο ειδικο μηχανισμο κλειδωματος δηλαδη απο τους προγραματιστες δεν εχει φτιαχτει ειδικη προστασια

ισα ισα μια προστασια ειναι για τους απλους χρηστες να μην μπαινουνε στο service menu.

Μπορει να πει καποιος πως ξεκιναω ?

Γενικοτερα ξερω καποια c/c++/java και φιλοσοφια προγραμματισμου

αλλα win asmx86 δεν ξερω ψαχνω λοιπον καποιο crash course για το πως να κανω αυτο το πραμα.

 

 

 

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Χωρίς προηγούμενη εμπειρία σε assembly είναι αρκετά δύσκολο να βρεις άκρη. Θα σου πρότεινα να βρεις τη διεύθυνση της συμβολοσειράς που εμφανίζεται στην οθόνη όταν ζητάει τον κωδικό. Κατόπιν, θα πρέπει να εντοπίσεις τη ρουτίνα που χρησιμοποιεί αυτή τη διεύθυνση και λογικά θα είσαι κοντά στο σημείο που θες να ακυρώσεις με NOP.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Εχω γραψει καποια απλα μικρα προγραματακια παλια σε mips asm

(push vars σε stack - call routine - pop vars πραξεις με branch logic κτλπ) αλλα η win asm x86 ειναι σιγουρα κατι διαφορετικο.

Βρηκα ηδη κατι αλλους hardcoded κωδικους μεσα στο εκτελεσιμο και δουλευουνε αλλα ειναι για αλλη δουλεια(ξεκλειδωσα καποια αλλα πραματα σχετικα με αναβαθμισεις firmware)

Τους βρηκα με αναζητηση strings στο ollydbg.

Καποιο tutorial(10φυλο) για winasmx86?

Καταλαβαινω οτι θα χρειαστει και cheatsheet winapi

και tools τυπου resource hacker μπας και βγαλω ακρη απο το gui

Επεξ/σία από j2k
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

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

Οχι μονο περασα την προστασια αλλα βρηκα και τα keys στη registry με μερικες απλες αλλαγες

στην asm απο JE σε JNE.

Με το που αλλαξα τη ροη του jump πηγε και εγραψε μονο του το προγραμα τα keys στη registry.

Του ενεργοποιησα και δυνατοτητες που δεν ειχε...

Επεξ/σία από j2k
  • Like 5
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, j2k είπε

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

Οχι μονο περασα την προστασια αλλα βρηκα και τα keys στη registry με μερικες απλες αλλαγες

στην asm απο JE σε JNE.

Με το που αλλαξα τη ροη του jump πηγε και εγραψε μονο του το προγραμα τα keys στη registry.

Του ενεργοποιησα και δυνατοτητες που δεν ειχε...

Πωπω ευτυχια! Σε ζηλευω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι πολυ χαρα και πολυ τυχη γιατι με την πρωτη αλλαγη που εκανα εγινε αυτο το μαγικο...

Στο x32dbg εψαξα ολα τα strings και καποια λεγανε checkxxxfunctionkey(πολυ παραστατικα strings) κανω follow asm και 6 γραμμες ποιο πανω ειχε ενα JE και λεω

δεν το κανω ψιλοτυχαια JNE?

Μολις το εκανα πηγε μονο του το προγραμμα αυτοξεκλειδωθηκε

και εγραψε τα registration keys στη registry μονο του!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 10 μήνες μετά...
Δημοσ. (επεξεργασμένο)

Λοιπόν εχω ενα ιδιο προβλημα αλλα αυτη τη φορα δεν ειναι σε καποιο υπολογιστη με windows/linux

αλλα σε βιομηχανικο embedded συστημα(fanuc οχι windows-linux) το θεμα ειναι οτι δεν ξερω τι ειδους αρχιτεκτονικης ειναι ο υπολογιστης

αλλα ομως εχω το firmware με ολο το λογισμικο-λειτουργικο.

Πως μπορω να ανιχνευσω καταρχην τι συστημα ειναι ωστε να δω μετα τι assembly θα χρειαστω και πως θα κανω debugging..

Απο οτι ξερω το IDA Pro κανει disassembly σε διαφορες αρχιτεκτονικες..

Επεξ/σία από j2k
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Λοιπον λειτουργικο του firmware ειναι windows embedded compact για arm cpu.

Υπαρχει καποιο virtual machine στυλ vmware/virtualbox για arm cpu ?

Επεξ/σία από j2k
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπορείς να βρεις πιο συγκεκριμένα τι οικογένειας επεξεργαστής είναι; Πιθανό να είναι ARMv6 πχ. Μπορείς με το QEMU να κάνεις emulate διάφορα hw configurations. Είναι λίγο μπελαλίδικο στην αρχή (και σε κάποια σημεία όχι 100% ακριβές) αλλά πιστεύω θα κάνεις δουλειά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα
  • Δημιουργία νέου...