دمج صورتين. مزيج فني من صورتين في صورة واحدة

في ممارسة القراصنة ، غالبًا ما تكون هناك حاجة
تضمين التعليمات البرمجية الخاصة بك في ملف exe النهائي(ليس بالضرورة ضارًا) بحيث يتم التحكم فيه أولاً ، ولا يتسبب في إساءة استخدام برامج مكافحة الفيروسات ، ويتصرف عمومًا بحذر قدر الإمكان ، دون أن يكون واضحًا. كيف افعلها؟ نحن نعلم كيف ، والآن سنشرح لك ذلك بالتفصيل.

هناك مجموعة كاملة من الأدوات المساعدة المصممة لربط عدة برامج في ملف واحد ، بالاسم الشائع "joyners" (من "النجار" بالإنجليزية - "connector"):
نجار بواسطة بليد, صمغ ممتاز, MicroJoiner, جونتادورواشياء أخرى عديدة. هُم نظرة عامة مفصلةيمكن العثور عليها في المقال "". ومع ذلك ، فإن جودة اللصق تترك الكثير مما هو مرغوب فيه. يقوم معظم المنضمين ببساطة بوضع ملف التضمين في تراكب ملف exe الرئيسي ونسخه إلى القرص عند بدء التشغيل إلى مجلد مؤقت أو ، في كثير من الأحيان ، إلى دليل نظام Windows ، والذي ، بالطبع ، مستخدم بسيط لا يجلس كمسؤول ليس لديه حقوق الكتابة ، والعملية مغطاة بحوض نحاسي. على أي حال ، يستغرق النسخ بعض الوقت ، مما يؤدي إلى إبطاء تحميل البرامج ، مما يؤدي إلى ظهور شكوك غامضة في ذهن المستخدم.

يعمل الأفراحون الأكثر تقدمًا على المبدأ
الحزم القابلة للتنفيذوعرض exe المضمن مباشرةً في نظام التشغيل
الذاكرة ، التي لا تعمل فقط على تسريع التحميل ، ولكن أيضًا ، من وجهة نظر تنسيق PE ، تبدو أكثر من ذلك بكثير
صحيح سياسيًا (ملف PE "صادق" مع تراكب نادر).
ومع ذلك ، فإن جميع النجارين ، دون استثناء ، عاجلاً أم آجلاً يقعون في قواعد بيانات مكافحة الفيروسات، نظرًا لأنها أدوات مساعدة جاهزة يسهل فيها استخراج توقيع ثابت (حتى لو تم تنفيذها على أساس متعدد الأشكال).

المتسللون المناسبون لا يتصرفون بهذه الطريقة ويلصقون البرامج من تلقاء أنفسهم. وهذا ليس بالأمر الصعب على الإطلاق! كل ما تحتاجه هو صديق مخلص ومهارات برمجة C بسيطة. لكن قبل أن نأخذ الثور من قرونه ، دعونا نقدم توضيحًا واحدًا مهمًا. ليس من الضروري أن تكون الشفرة المحقونة فيروساً أو دودة أو rootkit أو أي عدوى خبيثة أخرى ، لذلك ، لتجنب سوء الفهم ، سنوافق على تسميتها X-code.

كيف سنتصرف

يستورد كل ملف exe مكتبة ديناميكية واحدة أو أكثر (مكتبة الارتباط الديناميكي أو DLL للاختصار) المدرجة في جدول الاستيراد. عندما يتم تشغيل ملف exe ، يقوم مُحمل النظام بتحليل جدول الاستيراد ، وتحميل جميع المكتبات الديناميكية المدرجة فيه ، واستدعاء وظيفة DllMain لتهيئة كل DLL ، وبعد ذلك فقط ينقل التحكم إلى نقطة الإدخال الأصلية (Original Entry Point ، أو OEP باختصار) لملف exe الذي تم تشغيله.

وبالتالي ، إذا أضفنا DLL الخاص بنا إلى جدول الاستيراد الخاص بملف exe التجريبي ، فسيتم حل مشكلة حقن رمز X بنجاح. الشيء الأكثر روعة هو أن DLL يمكن كتابته بأي لغة (حتى في المجمّع ، حتى في DELPHI) وهو محصن تمامًا من مضادات الفيروسات ، نظرًا لأنهم غير قادرين عضوياً على التعرف على عدوى غير معروفة. أوه نعم ... محللات الكشف عن مجريات الأمور. لكن من السهل جدًا الالتفاف على هذه الأشياء (وهو موضوع العديد من المقالات ، بما في ذلك مقالاتي ، والتي يمكن العثور عليها في
http://nezumi.org.ru).

التحضير للتجارب

قبل غزو الهياكل الأساسية لملف PE ، من الجيد الحصول على فكرة عامة عن هيكله. يتضمن MSDN مواصفات تنسيق PE ("مواصفات تنسيق ملف الكائن القابل للتنفيذ والقابل للتنفيذ من Microsoft") ، المكتوبة بلغة معادية لنا. اللغة الإنجليزيةوركز بشكل أساسي على المبرمجين النزيهين. قام ميشخ بتصحيح هذا النقص من خلال ترجمة المواصفات إلى اللغة الروسية وإعادة تركيزها على المتسللين. نسخة رقميةمتاح للتنزيل المجاني في
http://nezumi.org.ru/souriz/PE-desc-n-inject.zip
وعلى قرص المجلة.

حسنًا ، الآن لنعد "drosophila" المصمم لحقن X-code. يظهر مثال مكتوب في C أدناه:

#يشمل main () (printf ("I" m nezumi \ n ") ؛ //عرض شيء ما على الشاشة }

نقوم بتجميعها مع أي مترجم مناسب (على سبيل المثال ، في حالة مايكروسوفت البصرية C ++ سطر الأوامرسيبدو بالشكل التالي: "$ cl.exe injection.c"). بعد ذلك ، يتم تكوين ملف injection.exe على القرص ، والذي عند تشغيله يعرض التحية التالية على الشاشة (لاحظ أن هذا برنامج وحدة تحكم يجب تشغيله من FAR "a أو الأمر cmd.exe القياسي مترجم ؛ عند إطلاقه من Explorer ، سيتم إغلاق نافذة وحدة التحكم تلقائيًا فور انتهاء البرنامج ، ولن نرى ذيلًا):

$ injection.exe
أنا nezumi

بعد أن تعاملنا مع "ذبابة الفاكهة" ، دعنا نجهز المكتبة الديناميكية ، أي رمز X ذاته الذي سنقوم بتضمينه داخل injection.exe. في أبسط الحالات مصدرسيبدو هكذا:

#يشمل #يشمل // إنشاء وظيفة تصدير وهمية ، // والتي سيتم استيرادها بعد ذلك بواسطة "drosophila"__declspec (dllexport) int dummy () (إرجاع 0 ؛) / *نقطة الدخول إلى dll الذي يتولى السيطرة في ظل ظروف مختلفة* / BOOL WINAPI DllMain (HINSTANCE hinstDLL، DWORD fdwReason، LPVOID lpvReserved) (//عرض التحية قبل إطلاق "drosophila".if (fdwReason == DLL_PROCESS_ATTACH) printf ("hello، world! \ n")؛ //عرض التحية قبل نهاية "drosophila"if (fdwReason == DLL_PROCESS_DETACH) printf ("good-bye، world! \ n")؛ )

لاحظ أن DllMain ، على عكس EntryPoint ، يتم استدعاؤه عدة مرات: أ) عند إرفاقه بعملية ؛ ب) عند إنهاء العملية أو إلغاء تحميل المكتبة الديناميكية بواسطة وظيفة FreeLibrary API ؛ ج) عندما تخلق العملية خيطًا جديدًا ؛ د) عندما ينتهي أحد خيوط العملية الحالية. بمعنى آخر ، يسمح لك DllMain بتتبع أحداث معينة في النظام والاستجابة لها بشكل مناسب. في هذه الحالة ، نطبع "hello، world!" قبل إطلاق دروسوفيلا و وداعا أيها العالم! قبل أن تكمل عملها.

