Πώς να συγχωνεύσετε δύο δίσκους σε έναν: επιλογές συγχώνευσης. Hacker's Superglue: ένας νέος τρόπος για να κολλήσετε δύο εκτελέσιμα αρχεία Συνδέστε δύο φωτογραφίες

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

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

Αυτές οι πληροφορίες θα σας επιτρέψουν να μην κάνετε λάθη και θα εξοικονομήσετε χρόνο.

Πώς να αποφύγετε λάθη ως αρχάριος όταν κάνετε μια επιλογή

Υπάρχουν τρεις τύποι τρόπων με τους οποίους μπορείτε να συνδυάσετε 2 βίντεο σε ένα.

  • Διαδικτυακοί συντάκτες

Για παράδειγμα, www.youtube.com/editor , www.moviemasher.com , www.cellsea.com/free-online-video-editor .

  • Απλά προγράμματα

VideoMONTATION , Windows Movie Maker ή Windows Movie Maker, Pinnacle VideoSpin, Movavi Video Editor.

  • Premiere Pro

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

Διαδικτυακές υπηρεσίες

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

Ποια είναι λοιπόν τα οφέλη που μπορείτε να περιμένετε όταν επιλέγετε μια διαδικτυακή υπηρεσία; Δεν χρειάζεται να κατεβάσετε τίποτα. Το εκμεταλλεύτηκες μια φορά και ξέχασες αυτή την εμπειρία σαν κακό όνειρο. Κανένα ίχνος στον υπολογιστή, όλοι είναι ευχαριστημένοι.

Προγράμματα

Η δεύτερη μέθοδος είναι πιο προηγμένη. Θα φαινόταν ότι. Ωστόσο, το Video Editing και το Pinnacle στερούνται απίστευτα χαρακτηριστικά. Δεν θα μπορείτε να κατεβάσετε το Movie Maker εάν έχετε jailbreak Windows, κάτι που νομίζω ότι έχουν οι περισσότεροι. Το Movavi κοστίζει.

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

Έχω διαβάσει πολλά άρθρα με ένα εκατομμύριο διαβεβαιώσεις ότι το πρόγραμμα είναι δωρεάν και όλα είναι απλά υπέροχα, αλλά στην πραγματικότητα υπάρχουν σχεδόν πάντα πολλές ελλείψεις. Στο τέλος, το βαρέθηκα και τα παράτησα όλα. Το Movavi με ευχαριστούσε περισσότερο από τους άλλους και δεν φαίνεται να με απασχολούν τα χρήματα, αλλά τι θα πληρώσω; Θέλω να αποκτήσω εξοπλισμό υψηλής ποιότητας που θα μου είναι χρήσιμος στο μέλλον.

Σκεφτείτε το, εάν αργότερα θέλετε να αναπτύξετε τις δεξιότητές σας, να δουλέψετε περισσότερο με βίντεο και να επιτύχετε κάποιο ενδιαφέρον αποτέλεσμα, και μετά επιτυχία σε αυτόν τον τομέα, τότε δεν θα πετύχετε. Θα είσαι πάντα στο επίπεδο ενός λαϊκού, μόνο και μόνο επειδή χρησιμοποιείς αυτά τα μέσα για να πραγματοποιήσεις τον στόχο σου.

Πρώτον, μην ξεχνάτε το κύρος και, δεύτερον, ένα απλό πρόγραμμα δεν θα αντιμετωπίσει μια σοβαρή εργασία. Δεν θα μπορείτε να πηδήξετε πάνω από το κεφάλι σας, ακόμα κι αν είστε έτοιμοι για αυτό. Θα πρέπει να χτυπάτε συνεχώς γύρω από τον θάμνο με ήδη αποδεδειγμένα μέσα. Για την ανάπτυξη θα πρέπει να κατεβάσετε το Premiere Pro.

Premiere Pro

Το απίστευτο μπορεί να επιτευχθεί εδώ. Χάρη σε αυτήν, γίνονται όλες οι σύγχρονες ταινίες, προγράμματα, βίντεο κ.λπ. Εδώ εργάζονται οι ειδικοί. Μερικοί από αυτούς μπορεί να δημιουργούν σκατά, αλλά το κάνουν στο Premier Pro.

Παρεμπιπτόντως, για κάποιο λόγο είναι το όνομα που τρομάζει συχνότερα τους νεοφερμένους: "Λοιπόν, δεν θα καταλάβω τίποτα εδώ, οπότε δεν θα προσπαθήσω καν". Χρησιμοποιώντας διαδικτυακές υπηρεσίες και απλούς συντάκτες, κόβετε τα φτερά σας. Δεν δίνετε στον εαυτό σας ούτε μια ευκαιρία να εξελιχθεί περαιτέρω, να γίνει επαγγελματίας στο χόμπι σας.

Τώρα πρέπει να λύσετε μια πολύ απλή εργασία, δηλαδή να μετατρέψετε δύο βίντεο σε ένα. Μόνο με αυτή την απόφαση μπορείτε να καταστρέψετε ολόκληρο το μέλλον σας. Μήπως ήρθε η ώρα να ξεπεράσετε αυτό το εμπόδιο και επιτέλους να κατεβάσετε αυτό για το οποίο όλοι μιλούσαν εδώ και καιρό και να δοκιμάσετε τις δυνάμεις σας σε αυτό;

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

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

Πώς να κολλήσετε ένα βίντεο σε λίγα δευτερόλεπτα

Λοιπόν, τώρα θα σας δείξω πώς να ενεργήσετε. Ανοίξτε το πρόγραμμα και αμέσως, για ευκολία, βρείτε στην κορυφή του μενού "Παράθυρο" - "Περιβάλλοντα Εργασίας" - "Επεξεργασία".

Τώρα ανοίξτε το φάκελο με τα βίντεό σας. Απλώς χρησιμοποιήστε το "My Computer" ή ανοίξτε έναν φάκελο στην επιφάνεια εργασίας σας. Δεν χρειάζεται να κάνετε ή να πατήσετε τίποτα στο ίδιο το πρόγραμμα. Πρώτα σύρετε το πρώτο βίντεο στην κάτω περιοχή, περιμένετε να φορτώσει και μετά το δεύτερο.

Βασικά έτοιμο. Όμως, όπως βλέπετε, κατέληξα σε μια μικρή απόσταση μεταξύ των κυλίνδρων. Επιλέγω το εργαλείο Βέλος.

Κρατώ πατημένο το αριστερό κουμπί του ποντικιού και μετακινώ το δεύτερο βίντεο πιο κοντά στο πρώτο.

Ολα. Ετοιμος. Ωστόσο, υπάρχει μια μικρή απόχρωση. Εάν θέλετε να αποθηκεύσετε το βίντεο, τότε στο Premiere Pro δεν θα μπορείτε να χρησιμοποιήσετε την τυπική μέθοδο "Αρχείο" - "Αποθήκευση ως...". Διαφορετικά, το βίντεο μπορεί να ανοίξει μόνο χρησιμοποιώντας την ίδια Πρεμιέρα.

Στην ίδια ενότητα "Αρχείο", επιλέξτε "Εξαγωγή" και, στη συνέχεια, βρείτε το "Περιεχόμενο πολυμέσων".

