Обединете две снимки. Артистично съчетание на две снимки в една

В хакерската практика доста често има нужда
вградете вашия код в готовия exe файл(не непременно злонамерен), така че първо да получи контрол, да не причинява злоупотреби от антивируси и като цяло да се държи възможно най-дискретно, без да се забелязва. Как да го направим? Ние знаем как и сега ще ви го обясним подробно.

Има цяло семейство помощни програми, предназначени да слепят няколко програми в един файл, с общото име "joyners" (от английския "joiner" - "конектор"):
Joiner от Blade, Супер лепило, MicroJoiner, Хунтадори много други. Техен подробен прегледможете да намерите в статията "". Въпреки това, качеството на залепване оставя много да се желае. Повечето членове просто поставят вградения файл в наслагването на главния exe файл и го копират на диска при стартиране във временна папка или по-често в системната директория на Windows, към която, разбира се, обикновен потребител, който не седи като администратор няма права за писане, а операцията е покрита с меден леген. Във всеки случай копирането отнема известно време, забавяйки зареждането на програмите, което поражда неясни подозрения в главата на потребителя.

По-напредналите дърводелци работят на принципа
изпълними пакетии проектирайте вградения exe директно в операционната система
памет, която не само ускорява зареждането, но и от гледна точка на PE формата изглежда много повече
политически коректен ("честен" PE файл с наслагване е рядкост).
Въпреки това, всички дърводелци, без изключение, рано или късно попадат в антивирусни бази данни, тъй като те са готови помощни програми, в които е лесно да се извлече постоянен подпис (дори ако са внедрени на полиморфна основа).

Правилните хакери не се държат така и не лепят програми сами. И не е никак трудно! Всичко, от което се нуждаете, е верен приятел и минимални умения за програмиране на C. Но преди да хванем бика за рогата, нека направим едно важно уточнение. Инжектираният код не е задължително да е вирус, червей, руткит или друга злонамерена инфекция, следователно, за да избегнем недоразумения, ще се съгласим да го наричаме X-код.

Как ще действаме

Всеки exe файл импортира една или повече динамични библиотеки (Dynamic Link Library или накратко DLL), изброени в таблицата за импортиране. Когато се стартира exe файл, системното зареждане анализира таблицата за импортиране, зарежда всички динамични библиотеки, изброени в нея, извиквайки функцията DllMain, за да инициализира всяка DLL, и едва след това прехвърля контрола към оригиналната входна точка (Original Entry Point или OEP за кратко) на стартирания exe файл.

По този начин, ако добавим нашата DLL към таблицата за импортиране на експерименталния exe файл, проблемът с инжектирането на X-код ще бъде успешно решен. Най-забележителното е, че DLL може да бъде написан на всеки език (дори на асемблер, дори на DELPHI) и е напълно имунизиран срещу антивируси, тъй като те органично не могат да разпознаят неизвестна инфекция. О, да… Евристични анализатори. Но тези неща са много лесни за заобикаляне (което е тема на много статии, включително моята, която може да се намери на
http://nezumi.org.ru).

Подготовка за експерименти

Преди да нахлуете в основните структури на PE файл, добра идея е да получите обща представа за неговата структура. MSDN включва спецификация за PE формата („Спецификация на Microsoft Portable Executable and Common Object File Format Specification“), написана на враждебен за нас език. английски езики се фокусира главно върху честни програмисти. Myshkh коригира този недостатък, като преведе спецификацията на руски и я пренасочи към хакерите. Цифрово копиедостъпен за безплатно изтегляне на
http://nezumi.org.ru/souriz/PE-desc-n-inject.zip
и на диск към сп.

Добре, сега нека подготвим "дрозофила", предназначена да инжектира X-код. Пример, написан на C, е показан по-долу:

#включи main() (printf("I"m nezumi\n"); //покажете нещо на екрана }

Ние го компилираме с всеки подходящ компилатор (например в случай на Microsoft Visual C++ командна линияще изглежда така: "$cl.exe inject.c"). След това на диска се формира файлът inject.exe, който при стартиране показва следния поздрав на екрана (имайте предвид, че това е конзолна програма, която трябва да се стартира от FAR "a или стандартната команда cmd.exe интерпретатор; когато се стартира от Explorer, прозорецът на конзолата автоматично ще се затвори веднага след края на програмата и няма да видим опашка):

$inject.exe
Аз съм незуми

След като се занимаваме с "Drosophila", нека подготвим динамичната библиотека, тоест самият X-код, който ще вградим в inject.exe. В най-простия случай източникще изглежда така:

#включи #включи // създайте фиктивна експортирана функция, // които след това ще бъдат внесени от "дрозофила"__declspec(dllexport) int dummy()( return 0;) /*входна точка към dll, която поема контрола при различни обстоятелства*/ BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) ( //поздрав, показан преди пускането на "дрозофила"if (fdwReason==DLL_PROCESS_ATTACH) printf("здравей, свят!\n"); //поздрав, показан преди края на "дрозофила"if (fdwReason==DLL_PROCESS_DETACH) printf("сбогом, свят!\n"); )

Имайте предвид, че DllMain, за разлика от EntryPoint, се извиква многократно: а) когато е прикрепен към процес; б) когато процесът е прекратен или динамичната библиотека е разтоварена от функцията FreeLibrary API; в) когато процес създава нова нишка; г) когато една от съществуващите нишки на процеса приключи. С други думи, DllMain ви позволява да проследявате определени системни събития и да реагирате по подходящ начин на тях. В този случай отпечатваме "здравей, свят!" преди да стартира "дрозофила" и "сбогом, свят!" преди да завърши работата си.