يتم تجميع المكتبة الديناميكية على النحو التالي: "$ cl.exe inserted_dll.c / LD" ، حيث يخبر المفتاح "/ LD" المترجم أنه من الضروري إنشاء DLL ، وليس EXE (كما يحدث افتراضيًا) .

حقن X-DLL في جدول استيراد ذبابة الفاكهة

نأخذ hiew في كفوفنا الممسكة ، نفتح ملف injection.exe ، ننتقل إلى الوضع السداسي بواسطة ، نضغط لعرض رأس PE ، اضغط على (Dir) ومن بين عناصر IMAGE_DATA_DIRECTORY الأخرى ، حدد قسم الاستيراد (استيراد) ، الموجود في حالتنا في عنوان RVA الذي يساوي 5484 ساعة ويمتد حتى عرض 28 ساعة (انظر الشكل 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 "ohm مرة أخرى ، بالانتقال إلى بداية جدول الاستيراد (أو بالأحرى ، كما نعلم بالفعل ، إلى العنصر الأول من جدول دليل الاستيراد) ، نضغط (تشغيل "علامة النجمة" المفاتيح العددية) والتحرك باستخدام مفاتيح المؤشر ، حدد 28 ساعة بايت باللون العنابي (حجم جدول دليل الاستيراد). بعد ذلك نضغط مرة أخرى وبالضغط ، احفظ الكتلة في ملف ، وقم بتسميتها idt-org للتأكيد.

الآن ، التمرير خلال الملف ، انقر فوق حتى نصل إلى مساحة العمليات مساحة فارغة، تحتلها سلسلة طويلة من الأصفار. في حالتنا ، يقع هذا الموقع عند 405810h ، بعد نهاية جدول الاستيراد مباشرةً.

بعد ذلك ، نحتاج إلى نسخ جدول دليل الاستيراد الأصلي إلى موقع جديد ، مع تذكر حجز مكان لعنصر واحد من بنية نوع IMAGE_IMPORT_DESCRIPTOR ، حيث سنضع مكتبتنا الديناميكية بعد ذلك بقليل. سيتم تهيئته في البداية ، وهو مفيد جدًا في مكافحة الفيروسات التي تحصن ملفات exe عن طريق تلقيحها بلقاح dll الخاص الذي يتحقق من سلامة محتويات صورة الملف القابل للتنفيذ.

نظرًا لأنه ، كما يمكنك حساب بسهولة ، حجم بنية IMAGE_IMPORT_DESCRIPTOR هو 14 بايت ، وتبدأ المنطقة غير المخصصة بالعنوان 405810h ، يجب علينا تحريك المؤشر إلى العنوان 405824h ، اضغط ، حدد 28 ساعة بايت (حجم جدول دليل الاستيراد الأصلي) واضغط مرة أخرى ، ثم تأكد من تحريك المؤشر إلى بداية الكتلة المحددة. انقر بعد ذلك (Get Block) ، أدخل اسم الملف الذي حفظناه للتو - idt-org وقراءته من القرص.

الآن نعود إلى بداية الملف ونصحح عنوان RVA لجدول الاستيراد ، والذي سيكون في هذه الحالة 5824h. قد يكون لديك سؤال: لماذا 5824h وليس 405824h ؟! نعم ، لأنه يتم الحصول على عناوين RVA عن طريق طرح العنوان الأساسي (المكتوب في رأس ملف PE وفي حالتنا يساوي 400000 ساعة) من العنوان الظاهري (يساوي 405824h). علاوة على ذلك ، مع الأخذ في الاعتبار ترتيب أسبقية البايت المعتمد على معالجات x86 (توجد البتات السفلية في عناوين أقل) ، يجب أن نكتب 24 58 وليس 58 24 ، كما يفعل العديد من المتسللين المبتدئين ، متسائلين لماذا لا يعمل.

لذلك ، افتح ملف injection.exe في hiew "e ، وابحث عن توقيع PE ، وانقل المؤشر لأسفل بمقدار 80 ساعة بايت ، وانظر 84 54 هناك (انظر الشكل 1) ، واضغط للسماح بالتحرير ، قم بتغيير العنوان إلى 24 58 ، احفظ التغييرات بواسطة وتخرج ... لتناول الجعة. الجعة للقراصنة مقدسة!

نتحقق من قابلية تشغيل الملف - ماذا لو تعرض للتلف ؟! نقوم بتشغيل insert.exe و (إذا تم تنفيذ جميع العمليات بشكل صحيح) ستظهر على الشاشة تحية النصر. خلاف ذلك ، سيرفض النظام تنزيل الملف أو يطرح استثناءً.

بعد أن قمنا بترطيب الحلق الجاف ، ننتقل إلى الجزء الأكثر صعوبة والأكثر أهمية - ملء بنية IMAGE_IMPORT_DESCRIPTOR. لنبدأ بتحريك المؤشر إلى نهاية جدول دليل الاستيراد ، وضبطه على العنوان 405850h ، وكتابة اسم الوظيفة الوهمية (وهمي) ، منتهيًا بصفر ويسبقه صفرين ، متبوعًا باسم الديناميكية المحقونة مكتبة inserted_dll.dll. ومع ذلك ، قد يكون ترتيب موقعهم مختلفًا ، فقد تم وضع محمل النظام منذ فترة طويلة على مثل هذه الأشياء الصغيرة.

بعد القيام بذلك ، ننتقل إلى البايت الأول ، الذي حجزناه مسبقًا لبنية IMAGE_IMPORT_DESCRIPTOR ، ونبدأ في الاستحضار. أول كلمة مزدوجة تساوي صفرًا. يتبعها 4 بايت مخصصة لـ TimeDataStamp ، ونريد أن نحرف قليلاً ، سنضع هنا IAT ، أي كلمة مزدوجة تحتوي على عنوان RVA للوظيفة المستوردة. في حالتنا هذه ، تسمى هذه الوظيفة وهمية ، ويبدأ اسمها (مسبوقًا بصفرين!) بعنوان RVA 5850h. بالنظر إلى ترتيب البايت العكسي في x86 ، نكتب: 50 58. تخطي الكلمة المزدوجة التالية (سلسلة Forwarder) ، في حقل الاسم نكتب عنوان RVA لاسم المكتبة الديناميكية المحقونة injectioned_dll.dll ، في حالتنا تساوي 5858 ح. يبقى ملء الحقل الأخير - استيراد جدول العناوين ، الذي يحتوي على عنوان RVA لجدول IAT الذي وضعناه أعلى حقل TimeDateStamp بعنوان RVA يساوي 5814h.

هذا ، في الواقع ، كل شيء ... بعد إضافة بنية IMAGE_IMPORT_DESCRIPTOR جديدة إلى مصفوفة استيراد جدول الدليل ، سيبدو الأخير كما يلي:

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 دمية محقونة

لا يزال هناك مجرد تافه. من الضروري العودة إلى بداية الملف ، وعد 80 ساعة بايت من رأس PE ، وتصحيح المؤشر إلى جدول الاستيراد من 5824h إلى 5810h وزيادة حجمه إلى 3Сh. نحفظ التغييرات التي تم إجراؤها ، وبعد أن اكتسبنا المزيد من الهواء في الصندوق ، قم بتشغيل الملف
injection.exe:

$ injection.exe
مرحبا بالعالم!
أنا nezumi
وادعا أيتها الدنيا!

إنها تعمل! وهي لا تعمل فقط ، بل إنها تعمل بشكل جيد للغاية. تنتج المكتبة الديناميكية المضمنة بطاعة "مرحبًا ، أيها العالم!" حتى قبل إطلاق الملف - "drosophila" و "وداعًا ، يا عالم!" قبل أن ينتهي مباشرة! جمال! هذا فقط ... يتدخل DLL الدخيل معنا كثيرًا ، مما يتسبب في رغبة طبيعية لدفعه في مكان ما بعيدًا. وهنا ننتقل بسلاسة إلى الجزء الثاني من قصتنا.

جاري نسخ X-DLL إلى NTFS-stream

ملف نظام NTFSيقارن بشكل إيجابي مع FAT "ولكنه يدعم التدفقات (التدفقات). وتسمى أيضًا سمات (سمات) ، ولكن من أجل عدم الخلط بينها وبين سمات القراءة فقط ، سنلتزم بالمصطلح الأول. كل ملف له على الأقل دفق واحد غير مسمى ، والذي يخزن البيانات الفعلية للملف. حجمه هو الذي يبرز مستكشف النوافذومتقدم مديري الملفاتاكتب FAR "a. ومع ذلك ، يمكننا أيضًا إنشاء تدفقات إضافية عن طريق فصل اسمها عن اسم الملف بنقطتين (": ") ، على سبيل المثال: my_file: my_stream1 ، my_file: my_stream2. منتظم أدوات Windowsلا تدعم العمل مع التدفقات المسماة ، وبالتالي فإن الوصول إلى محتوياتها ليس بهذه السهولة. لا توجد طريقة (قياسية) لتحديد ما إذا كان ملف معيناسمه تيارات أم لا.

هل تشعر أين أنا ذاهب؟ دعنا نخفي X-DLL داخل injection.exe بوضعه في دفق مسمى. انتباه! هذا لا يشبه على الإطلاق لصق ملفين معًا بغباء ، كما يفعل معظم المتفرجين. عند نسخ X-DLL إلى دفق NTFS ، لا يزيد الحجم المرئي لـ "Drosophila" ، وعند فتح ملف injection.exe باستخدام وظيفة fopen ("injection.exe" ، "rb") ، سيكون هناك لا تكون هناك آثار لـ X-DLL فيه! علاوة على ذلك ، عند نقل ملف عبر http ليتم فحصه بواسطة خدمة مكافحة فيروسات عبر الإنترنت ، لا يوجد سوى دفق غير مسمى (يحتوي على برنامج مفيدبدون X-DLL) ، وبالطبع لن تكتشف برامج مكافحة الفيروسات أي شيء بداخلها. بالمناسبة ، تقوم معظم برامج مكافحة الفيروسات بفحص الدفق المجهول فقط! لذلك يمكن أن يشعر X-DLL بالأمان والدفء والجفاف والراحة نسبيًا.

هل التخطيط واضح؟ ثم نتصرف. نفتح injection.exe في hiew "e ، بالحركة المعتادة نذهب إلى جدول الاستيراد: , , , <стрелка «вниз»>, . نقوم بتغيير اسم المكتبة الديناميكية Injectioned_dll.dll إلى injection.exe: x.dll ، حيث يُعد injection.exe اسم الملف التجريبي الذي سنقوم بحقن X-DLL فيه ، و x.dll هو الاسم من المكتبة الديناميكية المحقونة نفسها.
أنت الآن بحاجة إلى نسخ inserted_dll.dll إلى injection.exe: x.dll ، وهو أمر يسهل تنفيذه باستخدام FAR ". واكتب "injection.exe: x.dll". الجميع! بمجرد اكتمال النسخة ، يمكن حذف الملف inserted_dll.dll الأصلي. لن نحتاجها بعد الآن. بالمناسبة ، لم يزداد حجم ملف injection.exe بمقدار بايت واحد بعد إنشاء الدفق المسمى الجديد! مدققو القرص (مع أنظمة التحكم الأخرى) فقط يستريحون هنا.

نقوم الآن بتشغيل ملف injection.exe والتأكد من أن أدائه لم يتأثر على الإطلاق كنتيجة لعمليات التلاعب الأخيرة.

الانتقال من النظرية إلى التطبيق

إن تنفيذ المكتبة الديناميكية الخاصة بك هو بالطبع أمر جيد جدًا ، ولكن من الناحية العملية ، غالبًا ما يتعين عليك التعامل مع ما هو مطلوب
حقن ملف تنفيذي لشخص آخر. ما يجب القيام به؟! تحويلها إلى DLL ؟! بالطبع لا! يكفي فقط تعديل X-DLL الخاص بنا قليلاً عن طريق تعليمه تشغيل ملفات exe باستخدام وظيفة CreateFile API ، بينما يمكن (ويجب) وضع الملفات القابلة للتنفيذ نفسها في تدفقات NTFS المسماة ، وعددها غير محدود بالفعل. علاوة على ذلك ، إذا كان exe المضمن يسحب مكتبات ديناميكية أو مكونات أخرى معها ، فيمكن أيضًا تضمينها في تدفقات NTFS (بطبيعة الحال ، لن تكون موجودة في الدليل الحالي ، وبالتالي سيتعين تحرير الملف القابل للتنفيذ لتغيير جميع المسارات ). إذا كان هذا الملف مضغوطًا (ومعظم الأدوات المساعدة القتالية مثل الأنظمة الإدارة عن بعدنادرًا ما تكون متاحة في المصدر المفتوح) ، يمكن لـ X-DLL الخاص بنا اعتراض وظائف CreateFile / LoadLibrary API ، وتتبع عمليات الوصول إلى الملفات المفقودة تلقائيًا وإزاحة تدفقات NTFS المسمى المقابلة لها في مكانها.

نقطة أخرى مهمة. إرسال ملف exe مع X-DLL مضمن فيه عن طريق البريد ، أو كتابته على قرص ليزر أو أي وسائط أخرى غير NTFS ، نفقد جميع التدفقات المسماة ، ويتوقف البرنامج على الفور عن العمل ، وأقسم أنه لا يمكنه العثور على dll.

قد يبدو الوضع حرجًا ، وقد يقول المرء أنه مأساوي ، لكن رجل نبيل يأتي لإنقاذ. أرشيف RAR، والتي لديها القدرة الفريدة على حفظ جميع تدفقات NTFS في الملف. شغّل RAR ، وحدد injection.exe ، وانقر فوق الزر "Add" (أو اضغط على ) ، وبعد ذلك في خصائص الأرشيف نحدد المربع "حفظ تدفقات الملفات" (علامة التبويب "خيارات متقدمة"). أيضًا ، إذا كنت ترغب في ذلك ، يمكنك إنشاء أرشيف SFX في حالة عدم وجود RAR لدى المستلم ، ولكن هذه تفاصيل تقنية بالفعل.

كرر الإجراء لإرسال الملف بواسطة بريد إلكترونيمرة أخرى ، قم بفك ضغط الأرشيف الناتج ، وقم بتشغيل injection.exe ، و ... هو يعمل!

قم بتغطية مساراتك (للرجال المتعلمين)

بعض الملفات (خاصة ملفات معبأة مع حماة) مراقبة نزاهتهم بدقة والرد على محاولة التنفيذ ، بصراحة ، ليس بشكل كافٍ. ومع ذلك ، نظرًا لأن X-DLL يتحكم قبل الباقي ، يمكنه استعادة جدول الاستيراد في الذاكرة كما لو كان كل شيء كما لو لم يلمسه أحد. للقيام بذلك ، ما عليك سوى استدعاء وظيفة API
VirtualProtect عن طريق تعيين سمة مناطق الذاكرة المقابلة
PAGE_READWRITE ، قم باستعادة جدول الاستيراد (الأصل الذي يسهل حفظه بتنسيق
X-DLL) ثم أعد تعيين السمة PAGE_READONLY باستخدام نفس
برنامج VirtualProtect. علاوة على ذلك ، يمكن لـ X-DLL تخصيص كتلة من الذاكرة من الكومة باستخدام وظيفة VirtualAlloc API ونسخ هيكلها هناك ، والذي ، بالطبع ، يجب أن يكون قابلاً للنقل تمامًا ، أي أن يظل وظيفيًا بغض النظر عن عنوان التحميل الأساسي. بعد ذلك ، يبقى فقط إلغاء تحميل X-DLL الذي أصبح غير ضروري من خلال استدعاء FreeLibrary (في حالة ما إذا قررت بعض آليات فحص التكامل الخادعة سرد قائمة الوحدات المحملة).
فارق بسيط تقني: على المعالجات مع دعم بت
NX / XD ، الذي يحظر تنفيذ التعليمات البرمجية في صفحات الذاكرة التي لا تحتوي على سمات مقابلة ، يجب تعيين السمة لكتلة الذاكرة المخصصة
PAGE_EXECUTE_READWRITE. خلاف ذلك ، إذا كان لدى المستخدم ميزة DEP ممكّنة لجميع التطبيقات (وليس فقط مكونات النظام، كما يحدث افتراضيًا) ، بدلاً من تنفيذ التعليمات البرمجية الأصلية ، سيقوم النظام بطرح استثناء ، وسينتهي تنفيذ برنامج طروادة في وضع الطوارئ.

يحتوي رأس ملف PE على حقل خاص يحتوي على المجموع الاختباري. في الغالبية العظمى من الحالات ، يكون الرقم صفرًا ، ولكن إذا لم يكن كذلك ، فبعد التدخل في جدول الاستيراد ، يجب إعادة حساب المجموع الاختباري. هذا ما تفعله الأداة المساعدة.
تم إطلاق EDITBIT.EXE مع مفتاح التبديل "/ RELEASE". يتم تضمينه كمعيار مترجم مايكروسوفتمرئي
Studio وفي Platform SDK ، لذلك لن تكون هناك أية مشاكل في العثور عليه.

خاتمة

التقنيات التضمين في الملفات القابلة للتنفيذلا تقف مكتوفة الأيدي وتتطور جنبًا إلى جنب مع آليات الدفاع وأنظمة التشغيل. المشكلة الأبدية للسيف والدرع - من سيتحسن أولاً. استخدام المرافق الجاهزة التي تعمل بكامل طاقتها الوضع التلقائي، أولاً ، ليس مرموقًا ، وثانيًا ، غير موثوق به للغاية. مطورو برامج مكافحة الفيروسات لا يأكلون خبزهم من أجل لا شيء! حتى لا يتم حرقه على تفاهات ، يجب كتابة جميع أكواد X بشكل مستقل. طالما أنه موجود في نسخة واحدة ، فلن يكون لدى أنظمة الدفاع فرصة لمنع أي هجوم!

يوم سعيد للجميع أيها القراء الأعزاء! كما هو الحال دائمًا ، ديمتري كوستين معك ، كل شيء لم يتغير هنا). أنا أبحث ، كثيرون مهتمون بكيفية دمج صورتين في صورة واحدة في Photoshop. يحدث فقط أن الناس يريدون إجراء مقارنة ، على سبيل المثال ، قبل وبعد ، أو أي شيء آخر.