Ολα. Δημιουργήσατε το πρώτο σας έργο στο Premiere Pro. Ετοιμος.

Μπορείτε επίσης να βρείτε το άρθρο για το οποίο μιλάω. Είναι ήδη στο blog μου. Μπορείτε επίσης να εγγραφείτε στο ενημερωτικό δελτίο και να λαμβάνετε περισσότερες χρήσιμες αναρτήσεις απευθείας στα εισερχόμενά σας. Θα σας τα πω όλα για αυτό.

Εάν δεν θέλετε να περιμένετε και σας ενδιαφέρει πραγματικά το βίντεο και το Premier Pro, σας συμβουλεύω να πάρετε ένα πολύ χρήσιμο μάθημα. Επιπλέον, είναι ο μόνος στο Διαδίκτυο. Ολοκληρωμένο βίντεο μάθημα στα ρωσικά "Super Premiere Pro" .

Εντάξει όλα τελείωσαν τώρα. Τώρα ξέρεις όλα όσα χρειάζεσαι και μπορώ να σου πω αντίο. Εγγραφείτε στο my Ομάδα VKontakte . Μέχρι την επόμενη φορά.

Στην πρακτική των χάκερ, συχνά προκύπτει η ανάγκη
ενσωματώστε τον κώδικά σας στο τελικό αρχείο exe(όχι απαραίτητα κακόβουλο) ώστε να λαμβάνει πρώτα τον έλεγχο, να μην προκαλεί κατάχρηση από antivirus και γενικά να συμπεριφέρεται όσο πιο κρυφά γίνεται, χωρίς να είναι ευδιάκριτο. Πως να το κάνεις? Ξέρουμε πώς και τώρα θα σας το εξηγήσουμε αναλυτικά.

Υπάρχει μια ολόκληρη οικογένεια βοηθητικών προγραμμάτων που έχουν σχεδιαστεί για τη συγκόλληση πολλών προγραμμάτων σε ένα αρχείο, με το γενικό όνομα "joiners" (από το αγγλικό "joiner" - "connector"):
Joiner της Blade, Υπερκόλλα, MicroJoiner, Juntadorκαι πολλοί άλλοι. Η λεπτομερής αναθεώρησή τους βρίσκεται στο άρθρο "". Ωστόσο, η ποιότητα της κόλλησης αφήνει πολλά επιθυμητά. Οι περισσότεροι συνεργάτες απλώς τοποθετούν το ενσωματωμένο αρχείο σε μια επικάλυψη του κύριου αρχείου exe και, όταν εκκινηθεί, το αντιγράφουν σε δίσκο σε έναν προσωρινό φάκελο ή, ακόμη πιο συχνά, στον κατάλογο συστήματος των Windows, στον οποίο ένας απλός χρήστης που δεν είναι διαχειριστής , φυσικά, δεν έχει δικαιώματα εγγραφής και η λειτουργία καλύπτεται με χάλκινη λεκάνη. Σε κάθε περίπτωση, η αντιγραφή απαιτεί κάποιο χρόνο, επιβραδύνοντας τη φόρτωση των προγραμμάτων, γεγονός που δημιουργεί αόριστες υποψίες στο κεφάλι του χρήστη.

Οι πιο προηγμένοι ξυλουργοί εργάζονται με βάση την αρχή
εκτελέσιμα προγράμματα συσκευασίας αρχείωνκαι προβάλετε το ενσωματωμένο exe απευθείας στο λειτουργικό
μνήμη, η οποία όχι μόνο επιταχύνει τη φόρτωση, αλλά επίσης, από την άποψη της μορφής PE, φαίνεται πολύ περισσότερο
πολιτικά ορθό («τίμιο» αρχείο PE με επικάλυψη είναι σπάνιο).
Ωστόσο, όλοι οι σύνδεσμοι, χωρίς εξαίρεση, αργά ή γρήγορα καταλήγουν σε βάσεις δεδομένων προστασίας από ιούς, καθώς είναι έτοιμα βοηθητικά προγράμματα στα οποία είναι εύκολο να εντοπιστεί μια μόνιμη υπογραφή (ακόμα και αν είναι κατασκευασμένα σε πολυμορφική βάση).

Οι κατάλληλοι χάκερ δεν συμπεριφέρονται με αυτόν τον τρόπο και κολλούν προγράμματα από μόνοι τους. Και δεν είναι καθόλου δύσκολο! Το μόνο που χρειάζεστε είναι ένας πιστός φίλος και ελάχιστες δεξιότητες προγραμματισμού C. Πριν όμως πάρουμε τον ταύρο από τα κέρατα, ας κάνουμε μια σημαντική διευκρίνιση. Ο κώδικας που εισάγεται δεν χρειάζεται να είναι ιός, worm, rootkit ή οποιαδήποτε άλλη κακόβουλη μόλυνση, επομένως, προς αποφυγή παρεξηγήσεων, θα συμφωνήσουμε να τον ονομάσουμε X-code.

Πώς θα προχωρήσουμε;

Κάθε αρχείο exe εισάγει μία ή περισσότερες δυναμικές βιβλιοθήκες (Βιβλιοθήκη Dynamic Link ή DLL για συντομία) που αναφέρονται στον πίνακα εισαγωγής. Όταν εκκινείται ένα αρχείο exe, ο φορτωτής συστήματος αναλύει τον πίνακα εισαγωγής, φορτώνει όλες τις δυναμικές βιβλιοθήκες που αναφέρονται σε αυτόν, καλώντας τη συνάρτηση DllMain για να αρχικοποιήσει κάθε αρχείο DLL και μόνο μετά από αυτό μεταφέρει τον έλεγχο στο αρχικό σημείο εισόδου (Αρχικό σημείο εισόδου ή OEP για συντομία) του εκκινημένου αρχείου exe .