Динамичната библиотека се компилира по следния начин: “$cl.exe injected_dll.c /LD”, където ключът '/LD' казва на компилатора, че е необходимо да генерира DLL, а не EXE (както се случва по подразбиране) .

Инжектиране на X-DLL в таблица за импортиране на Drosophila

Взимаме hie в лапите си за хващане, отваряме файла inject.exe, превключваме в шестнадесетичен режим с , натискаме за да покажете PE заглавката, натиснете (Dir) и, сред другите елементи IMAGE_DATA_DIRECTORY, изберете раздела за импортиране (Import), разположен в нашия случай на RVA адрес, равен на 5484h и простиращ се до 28h байта в ширина (вижте Фигура 1).

Ключ ни отвежда до структурата на Import Directory Table, за която ще говорим малко по-късно. Междувременно нека обсъдим как да намерим указател към таблицата с директории за импортиране при липса на hiew.

Dword при отместване 80h от началото на PE хедъра (лесно разпознаваем визуално чрез PE подписа) е RVA адресът, сочещ към таблицата с директория за импортиране, а следващата dword съхранява неговия размер. Така че за търсене в таблица
hie import е напълно незадължителен.

Таблицата за импортиране е доста сложна структура от йерархичен тип. Горната част на йерархията е заета от структурата Import Directory Table, която всъщност е масив от подчинени структури от типа 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 "ohm отново, отивайки в началото на таблицата за импортиране (или по-скоро, както вече знаем, до първия елемент на таблицата с директории за импортиране), натискаме ("звездичка" на цифрова клавиатура) и, движейки се с клавишите със стрелки, изберете 28h байта в бордо (размера на таблицата с директория за импортиране). След това натискаме отново и чрез натискане , запишете блока във файл, като го наименувате idt-org за яснота.

Сега, превъртайки файла, щракнете Докато стигнем оперативно пространство свободно пространство, заета от дълъг низ от нули. В нашия случай това местоположение се намира на 405810h, точно след края на таблицата за импортиране.

След това трябва да копираме оригиналната таблица с директории за импортиране на ново място, като не забравяме да запазим място за един елемент от структурата от типа IMAGE_IMPORT_DESCRIPTOR, в който ще поставим нашата динамична библиотека малко по-късно. Той ще бъде инициализиран първият, което е много полезно за борба с антивируси, които имунизират exe-файловете, като ги инокулират със специална dll-ваксина, която проверява целостта на съдържанието на изображението на изпълнимия файл.

Тъй като, както можете лесно да изчислите, размерът на структурата IMAGE_IMPORT_DESCRIPTOR е 14h байта, а неразпределената област започва от адрес 405810h, трябва да преместим курсора на адрес 405824h, натиснете , изберете 28h байта (размера на оригиналната таблица с директории за импортиране) и натиснете отново и след това не забравяйте да преместите курсора в началото на избрания блок. Следващ клик (Get Block), въвеждаме името на файла, в който току що сме записали блока - idt-org и го четем от диска.