ربما رأيت أنه عندما ينشر الأشخاص إنجازاتهم في إنقاص الوزن ، فإنهم ينشرون أيضًا قبل وبعد الصور مجتمعة في صورة واحدة. بالمناسبة ، فعلت الشيء نفسه عندما كتبت. بشكل عام ، سأوضح اليوم كيف يمكن القيام بذلك بسهولة. لذا ، اضغط على أصابعك ودعنا نذهب!

أردت أن أخبرك أكثر الطريق السريع، لكنني قررت ألا أكرر نفسي ، لأنني تحدثت عن ذلك بالفعل في درس عنه. سيتضح أنه سيكون لديك صورة واحدة في أخرى. دعونا نركز على طرق أخرى.

ضم صورتين

في هذا المثال ، قررت دمج الصور بأسلوب "قبل وبعد". لا تقل لي أن هؤلاء الناس ليسوا متشابهين. إنهما شخصان مختلفان.) بشكل عام ، افتح صورتين في Photoshop ، ثم بالترتيب. التقطت صورًا لشخصين: نحيفان ومنقوشان.

  1. أولاً ، لنجعل الصور بنفس الارتفاع. للقيام بذلك ، في كل صورة على حدة ، انتقل إلى قائمة "صورة" - "حجم الصورة". انظر إلى عدد البكسل بالارتفاع. اتضح أن النحيف به 680 بكسل ، والواحد الذي تم ضخه به 1329.
  2. في هذه الحالة ، من الأفضل تقليل حجم الصورة التي تم تبديلها إلى 680 بكسل في الارتفاع لمعادلتها وعدم فقد الجودة. هل تعرف كيف يتم ذلك؟ إذا لم يكن الأمر كذلك ، فإننا ننظر إلى مقالتي حول (على الرغم من أن كل شيء يجب أن يكون واضحًا على أي حال). وبالمناسبة ، تذكر الحجم الأفقي لصورة التدرج. حصلت على 487.
  3. انتقل الآن إلى الصورة النحيلة والعودة إلى قائمة "الصورة" ، هذه المرة فقط اختر "حجم القماش". هنا سنقوم ببساطة بزيادة مساحة العمل دون زيادة الصورة نفسها. لذا فإن الحجم الأفقي للصورة النحيفة هو 453 بكسل. أضف عقليًا 487 بكسل (الحجم الأفقي لصورة التدرج) واحصل على 940. هذا هو الرقم الذي نكتبه في خلية العرض. في الوقت نفسه ، لا نغير الارتفاع ونترك 680.
  4. نحتاج الآن إلى اختيار الجانب الذي ستظهر عليه 487 بكسل إضافية أفقية. إذا تركناها كما هي ، فستزيد اللوحة القماشية على كلا الجانبين بمقدار 243 و 244 بكسل (487/2). لكننا نريد عمل "قبل وبعد" ، مما يعني أن الشخص النحيف يجب أن يكون على اليسار ، ومن هنا قطعة القماش الفارغة على اليمين. ثم ، في الموقع ، انقر فوق السهم الأيسر لتحريك المركز إلى اليسار. يمكنك أيضًا اختيار لون الخلفية ، ولكن في حالتنا هذا ليس ضروريًا ، أي سيفعل ذلك ، لأننا سنغلقه على أي حال. ثم انقر فوق "موافق".
  5. يرى؟ الآن لدينا قطعة ضخمة من الخلفية البيضاء. انتقل الآن إلى صورة ضخ ما يصل ، واتخاذ أداة "نقل" ، اضغط باستمرار الزر الأيسرانقر على الصورة واسحبه إلى علامة التبويب بالصورة النحيلة.
  6. إنها مسألة صغيرة. يبقى لنقل الصورة مباشرة إلى خلفية بيضاء. حسبنا العرض بدقة وضبطنا الارتفاع حتى يتناسب كل شيء تمامًا.