Έτσι, εάν προσθέσουμε το δικό μας DLL στον πίνακα εισαγωγής του πειραματικού αρχείου exe, το πρόβλημα της έγχυσης του κώδικα X θα λυθεί με επιτυχία. Το πιο αξιοσημείωτο είναι ότι το DLL μπορεί να γραφτεί σε οποιαδήποτε γλώσσα (ακόμα και σε γλώσσα assembly, ακόμα και σε DELPHI) και είναι απολύτως ανθεκτικό στα antivirus, αφού οργανικά δεν μπορούν να αναγνωρίσουν μια άγνωστη μόλυνση. Α ναι... Ευρετικοί αναλυτές. Αλλά αυτά τα πράγματα είναι πολύ εύκολο να τα παρακάμψετε (το οποίο είναι το θέμα πολλών άρθρων, συμπεριλαμβανομένου του δικού μου, που μπορείτε να βρείτε στο
http://nezumi.org.ru).

Προετοιμασία για πειράματα

Πριν εμβαθύνουμε στη βασική δομή ενός αρχείου PE, είναι καλή ιδέα να αποκτήσετε μια βασική κατανόηση του τρόπου λειτουργίας του. Το MSDN περιλαμβάνει μια προδιαγραφή για τη μορφή PE ("Microsoft Portable Executable and Common Object File Format Specification"), γραμμένη σε εχθρικά αγγλικά για εμάς και απευθύνεται κυρίως σε ειλικρινείς προγραμματιστές. Ο Myshchkh διόρθωσε αυτό το ελάττωμα μεταφράζοντας τις προδιαγραφές στα ρωσικά και επικεντρώνοντάς τις εκ νέου στους χάκερ. Ένα ηλεκτρονικό αντίγραφο είναι διαθέσιμο για δωρεάν λήψη στη διεύθυνση
http://nezumi.org.ru/souriz/PE-desc-n-inject.zip
και στο δίσκο στο περιοδικό.

Εντάξει, τώρα ας ετοιμάσουμε μια "drosophila" που έχει σχεδιαστεί για την εφαρμογή κώδικα X. Ένα παράδειγμα αυτού, γραμμένο σε C, δίνεται παρακάτω:

#περιλαμβάνω main() ( printf("I"m nezumi\n"); //εμφανίσει κάτι στην οθόνη }

Το μεταγλωττίζουμε με οποιονδήποτε κατάλληλο μεταγλωττιστή (για παράδειγμα, στην περίπτωση του Microsoft Visual C++, η γραμμή εντολών θα μοιάζει με αυτό: "$cl.exe inject.c"). Μετά από αυτό, δημιουργείται το αρχείο inject.exe στο δίσκο, το οποίο κατά την εκκίνηση εμφανίζει τον ακόλουθο χαιρετισμό στην οθόνη (σημειώστε ότι πρόκειται για ένα πρόγραμμα κονσόλας που πρέπει να εκκινηθεί κάτω από το FAR ή τον τυπικό διερμηνέα εντολών cmd.exe. εκκίνησης από τον Explorer, το παράθυρο της κονσόλας θα κλείσει αυτόματα αμέσως μετά το τέλος του προγράμματος και δεν θα δούμε ουρά):

$inject.exe
Είμαι ο nezumi

Έχοντας ασχοληθεί με το “drosophila”, θα ετοιμάσουμε μια δυναμική βιβλιοθήκη, δηλαδή τον ίδιο τον κώδικα Χ που θα εφαρμόσουμε μέσα στο inject.exe. Στην απλούστερη περίπτωση, ο πηγαίος κώδικας θα μοιάζει με αυτό:

#περιλαμβάνω #περιλαμβάνω // δημιουργία μιας εικονικής συνάρτησης εξαγωγής, // το οποίο στη συνέχεια θα εισάγει η «Drosophila»__declspec(dllexport) int dummy())( return 0;) /*σημείο εισόδου σε ένα dll που αποκτά τον έλεγχο υπό διάφορες συνθήκες*/ BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) ( //μήνυμα χαιρετισμού που εμφανίζεται πριν από την έναρξη του Drosophilaif (fdwReason==DLL_PROCESS_ATTACH) printf("hello,world!\n"); //Το μήνυμα χαιρετισμού τυπώθηκε πριν την έξοδο της Δροσοφίληςif (fdwReason==DLL_PROCESS_DETACH) printf("αντίο, κόσμο!\n"); )

Λάβετε υπόψη ότι το DllMain, σε αντίθεση με το EntryPoint, καλείται επανειλημμένα: α) κατά τη σύνδεση σε μια διεργασία. β) όταν ολοκληρώνεται μια διαδικασία ή εκφορτώνεται μια δυναμική βιβλιοθήκη χρησιμοποιώντας τη λειτουργία FreeLibrary API. γ) όταν μια διεργασία δημιουργεί ένα νέο νήμα. δ) με την ολοκλήρωση ενός από τα υπάρχοντα νήματα διεργασίας. Με άλλα λόγια, το DllMain σάς επιτρέπει να παρακολουθείτε ορισμένα συμβάντα του συστήματος και να ανταποκρίνεστε κατάλληλα σε αυτά. Σε αυτήν την περίπτωση, βγάζουμε "γεια, κόσμος!" πριν κυκλοφορήσει το «Drosophila» και το «αντίο, κόσμο!» πριν ολοκληρώσει το έργο του.

Η μεταγλώττιση μιας δυναμικής βιβλιοθήκης πραγματοποιείται ως εξής: "$cl.exe injected_dll.c /LD", όπου ο διακόπτης '/LD' λέει στον μεταγλωττιστή ότι είναι απαραίτητο να δημιουργήσει ένα DLL και όχι ένα EXE (όπως συμβαίνει με Προκαθορισμένο).

Έγχυση X-DLL στον πίνακα εισαγωγής Drosophila

Παίρνουμε το hiew στις πατούσες μας, ανοίγουμε το αρχείο inject.exe, πηγαίνουμε σε λειτουργία hex μέχρι , πατάμε για να εμφανίσετε την κεφαλίδα PE, κάντε κλικ (Dir) και μεταξύ άλλων στοιχείων IMAGE_DATA_DIRECTORY, επιλέξτε την ενότητα εισαγωγής (Εισαγωγή), που βρίσκεται στην περίπτωσή μας στη διεύθυνση RVA ίση με 5484h και εκτείνεται σε πλάτος 28 ωρών byte (βλ. Εικόνα 1).

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

Η διπλή λέξη που βρίσκεται σε μετατόπιση 80 ωρών από την αρχή της κεφαλίδας PE (αναγνωρίζεται εύκολα οπτικά από την υπογραφή PE) είναι η διεύθυνση RVA που δείχνει στον πίνακα καταλόγου εισαγωγής και η επόμενη διπλή λέξη αποθηκεύει το μέγεθός της. Για να ψάξετε λοιπόν στον πίνακα
Η εισαγωγή hiew είναι εντελώς προαιρετική.

Ο πίνακας εισαγωγής είναι μια μάλλον πολύπλοκη ιεραρχική δομή. Η κορυφή της ιεραρχίας καταλαμβάνεται από τη δομή Εισαγωγή πίνακα καταλόγου, η οποία είναι στην πραγματικότητα μια σειρά από δευτερεύουσες δομές του τύπου IMAGE_IMPORT_DESCRIPTOR, καθεμία από τις οποίες περιέχει έναν δείκτη RVA στο όνομα της φορτωμένης δυναμικής βιβλιοθήκης, συνδέσμους προς OriginalFirstThunk και FirstThunk με ονόματα/τακτικά των εισαγόμενων συναρτήσεων (και το πεδίο OriginalFirstThunk είναι προαιρετικό και μπορεί να ισούται με μηδέν). Δύο άλλα πεδία - TimeDateStamp (χρονοσήμανση) και ForwarderChain (προώθηση) - είναι επίσης προαιρετικά, και επομένως για να συνδέσουμε το δικό μας DLL πρέπει να συμπληρώσουμε μόνο δύο πεδία της δομής IMAGE_IMPORT_DESCRIPTOR: Όνομα και FirstThunk και επίσης να δημιουργήσουμε έναν πίνακα διευθύνσεων εισαγωγής (συντομογραφία IAT) , εισάγοντας τουλάχιστον ένα όνομα (στην περίπτωση αυτή
ανδρείκελο).