Сега се връщаме в началото на файла и коригираме RVA адреса на таблицата за импортиране, който в този случай ще бъде 5824h. Може да имате въпрос: защо 5824h, а не 405824h?! Да, защото RVA адресите се получават чрез изваждане на базовия адрес (записан в заглавката на PE файла и в нашия случай равен на 400000h) от виртуалния адрес (равен на 405824h). Освен това, като се има предвид редът на приоритет на байтовете, приет на x86 процесори (по-ниските битове са разположени на по-ниски адреси), трябва да напишем 24 58, а не 58 24, както правят много начинаещи хакери, чудейки се защо не работи.

И така, отворете файла inject.exe в hiew "e, намерете PE подписа, преместете курсора надолу с 80h байта, вижте 84 54 там (вижте Фигура 1), натиснете за да позволите редактиране, променете адреса на 24 58, запазете промените от и излезте ... на бира. Бирата за хакерите е свещена!

Проверяваме работоспособността на файла - какво ще стане, ако се повреди?! Стартираме inject.exe и (ако всички операции са извършени правилно) на екрана ще се появи триумфален поздрав. В противен случай системата ще откаже да изтегли файла или ще хвърли изключение.

След като намокрихме пресъхналото гърло, пристъпваме към най-трудната и важна част - попълване на структурата IMAGE_IMPORT_DESCRIPTOR. Нека започнем, като преместим курсора до края на таблицата с директории за импортиране, коригирайки го на адрес 405850h и напишем името на фиктивната функция (думи), завършващо на нула и предшествано от две нули, последвано от името на инжектираната динамика библиотека injected_dll.dll. Редът на тяхното местоположение обаче може да е различен, системният товарач отдавна е поставен върху такива дреболии.

След като направим това, преминаваме към първия байт, предварително запазен от нас за структурата IMAGE_IMPORT_DESCRIPTOR, и започваме да измисляме. Първата двойна дума остава равна на нула. Той е последван от 4 байта, разпределени за TimeDataStamp, и ние, като искаме леко да извратим, ще поставим тук IAT, тоест двойна дума, съдържаща RVA адреса на импортираната функция. В нашия случай тази функция се нарича dummy и нейното име (предшествано от две нули!) започва с RVA адреса 5850h. Предвид обратния ред на байтовете на x86, ние пишем: 50 58. Пропускайки следващата двойна дума (Forwarder Chain), в полето Name записваме RVA адреса на името на инжектираната динамична библиотека injected_dll.dll, в нашия случай равен на 5858ч. Остава да попълним последното поле - Import Address Table, съдържащо RVA адреса на IAT таблицата, която поставихме върху полето TimeDateStamp с RVA адрес равен на 5814h.

Това всъщност е всичко... След добавяне на нова структура IMAGE_IMPORT_DESCRIPTOR към масива Import Directory Table, последният ще изглежда така:

PX XX :00 58 00 00-00 50 00 00-00 00 00 00-00 00 00 00 X -6D 6D 79 00-69 6E 6A 65-63 74 65 64 манекен инжектиран

Остава една чиста дреболия. Необходимо е да се върнете в началото на файла, да преброите 80h байта от PE хедъра, да коригирате указателя към таблицата за импортиране от 5824h на 5810h и да увеличите размера му до 3Сh. Запазваме направените промени и след като получихме повече въздух в гърдите, стартираме файла
injection.exe:

$inject.exe
Здравей свят!
Аз съм незуми
сбогом, свят!

Работи! И не само работи, работи много добре. Вградената динамична библиотека послушно извежда "hello, world!" още преди стартирането на файла - "дрозофила" и "сбогом, свят!" точно преди да свърши! красота! Това е просто ... външен DLL ни пречи много, предизвиквайки естествено желание да го избутаме някъде далеч. И тук плавно преминаваме към втората част от нашата история.

Копиране на X-DLL в NTFS-поток