هنا مثل هذا غير معقد و طريقة سهلةاجمع بين صورتين).

الدمج مع انتقال سلس

هناك تأثير آخر مثير للاهتمام عندما يكون الانتقال من صورة إلى أخرى سلسًا. اسمحوا لي أن أفعل ذلك باستخدام مثال حيوانين: أسد وصايغا.

  1. افتح صورة الأسد والسايغا في محررنا ، ولكن في علامات تبويب مختلفة.
  2. انتقل إلى طبقة الأسد وحدد.
  3. حدد الآن وتأكد من أن الانتقال من الأسود إلى الأبيض. والآن مع هذا التدرج ، ارسم خطًا في المنتصف تقريبًا ، كما هو موضح في صورتي.
  4. لديك جزء من الصورة مع أسد يجب رسمه بلون أحمر. عظيم. هذا هو ما نحتاج إليه. انظر الآن إلى لوحة الطبقات وفي ملف طبقة نشطةمع الأسد. هل هو الرئيسي؟ أولئك. هل يوجد قفل عليها؟ إذا كانت الإجابة بنعم ، فانقر عليها بزر الفأرة الأيسر حتى تختفي ، وإلا فلن نتمكن من تحرير هذه الطبقة.
  5. الآن قم بإزالة وضع القناع السريع عن طريق النقر فوق الرمز الخاص به مرة أخرى. سيكون عليك إبراز جزء من الصورة بخط منقط. ثم اضغط على المفتاح يمسحوتأكد من أن المحتوى يستحق "المحتوى علم"، ثم اضغط على "موافق". يجب عليك إزالة الجانب الأيمن من الصورة ، وبانتقال سلس وشفاف. فقط قم بإلغاء التحديد (فقط انقر مرة واحدة باستخدام أي أداة تحديد ، مثل منطقة مستطيلة).
  6. انتقل الآن إلى علامة التبويب مع saiga (اللعنة ، الحيوان والاسم لا يزالان مضحكًا). من المستحسن مقارنة ارتفاع هاتين الصورتين (بالبكسل) ، كما في المثال السابق. الآن نأخذ أداة "التحريك" ونسحب السايغا المسكين مباشرة إلى الأسد.
  7. والآن الحيلة (مجرد مزاح ، بالطبع هذه ليست خدعة). نحمل الطبقة مع saiga على لوحة الطبقات (حيوان فقير ، نحمله مرة أخرى) بزر الفأرة الأيسر ، وبعد ذلك نسحبها لأسفل بحيث تكون أسفل الأسد.
  8. انظر ماذا حدث؟ يتم دمج ملك الوحوش والظباء في صورة واحدة. رائع! يمكنك تحريك الظباء قليلا باستخدام "تحريك". نحن ننظر. نجح انتقال سلس. عملت بشكل جيد في رأيي. لطيف وغير مزعج.