typedef struct _IMAGE_IMPORT_DESCRIPTOR ( ένωση ( Χαρακτηριστικά DWORD; //0 για τον τερματισμό του περιγραφέα μηδενικής εισαγωγήςDWORD OriginalFirstThunk; // RVA στο αρχικό μη δεσμευμένο IAT). DWORD TimeDateStamp; // TimeDateStamp DWORD ForwarderChain; // -1 εάν δεν υπάρχουν προωθητές Όνομα DWORD; // όνομα του dll DWORD FirstThunk; // RVA προς IAT ) IMAGE_IMPORT_DESCRIPTOR;

Εάν, αντί για μια αρμονική ιεραρχία δομών, έχει δημιουργηθεί ένα χάος στο κεφάλι μας, μην ανησυχείτε - αυτό είναι φυσιολογικό! Σταδιακά θα κατασταλάξει και όλες οι δομές θα μπουν στη θέση τους, οπότε ας τις αφήσουμε να ωριμάσουν και ας επικεντρωθούμε στα τρέχοντα προβλήματα. Για να ενσωματώσετε το X-DLL στον πίνακα καταλόγου εισαγωγής, πρέπει να προσθέσετε μια άλλη παρουσία της δομής IMAGE_IMPORT_DESCRIPTOR. Αλλά δεν θα είναι δυνατό να γίνει αυτό ακριβώς έτσι, αφού αμέσως μετά το τέλος του πίνακα καταλόγου εισαγωγής ξεκινά το IAT της πρώτης δυναμικής βιβλιοθήκης και απλά δεν έχουμε πού να στριμώξουμε, εκτός αν, φυσικά, μετακινήσουμε το Εισαγωγή πίνακα καταλόγου σε κάποιο άλλο μέρος! Και τι?! Και θα ξαναπρογραμματίσουμε!

Επαναλαμβάνουμε ξανά την περιγραφόμενη ακολουθία ενεργειών με το hiew, πηγαίνοντας στην αρχή του πίνακα εισαγωγής (ή μάλλον, όπως ήδη γνωρίζουμε, στο πρώτο στοιχείο του πίνακα καταλόγου εισαγωγής), πατήστε («αστερίσκος» στο αριθμητικό πληκτρολόγιο) και, κινούμενοι με τα πλήκτρα του δρομέα, επισημάνετε 28h byte σε μπορντό χρώμα (το μέγεθος του πίνακα καταλόγου εισαγωγής). Μετά από αυτό πιέζουμε ξανά και πατώντας , αποθηκεύστε το μπλοκ σε ένα αρχείο, ονομάζοντάς το idt-org για σαφήνεια.

Τώρα, κάνοντας κύλιση στο αρχείο, κάντε κλικ Μέχρι να φτάσουμε στην επιχειρησιακή έκταση του ελεύθερου χώρου που καταλαμβάνεται από μια μεγάλη σειρά από μηδενικά. Στην περίπτωσή μας, αυτή η τοποθεσία βρίσκεται στο 405810h, αμέσως μετά το τέλος του πίνακα εισαγωγής.

Στη συνέχεια, πρέπει να αντιγράψουμε τον αρχικό πίνακα καταλόγου εισαγωγής σε μια νέα θέση, χωρίς να ξεχνάμε να δεσμεύσουμε χώρο για ένα στοιχείο δομής του τύπου IMAGE_IMPORT_DESCRIPTOR, στο οποίο θα τοποθετήσουμε τη δυναμική βιβλιοθήκη μας λίγο αργότερα. Θα αρχικοποιηθεί πρώτα, κάτι που είναι πολύ χρήσιμο για την καταπολέμηση των αντιιών που ανοσοποιούν αρχεία exe με την ένεση τους με ένα ειδικό εμβόλιο dll που ελέγχει την ακεραιότητα των περιεχομένων της εικόνας του εκτελέσιμου αρχείου.

Επειδή, όπως είναι εύκολο να υπολογιστεί, το μέγεθος της δομής IMAGE_IMPORT_DESCRIPTOR είναι 14h byte και η μη εκχωρημένη περιοχή ξεκινά από τη διεύθυνση 405810h, πρέπει να μετακινήσουμε τον κέρσορα στη διεύθυνση 405824h, πατήστε , επιλέξτε 28h byte (το μέγεθος του αρχικού πίνακα καταλόγου εισαγωγής) και κάντε κλικ ξανά και, στη συνέχεια, φροντίστε να μετακινήσετε τον κέρσορα στην αρχή του επιλεγμένου μπλοκ. Επόμενο κλικ (Get Block), εισάγουμε το όνομα του αρχείου στο οποίο μόλις αποθηκεύσαμε το μπλοκ - idt-org και το διαβάζουμε από το δίσκο.

Τώρα επιστρέφουμε στην αρχή του αρχείου και προσαρμόζουμε τη διεύθυνση RVA του πίνακα εισαγωγής, που σε αυτήν την περίπτωση θα είναι 5824h. Ίσως έχετε μια ερώτηση: γιατί 5824h και όχι 405824h;! Ναι, επειδή οι διευθύνσεις RVA λαμβάνονται αφαιρώντας τη βασική διεύθυνση (που είναι γραμμένη στην κεφαλίδα του αρχείου PE και στην περίπτωσή μας ίση με 400000h) από την εικονική διεύθυνση (ίση με 405824h). Επιπλέον, λαμβάνοντας υπόψη τη σειρά προτεραιότητας των byte που υιοθετείται στους επεξεργαστές x86 (τα λιγότερο σημαντικά bit βρίσκονται σε μικρότερες διευθύνσεις), θα πρέπει να γράψουμε 24 58, και όχι 58 24, όπως κάνουν πολλοί αρχάριοι χάκερ, και μετά αναρωτιόμαστε γιατί δεν συμβαίνει δουλειά.

Επομένως, ανοίξτε το αρχείο inject.exe στο hiew"e, βρείτε την υπογραφή PE, μετακινήστε τον κέρσορα προς τα κάτω στο byte των 80 ωρών, δείτε το 84 54 εκεί (βλ. Εικόνα 1), κάντε κλικ για να επιτρέψετε την επεξεργασία, αλλάξτε τη διεύθυνση σε 24 58, αποθηκεύστε τις αλλαγές κατά και βγαίνουμε... για μπύρα. Η μπύρα για τους χάκερ είναι ιερή!

Ελέγχουμε τη λειτουργικότητα του αρχείου - τι γίνεται αν καταστραφεί;! Εκκινούμε το inject.exe και (αν όλες οι λειτουργίες έγιναν σωστά) θα εμφανιστεί στην οθόνη ένας θριαμβευτικός χαιρετισμός. Διαφορετικά, το σύστημα θα αρνηθεί τη λήψη του αρχείου ή θα κάνει εξαίρεση.

Έχοντας βρέξει τον ξηρό λαιμό μας, προχωράμε στο πιο δύσκολο και πιο σημαντικό κομμάτι - συμπληρώνοντας τη δομή IMAGE_IMPORT_DESCRIPTOR. Ας ξεκινήσουμε μετακινώντας τον κέρσορα στο τέλος του πίνακα καταλόγου εισαγωγής, φέρνοντάς τον στη διεύθυνση 405850h και σημειώνοντας το όνομα της εικονικής συνάρτησης, που τελειώνει σε μηδέν και προηγείται δύο μηδενικά, ακολουθούμενο από το όνομα της δυναμικής βιβλιοθήκης που γίνεται ένεση , injected_dll.dll. Ωστόσο, η σειρά της διάταξης τους μπορεί να είναι διαφορετική.

Αφού το κάνουμε αυτό, μεταβαίνουμε στο πρώτο byte που δεσμεύσαμε προηγουμένως για τη δομή IMAGE_IMPORT_DESCRIPTOR και αρχίζουμε να δημιουργούμε πλάκες. Η πρώτη διπλή λέξη αφήνεται ίση με το μηδέν. Ακολουθείται από 4 byte που διατίθενται για το TimeDataStamp και εμείς, θέλοντας να παραστραφούμε λίγο, θα προσθέσουμε εδώ IAT, δηλαδή μια διπλή λέξη που περιέχει τη διεύθυνση RVA της εισαγόμενης συνάρτησης. Στην περίπτωσή μας, αυτή η συνάρτηση ονομάζεται εικονική και το όνομά της (προηγούνται δύο μηδενικά!) ξεκινά με τη διεύθυνση RVA 5850h. Λαμβάνοντας υπόψη την αντίστροφη σειρά byte στο x86, γράφουμε: 50 58. Έχοντας παραλείψει την επόμενη διπλή λέξη (Forwarder Chain), στο πεδίο Name γράφουμε τη διεύθυνση RVA του ονόματος της δυναμικής βιβλιοθήκης που έχει εγχυθεί injected_dll.dll, στο περίπτωση ίση με 5858h. Απομένει να συμπληρώσετε το τελευταίο πεδίο - Εισαγωγή πίνακα διευθύνσεων, που περιέχει τη διεύθυνση RVA του πίνακα IAT, το οποίο τοποθετήσαμε πάνω από το πεδίο TimeDateStamp με διεύθυνση RVA ίση με 5814h.

Αυτό είναι όλο, στην πραγματικότητα... Μετά την προσθήκη της νέας δομής IMAGE_IMPORT_DESCRIPTOR στον πίνακα Import Directory Table, ο τελευταίος θα μοιάζει με αυτό:

00405810:00 00 00-50 58 00 00-00 00 00 00-58 58 00 00 PX XX .00405820:14 58 00 00-AC 54 00 000000 ¶ 000000 Τ .00405830 : 00 58 00 00-00 50 00 00-00 00 00 00-00 00 00 00 x P.00405840: 00 00 00 00-00 00 00 00-00 00 00 00 00 00 00 00 64 75 -6d 6d 79 00-69 6E 6A 65-63 74 65 64 εικονική ένεση .00405860:5F 64 6C 6C-2E 64 6C 6C-00 00 00 00-00 00 00 00 _dll.

Αυτό που μένει είναι ένα απλό ασήμαντο. Πρέπει να επιστρέψουμε στην αρχή του αρχείου, να μετρήσουμε 80h byte από την κεφαλίδα PE, διορθώνοντας τον δείκτη στον πίνακα εισαγωγής από 5824h σε 5810h και αυξάνοντας το μέγεθός του σε 3Ch. Αποθηκεύουμε τις αλλαγές που έγιναν και, αφού τραβήξουμε περισσότερο αέρα στο στήθος μας, εκκινούμε το αρχείο
inject.exe:

$inject.exe
Γειά σου Κόσμε!
Είμαι ο nezumi
αντίο κόσμε!

Δουλεύει! Και όχι μόνο λειτουργεί, αλλά λειτουργεί πολύ καλά. Η εφαρμοσμένη δυναμική βιβλιοθήκη εμφανίζει υπάκουα "γεια, κόσμο!" ακόμη και πριν κυκλοφορήσει το αρχείο «drosophila» και «αντίο, κόσμο!» λίγο πριν τελειώσει! Ομορφιά! Αλλά... το εξωτερικό DLL μας ενοχλεί πραγματικά, προκαλώντας μια φυσική επιθυμία να το σπρώξουμε κάπου πιο μακριά. Και εδώ περνάμε ομαλά στο δεύτερο μέρος της ιστορίας μας.

Αντιγραφή X-DLL σε ροή NTFS

Το σύστημα αρχείων NTFS διαφέρει ευνοϊκά από το FAT καθώς υποστηρίζει ροές. Ονομάζονται επίσης χαρακτηριστικά, αλλά για να μην τα συγχέουμε με τα χαρακτηριστικά μόνο για ανάγνωση, θα παραμείνουμε στον πρώτο όρο αποθηκεύει τα τρέχοντα δεδομένα αρχείου Είναι το μέγεθός του που εμφανίζεται από την Εξερεύνηση των Windows και τους προηγμένους διαχειριστές αρχείων, όπως το FAR. Ωστόσο, μπορούμε να δημιουργήσουμε επιπλέον ροές διαχωρίζοντας το όνομά τους από το όνομα του αρχείου με άνω και κάτω τελεία (":"), για παράδειγμα: my_file:my_stream1, my_file:my_stream2. Τα τυπικά εργαλεία των Windows δεν υποστηρίζουν την εργασία με επώνυμες ροές και επομένως η πρόσβαση στο περιεχόμενό τους δεν είναι τόσο εύκολη. Δεν υπάρχει (τυπικός) τρόπος να προσδιοριστεί εάν ένα δεδομένο αρχείο έχει ονομάσει ροές ή όχι.

Νιώθεις πού πάω με αυτό; Ας κρύψουμε το X-DLL μέσα στο inject.exe, τοποθετώντας το σε μια ροή με όνομα. Προσοχή! Αυτό δεν είναι καθόλου το ίδιο με το να κολλάς ανόητα δύο αρχεία μεταξύ τους, όπως κάνουν οι περισσότεροι χαριτωμένοι. Κατά την αντιγραφή X-DLL σε μια ροή NTFS, το προφανές μέγεθος του "drosophila" δεν αυξάνεται και όταν ανοίγετε το αρχείο inject.exe με τη λειτουργία fopen("inject.exe", "rb"), δεν θα υπάρχει ίχνη παρουσίας X-DLL σε αυτό! Επιπλέον, κατά τη μετάδοση ενός αρχείου μέσω http για σάρωση από μια διαδικτυακή υπηρεσία προστασίας από ιούς, μεταδίδεται μόνο μια ροή χωρίς όνομα (που περιέχει ένα χρήσιμο πρόγραμμα χωρίς X-DLL) και, φυσικά, τα προγράμματα προστασίας από ιούς δεν θα εντοπίσουν τίποτα σε αυτό. Παρεμπιπτόντως, τα περισσότερα προγράμματα προστασίας από ιούς σαρώνουν μόνο το ανώνυμο νήμα! Έτσι, το X-DLL μπορεί να αισθάνεται σχετικά ασφαλές, ζεστό, στεγνό και άνετο.

Είναι σαφές το πρόγραμμα; Τότε ας δράσουμε. Ανοίξτε το inject.exe στο hiew, μεταβείτε στον πίνακα εισαγωγής με τον συνηθισμένο τρόπο: , , , <стрелка «вниз»>, . Αλλάζουμε το όνομα της δυναμικής βιβλιοθήκης injected_dll.dll σε inject.exe:x.dll, όπου το inject.exe είναι το όνομα του πειραματικού αρχείου στο οποίο πρόκειται να εισάγουμε το X-DLL και το x.dll είναι το όνομα του η ίδια η δυναμική βιβλιοθήκη που θα εγχυθεί.
Τώρα πρέπει να αντιγράψετε το injected_dll.dll στο inject.exe:x.dll, κάτι που είναι εύκολο να το κάνετε χρησιμοποιώντας FAR Μετακινώντας τον κέρσορα στη δυναμική βιβλιοθήκη injected_dll.dll, κάντε κλικ και γράψτε "inject.exe:x.dll". Ολα! Μόλις ολοκληρωθεί η αντιγραφή, η αρχική βιβλιοθήκη δυναμικών συνδέσμων injected_dll.dll μπορεί να διαγραφεί. Δεν θα το χρειαστούμε πια. Παρεμπιπτόντως, το μέγεθος του αρχείου inject.exe δεν αυξήθηκε κατά ένα byte μετά τη δημιουργία μιας νέας ροής με όνομα! Οι ελεγκτές δίσκων (μαζί με άλλα συστήματα ελέγχου) απλώς χαλαρώνουν εδώ.

Τώρα εκτελούμε το αρχείο inject.exe και βεβαιωνόμαστε ότι η απόδοσή του δεν έχει επηρεαστεί καθόλου ως αποτέλεσμα των τελευταίων χειρισμών.

Μετάβαση από τη θεωρία στην πράξη

Η εφαρμογή της δικής σας δυναμικής βιβλιοθήκης είναι, φυσικά, πολύ καλή, αλλά στην πράξη πρέπει να αντιμετωπίζετε αυτό που απαιτείται πολύ πιο συχνά
ενσωματώστε το εκτελέσιμο αρχείο κάποιου άλλου. Τι να κάνω?! Να το μετατρέψω σε DLL;! Φυσικά και όχι! Αρκεί απλώς να τροποποιήσουμε ελαφρώς το X-DLL μας, διδάσκοντάς του να εκκινεί αρχεία exe χρησιμοποιώντας τη λειτουργία CreateFile API, ενώ τα ίδια τα εκτελέσιμα αρχεία μπορούν (και πρέπει) να τοποθετηθούν σε ροές NTFS με όνομα, ο αριθμός των οποίων είναι σχεδόν απεριόριστος. Επιπλέον, εάν το εγχυόμενο exe σύρει δυναμικές βιβλιοθήκες ή άλλα στοιχεία μαζί του, μπορούν επίσης να ενσωματωθούν σε ροές NTFS (φυσικά, δεν θα βρίσκονται πλέον στον τρέχοντα κατάλογο και επομένως το εκτελέσιμο αρχείο θα πρέπει να επεξεργαστεί για να αλλάξει όλα μονοπάτια). Εάν αυτό το αρχείο είναι γεμάτο (και τα περισσότερα βοηθητικά προγράμματα μάχης, όπως συστήματα απομακρυσμένης διαχείρισης, παρέχονται σπάνια σε ανοιχτή μορφή), το X-DLL μπορεί να υποκλέψει τις λειτουργίες CreateFile/LoadLibrary API, παρακολουθώντας αυτόματα κλήσεις σε αρχεία που λείπουν και εισάγοντας επώνυμες ροές NTFS που αντιστοιχούν σε αυτά αντι αυτου .

Ένα άλλο σημαντικό σημείο. Στέλνοντας ένα αρχείο exe με ένα X-DLL ενσωματωμένο σε αυτό μέσω ταχυδρομείου, γράφοντάς το σε δίσκο λέιζερ ή σε οποιοδήποτε άλλο μέσο μη NTFS, χάνουμε όλες τις επώνυμες ροές και το πρόγραμμα αρνείται αμέσως να λειτουργήσει, καταριόμενος ότι δεν μπορεί να βρει dll .

Η κατάσταση φαίνεται κρίσιμη, θα μπορούσε να πει κανείς και δραματική, αλλά ο ευγενής αρχειοθέτης RAR έρχεται στη διάσωση, έχοντας τη μοναδική ικανότητα να αποθηκεύει όλες τις ροές NTFS στο αρχείο. Εκκινήστε το RAR, επιλέξτε inject.exe, κάντε κλικ στο κουμπί "Προσθήκη" (ή πατήστε ), στη συνέχεια στις ιδιότητες αρχειοθέτησης, επιλέξτε το πλαίσιο "Αποθήκευση ροών αρχείων" (καρτέλα "Για προχωρημένους"). Επίσης, αν θέλετε, μπορείτε να δημιουργήσετε ένα αρχείο SFX σε περίπτωση που ο παραλήπτης δεν έχει RAR, αλλά αυτά είναι τεχνικές λεπτομέρειες.

Επαναλαμβάνουμε ξανά τη διαδικασία αποστολής του αρχείου με email, αποσυσκευάζουμε το αρχείο που προκύπτει, τρέχουμε το inject.exe και... ιδού! Εργάζεται!

Καλύψτε τα ίχνη σας (για έξυπνα παιδιά)

Ορισμένα αρχεία (ειδικά γεμάτη με προστατευτικά) παρακολουθεί σχολαστικά την ακεραιότητά τους και, ειλικρινά μιλώντας, αντιδρά όχι επαρκώς σε μια προσπάθεια εισαγωγής τους. Ωστόσο, επειδή το X-DLL λαμβάνει τον έλεγχο πριν από τα άλλα, μπορεί να επαναφέρει τον πίνακα εισαγωγής στη μνήμη σαν να είχαν συμβεί όλα, σαν να μην τον είχε αγγίξει κανείς. Για να το κάνετε αυτό, απλώς καλέστε τη συνάρτηση API
VirtualProtect εκχωρώντας το χαρακτηριστικό στις αντίστοιχες περιοχές μνήμης
PAGE_READWRITE, επαναφέρετε τον πίνακα εισαγωγής (το πρωτότυπο του οποίου μπορεί εύκολα να αποθηκευτεί
X-DLL) και, στη συνέχεια, ορίστε ξανά το χαρακτηριστικό PAGE_READONLY χρησιμοποιώντας το ίδιο
VirtualProtect. Επιπλέον, ένα X-DLL μπορεί να εκχωρήσει ένα μπλοκ μνήμης από το σωρό χρησιμοποιώντας τη συνάρτηση VirtualAlloc API και να αντιγράψει το σώμα του εκεί, το οποίο, φυσικά, πρέπει να είναι πλήρως μετατοπίσιμο, δηλαδή να παραμένει λειτουργικό ανεξάρτητα από τη διεύθυνση βασικού φορτίου. Τότε το μόνο που μένει είναι να ξεφορτώσετε το X-DLL που έχει καταστεί περιττό καλώντας το FreeLibrary (σε περίπτωση που κάποιος πονηρός μηχανισμός ελέγχου ακεραιότητας αποφασίσει να παραθέσει τη λίστα με τις φορτωμένες μονάδες).
Μικρή τεχνική απόχρωση: σε επεξεργαστές με υποστήριξη bit
NX/XD, το οποίο απαγορεύει την εκτέλεση κώδικα σε σελίδες μνήμης που δεν έχουν τα αντίστοιχα χαρακτηριστικά του εκχωρημένου μπλοκ μνήμης
PAGE_EXECUTE_READWRITE. Διαφορετικά, εάν ο χρήστης έχει ενεργοποιημένο το DEP υλικού για όλες τις εφαρμογές (και όχι μόνο για τα στοιχεία του συστήματος, όπως συμβαίνει από προεπιλογή), αντί να εκτελέσει τον κώδικα μηχανής, το σύστημα θα κάνει μια εξαίρεση και η εκτέλεση του trojanized προγράμματος θα διακοπεί.

Η κεφαλίδα του αρχείου PE έχει ένα ειδικό πεδίο που περιέχει ένα άθροισμα ελέγχου. Στη συντριπτική πλειονότητα των περιπτώσεων είναι μηδέν, αλλά εάν δεν συμβαίνει αυτό, τότε μετά από παρέμβαση στον πίνακα εισαγωγής, το άθροισμα ελέγχου πρέπει να υπολογιστεί εκ νέου. Αυτό κάνει το βοηθητικό πρόγραμμα
Το EDITBIT.EXE εκκινήθηκε με το κλειδί '/RELEASE'. Περιλαμβάνεται στάνταρ στον μεταγλωττιστή Microsoft Visual.
Studio και στο Platform SDK, επομένως δεν πρέπει να υπάρχουν προβλήματα με την εύρεση του.

συμπέρασμα

τεχνολογίες ενσωμάτωση σε εκτελέσιμα αρχείαδεν μένουν ακίνητοι και αναπτύσσονται μαζί με προστατευτικούς μηχανισμούς και λειτουργικά συστήματα. Το αιώνιο πρόβλημα του σπαθιού και της ασπίδας είναι ποιος θα βελτιωθεί πρώτος. Η χρήση έτοιμων βοηθητικών προγραμμάτων που λειτουργούν σε πλήρως αυτόματη λειτουργία, πρώτον, δεν έχει κύρος και, δεύτερον, είναι πολύ αναξιόπιστη. Οι προγραμματιστές προστασίας από ιούς δεν τρώνε το ψωμί τους για τίποτα! Για να αποφύγετε να καείτε σε μικροπράγματα, θα πρέπει να γράψετε μόνοι σας όλο τον κωδικό X. Όσο υπάρχει σε ένα μόνο αντίγραφο, τα αμυντικά συστήματα δεν έχουν καμία πιθανότητα να αποτρέψουν μια επίθεση!

.
Ξεκλειδώστε το στρώμα κάνοντας διπλό κλικ στην κλειδαριά στην καρτέλα "Επίπεδα" στα δεξιά. Θα εμφανιστεί μια αυγή αντί για μια κλειδαριά. Εάν καταργήσετε την επιλογή του πλαισίου, η ορατότητα του επιπέδου θα απενεργοποιηθεί.

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

Στο νέο παράθυρο που ανοίγει, εισαγάγετε μια τιμή πλάτους ίση με το πλάτος της δεύτερης, μικρότερης φωτογραφίας. Επίσης, εάν δεν είναι επιλεγμένο, επιλέξτε το πλαίσιο δίπλα στο «Διατήρηση αναλογιών». Κάντε κλικ στο κουμπί «Ναι».
Εάν δεν θέλετε να καταλήξετε με φωτογραφίες του ίδιου μεγέθους, τότε παραλείπουμε αυτό το στοιχείο.

Στη συνέχεια, πρέπει να αυξήσετε το ύψος του καμβά του εγγράφου εργασίας κατά μια τιμή ίση με το ύψος της δεύτερης εικόνας (ή μεγαλύτερη αν θέλετε να υπάρχει κενό μεταξύ των φωτογραφιών). Μπορείτε να το κάνετε αυτό μεταβαίνοντας στην καρτέλα Εικόνα --> Μέγεθος καμβά, όπως φαίνεται στην εικόνα:

Ως αποτέλεσμα, ανοίγει το ακόλουθο παράθυρο:

Στην περίπτωσή μου, το ύψος της δεύτερης φωτογραφίας είναι 420 pixel, προσθέτω αυτήν την τιμή στο ύψος του εγγράφου 450 pixel και εισάγω το αποτέλεσμα των 970 pixel στη γραμμή "Ύψος".

Ρυθμίστε τη θέση της άγκυρας όπως στο σχήμα και, στη συνέχεια, μια νέα ενότητα θα προστεθεί στον καμβά από κάτω. Εάν πρέπει να εισαγάγετε μια φωτογραφία από πάνω, ορίστε τη θέση αγκύρωσης ως εξής:

Αλλά επισυνάπτω τη φωτογραφία από κάτω, οπότε η άγκυρά μου θα είναι από πάνω.
Έτσι, εισάγω την τιμή 970 στη γραμμή "Ύψος" και πατάω το κουμπί "Ναι". Για ευκολία προβολής, μπορείτε να κάνετε σμίκρυνση του εγγράφου περιστρέφοντας τον τροχό του ποντικιού. Το έγγραφο είχε την ακόλουθη μορφή:

Τώρα πρέπει να ανεβάσετε τη δεύτερη εικόνα στον ελεύθερο χώρο παρακάτω. Για να το κάνετε αυτό, μεταβείτε στην καρτέλα Layer --> Open image as layer, όπως φαίνεται στην εικόνα:

Θα ανοίξει ένα νέο παράθυρο στο οποίο πρέπει να επιλέξετε την επιθυμητή εικόνα στον υπολογιστή σας, κάντε κλικ στο OK. Η εικόνα άνοιξε στο έγγραφο σε ένα νέο επίπεδο στη μέση:

Τώρα το μόνο που μένει είναι να μετακινήσετε τη φωτογραφία ακριβώς κάτω από το έγγραφο χρησιμοποιώντας το εργαλείο Μετακίνηση.

Λοιπόν, αποθηκεύστε το έγγραφο που προκύπτει στον υπολογιστή σας κάνοντας κλικ στην καρτέλα Αρχείο --> Αποθήκευση εικόνας, στο νέο παράθυρο που ανοίγει, κάντε κλικ στο κουμπί "Ναι"

Παρακολουθήστε το εκπαιδευτικό βίντεο που δείχνει αυτά τα βήματα.

Δημιουργήστε πολύχρωμα κολάζ από φωτογραφίες - είναι γρήγορο και βολικό! Θέλετε να συρράψετε φωτογραφίες μεταξύ τους; Χρησιμοποιώντας το πρόγραμμα Home Photo Studio, αυτή η διαδικασία δεν θα διαρκέσει περισσότερο από δύο λεπτά. Παρακολουθήστε το εκπαιδευτικό βίντεο και μάθετε μόνοι σας πώς να συνδυάσετε δύο ή περισσότερες φωτογραφίες σε μία εικόνα στο πρόγραμμα Home Photo Studio.

Μέθοδος αριθμός 1: γρήγορος συνδυασμός πολλών φωτογραφιών σε μία

Το "Home Photo Studio" θα σας βοηθήσει να συνδέσετε ομαλά δύο, τρεις ή τέσσερις φωτογραφίες και να αποκρύψετε αποτελεσματικά τη γραμμή σύνδεσης με μερικά μόνο κλικ του ποντικιού. Ομοίως, μπορείτε να δημιουργήσετε ένα ασυνήθιστο κολάζ από πολλές φωτογραφίες! Οι φωτογραφίες μπορεί να έχουν διαφορετικό μέγεθος ή ίδιο. Μπορείτε να σχεδιάσετε κολάζ κατά την κρίση σας, για παράδειγμα, να προσθέσετε ένα φωτεινό γέμισμα που ολοκληρώνει αποτελεσματικά τη σύνθεση της φωτογραφίας. Η ολοκληρωμένη εικόνα μπορεί να αποθηκευτεί στον υπολογιστή σας ή να εκτυπωθεί αμέσως!

Μέθοδος αριθμός 2: απλό μοντάζ φωτογραφίας

Για να συνδυάσετε δύο φωτογραφίες, μπορείτε να χρησιμοποιήσετε το εργαλείο Photo Montage, το οποίο προσφέρει την πιο απλή εργασία με επίπεδα και μάσκες. Χάρη στις λεπτές ρυθμίσεις των παραμέτρων, μπορείτε να δημιουργήσετε το εφέ παλιού χαρτιού στο στρώμα φόντου, να κόψετε όμορφα τις άκρες ή να δώσετε στα αντικείμενα μια μυστικιστική λάμψη. Το δικό μας διαθέτει μια βολική λειτουργία αναζήτησης και το εργαλείο για το συνδυασμό φωτογραφιών είναι εύκολο να βρεθεί αναζητώντας "Merge" ή "Photo Montage". Από τις σύντομες οδηγίες θα μάθετε πώς να συνδυάζετε δύο φωτογραφίες σε μία χρησιμοποιώντας το πρόγραμμά μας.

Βήμα 1. Εγκαταστήστε το πρόγραμμα

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

Βήμα 2. Επιλέξτε μια μέθοδο για την προσθήκη φωτογραφιών

Κάντε κλικ στο κουμπί «Άνοιγμα φωτογραφίας» για να επιλέξετε την επιθυμητή εικόνα. Εναλλακτικά, μπορείτε να πληκτρολογήσετε "Σύνδεση" ή "Μοντάζ φωτογραφιών" (χωρίς εισαγωγικά) στη γραμμή αναζήτησης στο κάτω μέρος της λίστας. Μπορείτε επίσης να χρησιμοποιήσετε μία από τις εικόνες που επεξεργαστήκατε πρόσφατα - θα εμφανιστούν πάνω από τη γραμμή αναζήτησης.

Βήμα 3. Προσθέστε φωτογραφίες στο πρόγραμμα

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


Βήμα 4. Μεταβείτε στη λειτουργία "Μοντάζ φωτογραφιών".

Εάν δουλέψατε μέσω του κουμπιού «Άνοιγμα φωτογραφίας», το πρόγραμμα θα εμφανίσει την εικόνα που επιλέξατε. Θα δείτε το κύριο μενού του προγράμματος, όπου μπορείτε να ρετουσάρετε τη φωτογραφία πριν την στείλετε στο "Photo Montage" ή να πάτε κατευθείαν σε αυτήν την επιλογή. Εάν η φωτογραφία φορτώθηκε απευθείας στην ενότητα μοντάζ φωτογραφιών μετά από αναζήτηση κατά λειτουργίες, η εικόνα θα ανοίξει στην κατάλληλη λειτουργία.


Βήμα 5. Εργασία με στρώσεις

Για να επιλέξετε μια δεύτερη φωτογραφία που θα βρίσκεται πάνω από το φόντο, κάντε κλικ στο κουμπί "Προσθήκη επιπέδου" και επιλέξτε μία από τις επιλογές από το αναπτυσσόμενο μενού. Οι κατάλογοι διακοσμήσεων, φόντων και υφών περιέχουν βασικές εικόνες που παρέχονται με το πρόγραμμα. Για να χρησιμοποιήσετε μια διαφορετική εικόνα, κάντε κλικ στο "Φωτογραφία".


Βήμα 6: Επιλέξτε και επεξεργαστείτε το πλαίσιο επικάλυψης

Έτσι φαίνεται η δεύτερη διεπαφή επιλογής φωτογραφιών. Αφού επιλέξετε μια εικόνα, θα τοποθετηθεί αμέσως στην κορυφή του φόντου ως νέο επίπεδο. Μπορείτε να το μετακινήσετε με το αριστερό κουμπί του ποντικιού, να το τεντώσετε, να το γέρνετε σε διαφορετικές γωνίες και να ρυθμίσετε τη διαφάνεια. Τα επίπεδα, με εξαίρεση το στρώμα φόντου, μπορούν εύκολα να αφαιρεθούν χρησιμοποιώντας το κόκκινο κουμπί "X". Το κουμπί με τη μορφή δύο μπλε φύλλων χαρτιού αντιγράφει το στρώμα. Κάθε στρώμα μπορεί να κοπεί χωρίς να βλάψει ολόκληρο τον πίνακα. Μπορείτε να αποθηκεύσετε αμέσως τη δημιουργία σας μέσω του κουμπιού "Αποθήκευση σε αρχείο" στην κάτω αριστερή γωνία.


Βήμα 7. Αποθήκευση του αποτελέσματος

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


Η κόλληση δύο ή περισσότερων φωτογραφιών σε μία εικόνα είναι μια αρκετά δημοφιλής λειτουργία που χρησιμοποιείται σε προγράμματα επεξεργασίας φωτογραφιών κατά την επεξεργασία εικόνων. Μπορείτε να συνδυάσετε εικόνες στο Photoshop, αλλά αυτό το πρόγραμμα είναι αρκετά δύσκολο να κατανοηθεί, επιπλέον, είναι απαιτητικό για πόρους υπολογιστή.

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

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

Μέθοδος 1: IMGonline

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

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


Ο ιστότοπος διαθέτει πολλά πρόσθετα εργαλεία που θα σας βοηθήσουν να έχετε την επιθυμητή εικόνα στη διάθεσή σας χωρίς να χρειάζεται να εγκαταστήσετε και να κατανοήσετε τη λειτουργικότητα του Photoshop. Το κύριο πλεονέκτημα του πόρου είναι ότι όλη η επεξεργασία πραγματοποιείται αυτόματα χωρίς παρέμβαση του χρήστη, ακόμη και με ρυθμίσεις "Προκαθορισμένο"επιτυγχάνεται ένα αξιοπρεπές αποτέλεσμα.

Μέθοδος 2: Croper

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

Ο ιστότοπος απαιτεί σταθερή πρόσβαση στο Διαδίκτυο, ειδικά εάν εργάζεστε με φωτογραφίες υψηλής ποιότητας.


Μέθοδος 3: Δημιουργία κολάζ

Σε αντίθεση με προηγούμενους πόρους, ο ιστότοπος σάς επιτρέπει να συρράψετε έως και 6 φωτογραφίες τη φορά. Το Create Collage λειτουργεί γρήγορα και προσφέρει στους χρήστες πολλά ενδιαφέροντα πρότυπα για κόλληση.

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


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

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