Файл NTFS системасе сравнява благоприятно с FAT ", но в това, че поддържа потоци (потоци). Те се наричат ​​също атрибути (атрибути), но за да не ги бъркаме с атрибути само за четене, ще се придържаме към първия термин. Всеки файл има поне един неназован поток, който съхранява действителните данни на файла. Това е неговият размер, който подчертава Windows Explorerи напреднали файлови мениджъритип FAR "a. Можем обаче също да създадем допълнителни потоци, като разделим името им от името на файла с двоеточие (":"), например: 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 "e, с обичайното движение отиваме до таблицата за импортиране: , , , <стрелка «вниз»>, . Променяме името на динамичната библиотека injected_dll.dll на inject.exe:x.dll, където inject.exe е името на експерименталния файл, в който ще инжектираме X-DLL, а x.dll е името на самата инжектирана динамична библиотека.
Сега трябва да копирате injected_dll.dll в inject.exe: x.dll, което е лесно да направите с помощта на FAR "a. След като настроите курсора към динамичната библиотека injected_dll.dll, натиснете и напишете "inject.exe:x.dll". Всичко! След като копието приключи, оригиналният injected_dll.dll може да бъде изтрит. Повече няма да ни трябва. Между другото, размерът на файла inject.exe не се увеличи с нито един байт след създаването на новия наименуван поток! Дисковите одитори (заедно с други системи за контрол) просто почиват тук.

Сега стартираме файла inject.exe и се уверяваме, че неговата производителност изобщо не е засегната в резултат на последните манипулации.

Преход от теория към практика

Внедряването на ваша собствена динамична библиотека, разбира се, е много добро, но на практика често трябва да се справяте с това, което се изисква
инжектиране на изпълним файл на някой друг. Какво да правя?! Преобразувайте го в DLL?! Разбира се, че не! Достатъчно е само леко да модифицираме нашия X-DLL, като го научим да изпълнява exe файлове с помощта на функцията CreateFile API, докато самите изпълними файлове могат (и трябва) да бъдат поставени в именувани NTFS потоци, чийто брой всъщност е неограничен. Освен това, ако вграденият exe плъзга динамични библиотеки или други компоненти със себе си, те също могат да бъдат вградени в NTFS потоци (естествено, те вече няма да бъдат в текущата директория и следователно изпълнимият файл ще трябва да бъде редактиран, за да промени всички пътища ). Ако този файл е пакетиран (и повечето бойни помощни програми, като системни отдалечено администриранерядко се предлагат в отворен код), нашата X-DLL може да прихване функциите на API CreateFile/LoadLibrary, като автоматично следи достъпите до липсващи файлове и поставя съответните им именувани NTFS потоци на тяхно място.

Друг важен момент. Изпращайки exe файл с вграден в него X-DLL по пощата, записвайки го на лазерен диск или друг носител, който не е NTFS, ние губим всички наименувани потоци и програмата незабавно спира да работи, като се кълне, че не може да намери dll.

Ситуацията изглежда критична, дори може да се каже драматична, но на помощ идва благороден човек. RAR архиватор, който има уникалната възможност да записва всички NTFS потоци във файла. Стартирайте RAR, изберете inject.exe, щракнете върху бутона „Добавяне“ (или натиснете ), след което в свойствата на архива поставяме отметка в квадратчето „Запазване на файлови потоци“ (раздел „Разширени“). Също така, ако желаете, можете да създадете SFX архив в случай, че получателят няма RAR, но това са вече технически подробности.

Повторете процедурата за изпращане на файла от електронна пощаотново разопаковайте получения архив, стартирайте inject.exe и ... ето! Той работи!

Прикрийте следите си (за грамотни момчета)

Някои файлове (особено опаковани с протектори) щателно следи тяхната цялост и реагира на опит за внедряване, честно казано, не съвсем адекватно. Въпреки това, тъй като X-DLL поема контрола преди останалите, той може да възстанови таблицата за импортиране в паметта, сякаш всичко е същото, сякаш никой не го е докосвал. За да направите това, просто извикайте API функцията
VirtualProtect чрез присвояване на съответния атрибут на области на паметта
PAGE_READWRITE, възстановете таблицата за импортиране (оригиналът на която е лесен за запазване в
X-DLL) и след това задайте отново атрибута PAGE_READONLY, като използвате същия
VirtualProtect. Освен това X-DLL може да разпредели блок памет от купчината с помощта на API функцията VirtualAlloc и да копира тялото си там, което, разбира се, трябва да бъде напълно преместваемо, тоест да остане функционално независимо от адреса на базовото зареждане. След това остава само да разтоварите X-DLL, който е станал ненужен, като извикате FreeLibrary (в случай че някой хитър механизъм за проверка на целостта реши да изведе списъка със заредени модули).
Малък технически нюанс: на процесори с битова поддръжка
NX / XD, който забранява изпълнението на код в страници с памет, които нямат съответните атрибути, на разпределения блок памет трябва да бъде присвоен атрибут
PAGE_EXECUTE_READWRITE. В противен случай, ако потребителят има активиран хардуерен DEP за всички приложения (не само компоненти на системата, както се случва по подразбиране), вместо да изпълни естествен код, системата ще хвърли изключение и изпълнението на троянизираната програма ще прекрати в авариен режим.