حسنًا ، بشكل عام ، شيء من هذا القبيل.

بالطبع إنه برنامج فوتوشوب. ولا تزال هناك طرق عديدة لدمج عدة صور في صورة واحدة. لكني أعتقد أن هذه الأساليب ستكون كافية بالنسبة لك كبداية. علاوة على ذلك ، في الإصدار الأخير ، لم نقم فقط بربط صورتين في صورة واحدة ، بل قمنا بإنشاء صورة مجمعة بسيطة ، أي. استخدام عدة صور مختلفة في صورة واحدة.

بالمناسبة ، إذا كنت ترغب في عمل صور مجمعة مذهلة ، فأنا أوصيك بشدة بمشاهدتها دورة رائعة في هذا الموضوع. تم النظر بدقة في العديد من الأمثلة. من خلال بعض الصور البسيطة ، ستتعلم كيفية صنع روائع ببساطة ، فانتقل إلى الأمام!

مع خالص التقدير ، دميتري كوستين.

أهلاً بكم! اليوم سننظر في مثل هذا الموضوع ، كيفية توصيل جهازي كمبيوتر. وسأوضح لك طريقتين. فلنبدأ.

فكر في طريقتين:

  1. كيفية توصيل جهازي كمبيوتر مع باستخدام Wi-Fiجهاز التوجيه أو التبديل.
  2. تواصل مع الأسلاك.