Заглавката на PE файла има специално поле, съдържащо контролната сума. В по-голямата част от случаите тя е нула, но ако не е, тогава след намеса в таблицата за импортиране контролната сума трябва да се преизчисли. Това прави помощната програма.
EDITBIT.EXE стартира с превключвателя „/RELEASE“. Включен е като стандарт Компилатор на MicrosoftВизуално
Studio и в Platform SDK, така че не би трябвало да има проблеми с намирането му.

Заключение

Технологии вграждане в изпълними файловене стойте неподвижни и се развивайте заедно със защитните механизми и операционни системи. Вечният проблем на меча и щита - кой ще се подобри пръв. Използване на готови помощни програми, които работят напълно автоматичен режим, първо, не е престижно, и второ, твърде ненадеждно. Разработчиците на антивирусни програми не си ядат хляба за нищо! За да не се изгорите за дреболии, целият X-код трябва да бъде написан независимо. Докато съществува в един екземпляр, защитните системи нямат шанс да предотвратят атака!

Добър ден на всички, скъпи мои читатели! Както винаги, Дмитрий Костин е с вас, тук всичко е непроменено). Търся, мнозина се интересуват как да комбинират две снимки в една във Photoshop. Просто се случва хората да искат да направят сравнение, например ПРЕДИ и СЛЕД или нещо друго.

Вероятно сте видели, че когато хората публикуват своите постижения в отслабването, те публикуват и снимки ПРЕДИ и СЛЕД, комбинирани в една. Между другото, направих същото, когато писах. Като цяло днес ще покажа как това може лесно да се направи. Така че щракнете с пръсти и да тръгваме!

исках да ти кажа най-много бърз начин, но реших да не се повтарям, тъй като вече говорих за това в урок за . Ще се окаже, че ще имате една снимка в друга. Нека се съсредоточим върху други начини.

Свързване на две изображения

В този пример реших да обединя снимки в стил "Преди и след". Не ми казвайте, че тези хора не си приличат. Те са двама различни хора.) Като цяло отворете две снимки във photoshop и след това по ред. Направих снимки на двама души: тънък и релефен.

  1. Първо, нека направим изображенията с еднаква височина. За да направите това, като сте на всяка снимка поотделно, отидете в менюто "Изображение" - "Размер на изображението". Погледнете броя на пикселите по височина. Оказа се, че слабият има 680 пиксела, а напомпаният - 1329.
  2. В този случай е по-добре да намалите размера на размененото изображение до 680 пиксела по височина, за да ги изравните и да не губите качество. Знаете ли как се прави? Ако не, тогава разглеждаме моята статия за (въпреки че всичко трябва да е ясно). И между другото, запомнете хоризонталния размер на накланящото се изображение. Имам 487.
  3. Сега отидете на слабата снимка и се върнете в менюто "Изображение", само че този път изберете "Размер на платното". Тук просто ще увеличим работната площ, без да увеличаваме самата снимка. Така че хоризонталният размер на слаба снимка е 453 пиксела. Мислено добавете 487 пиксела (хоризонтален размер на наклонената снимка) и вземете 940. Това е числото, което записваме в клетката за ширина. В същото време не променяме височината и оставяме 680.
  4. Сега трябва да изберем от коя страна ще се появят тези нови допълнителни 487 пиксела хоризонтално. Ако го оставим както е, тогава платното ще се увеличи от двете страни с 243 и 244 пиксела (487/2). Но ние искаме да направим "Преди и след", което означава, че кльощавият човек трябва да е отляво, следователно празното парче платно отдясно. След това в местоположението щракнете върху лявата стрелка, за да преместите центъра наляво. можете също да изберете цвят на фона, но в нашия случай не е необходимо, всеки ще свърши работа, тъй като така или иначе ще го затворим. След това щракнете върху OK.
  5. виждаш ли Сега имаме огромно парче бял фон. Сега отидете на снимката на помпата, вземете инструмента "Преместване", задръжте ляв бутонщракнете върху снимката и я плъзнете до раздела с слабата снимка.
  6. Това е въпрос на малък. Остава да преместите снимката директно на бял фон. Изчислихме точно ширината и коригирахме височината, така че всичко да пасне точно.

Ето такъв неусложнен и лесен начинкомбинирайте две изображения).

Сливане с плавен преход

Има и друг интересен ефект, когато преходът от една снимка към друга е плавен. Нека направя това с примера на две животни: лъв и сайга.

  1. Отворете изображението на лъв и сайга в нашия редактор, но в различни раздели.
  2. Отидете до слоя с лъва и изберете .
  3. Сега изберете и се уверете, че преходът е от черно към бяло. И сега с този градиент начертайте линия приблизително в средата, както е показано на моята снимка.
  4. Имате част от изображението с лъв, която трябва да бъде боядисана с червен нюанс. Страхотен. Това е, което ни трябва. Сега погледнете панела със слоеве и нашия активен слойс лъв. Той ли е основният? Тези. има ли заключване? Ако да, щракнете върху него с левия бутон на мишката, така че да изчезне, в противен случай просто няма да можем да редактираме този слой.
  5. Сега премахнете режима на бърза маска, като щракнете отново върху неговата икона. Ще трябва да маркирате част от изображението с пунктирана линия. След това натиснете клавиша ИЗТРИЙи се уверете, че съдържанието си заслужава „Отчитане на съдържанието“, след което натиснете OK. Трябва да премахнете дясната страна на изображението и с плавен прозрачен преход. Просто премахнете избора (просто щракнете веднъж с произволен инструмент за избор, като например правоъгълна област).
  6. Сега отидете на раздела със сайгата (по дяволите, животното и името все още са смешни). Желателно е да сравните височината (в пиксели) на тези две изображения, както в предишния пример. Сега вземаме инструмента "Преместване" и плъзгаме горката сайга право към лъва.
  7. А сега трикът (шегувам се, разбира се, това не е трик). Задържаме слоя със сайгата на панела със слоеве (горкото животно, отново го държим) с левия бутон на мишката, след което го плъзгаме надолу, така че да е под лъва.
  8. Вижте какво стана? Царят на животните и антилопата са комбинирани в една снимка. Готино! Можете да преместите антилопата малко с помощта на "Преместване". Ние гледаме. Успешен плавен преход. По мое мнение се получи доста добре. Мило и ненатрапчиво.

Е, общо взето, нещо такова.

Разбира се, че е фотошоп. И все още има много начини да комбинирате няколко снимки в една. Но мисля, че за начало тези методи ще ви бъдат напълно достатъчни. Освен това в последната версия не просто свързахме 2 снимки в една, а направихме обикновен колаж, т.е. използвайте няколко различни изображения в едно.

Между другото, ако искате да правите невероятни колажи, горещо ви препоръчвам да гледате страхотен курс по темата. Многобройни примери са обстойно разгледани. От няколко прости изображения ще научите как да правите просто шедьоври, така че давайте!

С уважение, Дмитрий Костин.

Здравейте всички! Днес ще разгледаме такава тема, как да свържете два компютъра. И ще ви покажа 2 начина. Така че, нека да започнем.

Помислете за 2 начина:

  1. Как да свържете 2 компютъра с използвайки Wi-Fiрутер или комутатор.
  2. Свържете с жица.

Ще свържа моя лаптоп (тази статия е подходяща и за отговор на въпроса: как да свържа два лаптопа един към друг). Устройства с операционна система Windows 8.1 и компютър с Windows 7.

1. Начин за свързване на два компютъра с помощта на или превключвател.

Който има рутер или суич, свързването на два компютъра е 2 пъти по-лесно. Дори и да имате wifi гореща точка, независимо дали сте свързали компютъра чрез кабел или безжично Wi-Fi връзканяма значение Това е същото, основното е, че подмрежата е същата (например 192.168. 1 .*)

Първо трябва да проверите това работна групабеше същото, в противен случай вторият компютър няма да види първия. Отидете на контролния панел и изберете система.

И променяме името. Основното е това име да е еднакво на всички компютри!

Така че, за да свържете компютри, отидете на контролния панел и изберете домашната група.