سوف أقوم بتوصيل الكمبيوتر المحمول الخاص بي (هذه المقالة مناسبة أيضًا للإجابة على السؤال: كيفية توصيل جهازي كمبيوتر محمول ببعضهما البعض). الأجهزة ذات نظام التشغيل Windows 8.1 وجهاز كمبيوتر يعمل بنظام Windows 7.

1. طريقة لتوصيل جهازي كمبيوتر باستخدام مفتاح جيد أو مفتاح.

من لديه جهاز توجيه أو محول ، يكون توصيل جهازي كمبيوتر أسهل مرتين. حتى لو كان لديك واي فاي هوت سبوت، سواء قمت بتوصيل الكمبيوتر عبر سلك أو لاسلكيًا اتصال واي فايلا يهم. هذا هو نفسه ، الشيء الرئيسي هو أن الشبكة الفرعية هي نفسها (على سبيل المثال ، 192.168.1.2. 1 .*)

أولا تحتاج إلى التحقق من ذلك فريق العملكان هو نفسه ، وإلا فلن يرى الكمبيوتر الثاني الكمبيوتر الأول. انتقل إلى لوحة التحكم وحدد النظام.

ونغير الاسم. الشيء الرئيسي هو أن هذا الاسم يجب أن يكون هو نفسه على جميع أجهزة الكمبيوتر!