Някои хора смятат, че кабелната и Wi-Fi връзката са две различни неща. Следователно, за да разрушим мита как да свържете два компютъра един към друг чрез wifi,Реших да се свържа чрез Wi-Fi и да направя същото.

Вървим по ред.

Предоставяме достъп до необходимите файлове.

Всички, вие се присъединихте към групата.

Щракнете върху промяна Допълнителни опцииобщ достъп.

И изберете всички елементи като моите:

Всичко. Сега проверяваме. Създаваме папка, например, създадох я на работния плот на лаптоп (който е свързан чрез wi-fi).

Ние пишем всичко, или конкретен потребител, тогава можем да поставим каквото му е позволено и да щракнете върху споделяне.

В разширените настройки поставете отметка в квадратчето и щракнете върху OK. Ако имате нужда от разширени права, тогава разширеният бутон.

Сега проверяваме. В компютъра натискам старт, отивам в мрежата. И си виждам лаптопа (не съм се занимавал).

Влизаме и виждаме папката, която създадох в лаптопа.

2 начина за свързване на два компютъра чрез кабел (мрежов кабел)

Без рутер можете да свържете само 2 компютъра ... Разбира се, ако добавите мрежова карта към всеки компютър, тогава повече, но това вече е някакъв вид калай ... Ще свържем два компютъра с помощта на кабел.

Като цяло свързваме кабела към 2 компютъра, към мрежова карта. След това отидете в центъра за управление на мрежата и публичен достъп- Промяна на настройките на адаптер. При свързване от локална мрежаизберете собственост. Намираме протокол версия 4 и същото свойство. Нашата задача е да оставим същата подмрежа, а адресът на компютъра може да бъде всеки. На единия компютър зададох адрес 192.168.1.1, а на другия 192.168.1.2. Маската е стандартна 255.255.255.0.

Натискаме ок, на 2 компютъра и отиваме в мрежата и проверяваме.

Виждаме резултата.

Освен това, ако не се получи, направете настройките от 1-ви метод. Направих веднага след тях, следователно работят.

Проверете дали защитната стена или защитната стена в антивирусната програма (ако има такава) блокира.

И също така, когато влезете онлайн, може да се появи знак в горната част, дали да разрешите влизане на файлове обща мрежа. Натискаме да.

Поздрави, скъпи гости и читатели на блога! Продължаваме нашата рубрика "Компютър и интернет за манекени". Нашата задача е бързо да комбинираме две различни снимки без изтегляне приложения на трети странии липсата на умения за работа във фоторедактори.

Независимо дали работите на компютър или използвате това устройство за забавление, във всеки случай може да се наложи да комбинирате две снимки в една, за да разрешите някои от проблемите си.

Например, вие си сътрудничите и използвате продукти, които помагат на тялото ви да се трансформира. В този случай вие се снимате преди да използвате продукта, а след известно време - след използването му.

След това има нужда от комбиниране на две снимки в една и добавяне на текст, за да привлечете по този начин потенциални партньори и клиенти към бизнеса. Тук на помощ идва стандартното приложение Paint, което е във всеки Windows версии, или поне в повечето от тях.

Как да слепите две снимки в стандартното приложение Paint

Може би до този момент дори не сте подозирали, че на вашия компютър има приложение, което може да се справи със задачата да свърже две снимки. Аз също не разбрах веднага за това по едно време, а едва след известно време, когато вече се научих как да работя в програми на трети страни.

Но да се заемем с работата. За да намерите бързо приложението Paint на вашия компютър, трябва да отворите търсенето в долния ляв ъгъл. В зависимост от версията на Windows мястото за търсене може да е различно. Показвам на примера на Windows 10.

Отворете търсенето и напишете името на програмата. Компютърът ще ви даде желания резултат в горната част. Кликнете върху иконата и стартирайте приложението.

Сега трябва да качите първата снимка, за да я редактирате. В горния ляв ъгъл на програмата щракнете върху „Файл“, след това върху „Отвори“.

След това ще се отвори прозорец за избор на местоположението на снимката. Намерете желаната снимка и просто щракнете върху нея. Ако снимката е твърде голяма, можете да намалите нейния мащаб долу вдясно с плъзгача.

След като регулирате мащаба, трябва да отрежете излишъка. За да направите това, отидете в горната лента с инструменти и щракнете върху „Избор“, след което изберете „Правоъгълна област“.

Появява се маркер за избор. Сега трябва да задържите левия бутон на мишката и без да го пускате, плъзнете маркера отгоре надолу и настрани, като по този начин изберете областта, която искаме да напуснем.

След това в горната част на панела щракнете върху „Изрязване“.

Сега имаме изрязана снимка, която трябва да бъде запазена.

Преминаваме към вече познатия ни „Файл“, избираме „Запазване като“ и след това избираме необходимия формат. Обикновено избирам JPEG изображение.

Програмата ще ви подкани да изберете място за запазване, а също така можете да посочите име на файл.

След като сте запазили първата снимка, точно върху нея трябва да отворите втората по абсолютно същия начин „Файл“, „Отвори“ и да намалите, ако е необходимо.

След това, както при първата снимка, я изрязваме. "Избор" - "Правоъгълна област" - "Изрязване".

Сега върху подготвената снимка трябва да създадете място за втората снимка. За да направите това, преместете курсора до десния край на снимката и задръжте левия бутон на мишката и разтегнете платното приблизително до желания размер. Всичко е наред, ако се разтегнем повече, тогава можем да го оправим.

Сега трябва да поставите първата снимка от дясната страна на празното платно. За да направите това, отидете в горния ляв ъгъл на програмата и щракнете върху „Вмъкване“ и изберете „Вмъкване от“ от падащия списък.

Ще се отвори прозорец за избор. Изберете предварително запазена снимка, като просто щракнете върху нея с мишката.

Ако комбинирате снимки с различни формати и размери, тогава можете да коригирате размера, като щракнете върху „Преоразмеряване“ в горната част и след това изберете мащаба в проценти или пиксели.

В този случай първата обработена снимка е по-малка. Плъзнете го с мишката надясно и изберете размера.

Когато коригирахме размера, поставяме втората снимка точно с първата и „избутваме“ останалото празно платно вдясно по същия начин, както го избутахме, тоест като задържаме маркера с левия бутон на мишката. Ако не ви трябва нищо друго, запазете снимката точно както сте запазили първата.

Ако имате нужда от текст върху снимката, направете следното. Поставяме лента от чисто платно в долната част с мишката. След това на панела в горната част изберете инструмента ТЕКСТ, като щракнете върху главната буква.

След това щракнете с левия бутон върху празното платно по-долу. Отваря текстови опции, които можете да персонализирате. Изберете размер, цвят на шрифта, стил и след това напишете желания текст. За да намалите размера на полето за въвеждане, след като сте написали текста, просто го коригирайте с мишката, като плъзнете маркерите.

За да преместите текста на правилното място, преместете курсора на мишката до самия ръб, докато се появи курсорът с четири стрелки. Когато се появи курсорът, задръжте левия бутон и преместете текста.

По този начин можете да добавите няколко полета с текст и да ги поставите на правилните места. Резултатът от работата може да бъде такава композиция, сглобена от две снимки.

Това е всичко за мен. Надявам се, че статията "Как да комбинираме две снимки в една без Photoshop" ви е била полезна. Най-добрата подкрепа за мен е твоята Обратна връзка. Успех и просперитет за вас!

Как да обединим две снимки в една без photoshopактуализиран: 5 август 2019 г. от: Руслан Ошаров

Първото нещо, което трябва да направим, е да отворим и двете си изображения във Photoshop. Винаги отварям изображения в отделни прозорци.

Сега трябва да знаем височината на всяко изображение. Това може да стане с помощта на командата Image Size (Ctrl + Alt + I), но има по-добър начин. В долната част на работния прозорец на документа можете да конфигурирате показването на размера на документа, как да направите това, показах го на фигурата:

Така че виждам, че височината на пейзажната снимка е 2380px.

Нека да разгледаме портретното изображение:

Височината му е 3200 пиксела.

Затова намаляваме височината на портретното изображение с помощта на командата "Размер на изображението". Натиснете комбинацията Ctrl + Alt + I и въведете стойността 2380 в прозореца "Височина":

Сега височината на двете изображения е една и съща.

Забележка. Екранната снимка на диалоговия прозорец „Размер на изображението“ е от версията CC, във версията CS6 трябва да поставите отметка на опцията „Resample Image“ и да я намалите в режим „Bicubic Automatic“



Зареждане...
Връх