لذلك ، لتوصيل أجهزة الكمبيوتر ، انتقل إلى لوحة التحكم وحدد المجموعة الرئيسية.

يعتقد بعض الناس أن التوصيلات السلكية والواي فاي هما شيئان مختلفان. لذلك ، لتدمير الأسطورة كيفية توصيل جهازي كمبيوتر ببعضهما البعض عبر wifi ،قررت الاتصال عبر Wi-Fi وفعل الشيء نفسه.

نذهب بالترتيب.

نحن نوفر الوصول إلى الملفات الضرورية.

الجميع ، لقد انضممت إلى المجموعة.

انقر فوق تغيير خيارات اضافيةالوصول العام.

وحدد كل العناصر مثل خاصتي:

الجميع. الآن نتحقق. نقوم بإنشاء مجلد ، على سبيل المثال ، قمت بإنشائه على سطح مكتب كمبيوتر محمول (متصل عبر شبكة wi-fi).

نكتب كل شيء أو مستخدم محدد، ثم يمكننا وضع ما هو مسموح له والنقر فوق مشاركة.

في الإعدادات المتقدمة ، حدد المربع وانقر فوق موافق. إذا كنت بحاجة إلى حقوق موسعة ، ثم الزر الموسع.

الآن نتحقق. في الكمبيوتر ، أضغط على ابدأ ، وأذهب إلى الشبكة. وأرى جهاز الكمبيوتر المحمول الخاص بي (لم أزعج نفسي).

ندخل ونرى المجلد الذي أنشأته في الكمبيوتر المحمول.

طريقتان لتوصيل جهازي كمبيوتر عن طريق السلك (كابل الشبكة)

بدون جهاز توجيه ، يمكنك فقط توصيل جهازي كمبيوتر ... بالطبع ، إذا أضفت بطاقة شبكة لكل كمبيوتر ، فستحصل على المزيد ، ولكن هذا بالفعل نوع من الصفيح ... سنقوم بتوصيل جهازي كمبيوتر باستخدام سلك.

بشكل عام ، نقوم بتوصيل السلك بجهازي كمبيوتر ، إلى بطاقة الشبكة. بعد ذلك ، انتقل إلى مركز التحكم في الشبكة و الوصول العام- إعدادات محول التغيير. على اتصال بواسطة شبكه محليهاختر خاصية. نجد إصدار البروتوكول 4 ونفس الخاصية. مهمتنا هي ترك نفس الشبكة الفرعية ، ويمكن أن يكون عنوان الكمبيوتر موجودًا. على أحد أجهزة الكمبيوتر ، قمت بتعيين العنوان 192.168.1.1 وعلى جهاز الكمبيوتر الآخر 192.168.1.2. القناع قياسي 255.255.255.0.

نضغط موافق ، على جهازي كمبيوتر ونذهب إلى الشبكة ونتحقق.

نرى النتيجة.

أيضًا ، إذا لم ينجح الأمر ، فقم بإجراء الإعدادات من الطريقة الأولى. لقد فعلت ذلك مباشرة بعدهم ، لذلك فهم يعملون.

تحقق مما إذا كان جدار الحماية أو جدار الحماية في برنامج مكافحة الفيروسات (إن وجد) يحظر.

وأيضًا عند الاتصال بالإنترنت ، قد تظهر علامة في الأعلى ، سواء كنت تريد السماح بدخول الملفات أم لا شبكة مشتركة. نضغط نعم.

تحياتي ضيوفنا الأعزاء وقراء المدونة! نواصل تقييمنا "الكمبيوتر والإنترنت للمبتدئين". مهمتنا هي دمج صورتين مختلفتين بسرعة دون تنزيل تطبيقات الطرف الثالثوعدم امتلاك المهارات اللازمة للعمل في برامج تحرير الصور.

بغض النظر عما إذا كنت تعمل على جهاز كمبيوتر أو تستخدم هذا الجهاز للترفيه ، فقد تحتاج على أي حال إلى دمج صورتين في صورة واحدة لحل بعض مشاكلك.

على سبيل المثال ، أنت تتعاون مع وتستخدم المنتجات التي تساعد جسمك على التحول. في هذه الحالة ، يتم تصويرك قبل استخدام المنتج وبعد فترة - بعد استخدامه.

ثم هناك حاجة لدمج صورتين في صورة واحدة وإضافة نص لجذب الشركاء والعملاء المحتملين إلى النشاط التجاري بهذه الطريقة. هذا هو المكان الذي يأتي فيه تطبيق Paint القياسي إلى الإنقاذ ، والذي يوجد في كل مكان إصدارات Windows، أو على الأقل في معظمها.

كيفية لصق صورتين معًا في تطبيق الرسام القياسي

ربما حتى هذه اللحظة لم تشك حتى في وجود تطبيق على جهاز الكمبيوتر الخاص بك يمكنه التعامل مع مهمة توصيل صورتين. أنا أيضًا لم أعرف على الفور عن هذا في وقت واحد ، ولكن فقط بعد فترة ، عندما تعلمت بالفعل كيفية العمل في برامج الجهات الخارجية.

لكن دعنا نبدأ العمل. للعثور بسرعة على تطبيق الرسام على جهاز الكمبيوتر الخاص بك ، تحتاج إلى فتح البحث في الزاوية اليسرى السفلية. اعتمادًا على إصدار Windows ، قد يختلف موقع البحث. أعرض على مثال Windows 10.

افتح البحث واكتب اسم البرنامج. سيعطيك الكمبيوتر النتيجة المرجوة في الأعلى. انقر فوق الرمز وابدأ تشغيل التطبيق.

أنت الآن بحاجة إلى تحميل الصورة الأولى من أجل تحريرها. في الزاوية العلوية اليسرى من البرنامج ، انقر على "ملف" ، ثم "فتح".

بعد ذلك ، ستفتح نافذة لاختيار موقع الصورة. ابحث عن الصورة التي تريدها وانقر عليها فقط. إذا كانت الصورة كبيرة جدًا ، فيمكنك تقليل حجمها في أسفل اليمين باستخدام شريط التمرير.

بعد ضبط المقياس ، تحتاج إلى قطع الفائض. للقيام بذلك ، انتقل إلى شريط الأدوات العلوي وانقر فوق "تحديد" ، ثم حدد "منطقة مستطيلة".

تظهر علامة التحديد. أنت الآن بحاجة إلى الضغط باستمرار على زر الماوس الأيسر وبدون تحريره ، اسحب العلامة من أعلى إلى أسفل وإلى الجانب ، وبالتالي تحديد المنطقة التي نريد تركها.

ثم في الجزء العلوي من اللوحة ، انقر على "اقتصاص".

الآن لدينا صورة تم اقتصاصها يجب حفظها.

ننتقل إلى "ملف" المألوف لدينا بالفعل ، ونختار "حفظ باسم" ، ثم نختار التنسيق اللازم. عادةً ما أختار صورة JPEG.

سيطالبك البرنامج باختيار موقع للحفظ ، ويمكنك أيضًا تحديد اسم الملف.

بعد قيامك بحفظ الصورة الأولى ، ستحتاج إلى فتح الصورة الثانية بالطريقة نفسها تمامًا "ملف" و "فتح" والتصغير إذا لزم الأمر.

ثم ، كما هو الحال مع الصورة الأولى ، نقوم بقصها. "حدد" - "منطقة مستطيلة" - "اقتصاص".

الآن في الصورة المعدة ، تحتاج إلى إنشاء مكان للصورة الثانية. للقيام بذلك ، حرك المؤشر إلى الحافة اليمنى للصورة واضغط باستمرار على زر الماوس الأيسر وقم بتمديد اللوحة إلى الحجم المطلوب تقريبًا. لا بأس إذا امتدنا أكثر ، فيمكننا إصلاحه.

أنت الآن بحاجة إلى وضع الصورة الأولى على الجانب الأيمن من اللوحة الفارغة. للقيام بذلك ، انتقل إلى الزاوية اليسرى العليا من البرنامج وانقر فوق "إدراج" ، وحدد "إدراج من" من القائمة المنسدلة.

سيتم فتح نافذة اختيار. حدد صورة محفوظة مسبقًا بمجرد النقر عليها بالماوس.

إذا قمت بدمج صور ذات تنسيقات وأحجام مختلفة ، فيمكنك ضبط الحجم بالنقر فوق "تغيير الحجم" في الجزء العلوي ، ثم تحديد المقياس بالنسبة المئوية أو البكسل.

في هذه الحالة ، تكون الصورة الأولى التي تمت معالجتها أصغر. اسحبه بالماوس إلى الجانب الأيمن وحدد الحجم.

عندما قمنا بضبط الحجم ، قمنا بتعيين الصورة الثانية بالضبط مع الصورة الأولى و "دفع" اللوحة القماشية الفارغة المتبقية إلى اليمين بنفس الطريقة التي دفعنا بها للخارج ، أي بالضغط على العلامة بزر الفأرة الأيسر. إذا لم تكن بحاجة إلى أي شيء آخر ، فاحفظ الصورة تمامًا كما قمت بحفظ الصورة الأولى.

إذا كنت بحاجة إلى نص على الصورة ، فقم بما يلي. نضع شريطًا من قماش نظيف في الجزء السفلي باستخدام الماوس. ثم على اللوحة الموجودة في الجزء العلوي ، حدد أداة TEXT بالنقر فوق الحرف الكبير.

ثم انقر بزر الماوس الأيسر على اللوحة الفارغة أدناه. يفتح خيارات النص التي يمكنك تخصيصها. اختر الحجم ولون الخط والنمط ، ثم اكتب النص المطلوب. لتقليل حجم حقل الإدخال ، بعد كتابة النص ، قم ببساطة بضبطه بالماوس عن طريق سحب العلامات.

لنقل النص إلى المكان الصحيح ، حرك مؤشر الماوس إلى الحافة ذاتها حتى يظهر المؤشر بأربعة أسهم. عندما يظهر المؤشر ، اضغط باستمرار على الزر الأيسر وحرك النص.

بهذه الطريقة ، يمكنك إضافة عدة حقول مع النص ووضعها في الأماكن الصحيحة. يمكن أن تكون نتيجة العمل عبارة عن تركيبة مجمعة من صورتين.

هذا كل شيء بالنسبة لي. آمل أن يكون مقال "كيفية دمج صورتين في صورة واحدة بدون Photoshop" مفيدًا لك. أفضل دعم لي هو لك تعليق. بالتوفيق والازدهار لك!

كيفية دمج صورتين في صورة واحدة بدون فوتوشوبتم التحديث: 5 أغسطس 2019 بواسطة: رسلان أوشاروف

أول شيء يتعين علينا القيام به هو فتح كلتا الصورتين في Photoshop. أقوم دائمًا بفتح الصور في نوافذ منفصلة.

نحتاج الآن إلى معرفة ارتفاع كل صورة. يمكن القيام بذلك باستخدام أمر حجم الصورة (Ctrl + Alt + I) ، ولكن هناك طريقة أفضل. في الجزء السفلي من نافذة العمل للمستند ، يمكنك تكوين عرض حجم المستند ، وكيفية القيام بذلك ، لقد أظهرته في الشكل:

لذلك أرى أن ارتفاع الصورة الطبيعية هو 2380 بكسل.

دعنا نلقي نظرة على الصورة الشخصية:

ارتفاعه 3200 بكسل.

لذلك ، نقوم بتقليل ارتفاع الصورة الشخصية باستخدام أمر "حجم الصورة". اضغط على المجموعة Ctrl + Alt + I ، وأدخل القيمة 2380 في نافذة "الارتفاع":

الآن ارتفاع كلتا الصورتين هو نفسه.

ملحوظة. لقطة شاشة مربع الحوار "حجم الصورة" مأخوذة من إصدار CC ، في إصدار CS6 ، يجب تحديد خيار "إعادة تشكيل الصورة" ، وتقليلها في وضع "Bicubic Automatic"



تحميل...
قمة