# مهندسی نرم افزار > مباحث مرتبط با مهندسی نرم‌افزار > مهندسی مجدد و معکوس >  آلوده سازی فایل های اجرای ویندوز - تزریق dll

## BioHazard

سلام
وقت شد یک مقاله دیگه برای تیم خودمون بنویسیم.
در این مقاله با Section ها آشنا میشیم و بعد نحوه ی اضافه کردن یک Section به برنامه ، بطور دستی و با استفاده از نرم افزار ، توضیح داده شده است

بعد در مورد Import ها بحث شده و در نهایت چگونگی تزریق DLL

بنا به دلایلی مقاله رو انگلیسی نوشتیم

شاد باشید
Download

فایل DLL ضمیمه شد

----------


## Nima NT

چرا مقاله رو ضمیمه نکردید ؟
( بخش مدیریت ضمیمه ها --- پائین ادیت متن )

----------


## BioHazard

> چرا مقاله رو ضمیمه نکردید ؟
> ( بخش مدیریت ضمیمه ها --- پائین ادیت متن )


سلام
عزیز به وزن فایل گیر داد

----------


## hojjatcroos

یکی از بی نظیر ترین مقاله های عمرم بود خسته نباشید واقعا عالی بود دوست عزیز ولی من نتونستم فایل Dll رو پیدا کنم میشه لینکش رو قرار بدهید با تشکر از شما دوست گرامی

----------


## BioHazard

> یکی از بی نظیر ترین مقاله های عمرم بود خسته نباشید واقعا عالی بود دوست عزیز ولی من نتونستم فایل Dll رو پیدا کنم میشه لینکش رو قرار بدهید با تشکر از شما دوست گرامی


نظر لطفتون هست.
بله اشتباه از من بود
در پست اول قرار دادم ، داخل مقاله هم لینک دانلود قرار داده شد

----------


## BioHazard

انگاری PM تا وقتی که 20 تا پست ندم ، نمیتونم بدم
جواب PM شما hojjatcroos عزیز رو اینجا میزارم



> بله یک روش کلی هست که اکثر برنامه هایی که بصورت Automatic اینکارو انجام میدن ، از همین روش استفاده میکنند
> حتی میشه گفت پایه و اساس پکر ها هم هست.
> 
> در مورد ورژن فایرفاکس هم روی ورژن 3.0.11 انجام شد ، میشه گفت 99% برنامه ها چون Import Table ها رو کنترل نمیکنند ، میشه آلوده کردشون
> 
> من از Hex Workshop v5.1 استفاده کردم

----------


## BioHazard

لینک توی سایت shellstrom
http://www.shell-storm.org/papers/files/424.pdf

----------


## مهران موسوی

مقاله ي بسيار جالبي بود دوست عزيز .




> بنا به دلایلی مقاله رو انگلیسی نوشتیم


دوست عزيز واقعا حيفه اين مقاله به اين پر محتوايي رو به صورت فارسي هم ارائه نكنيد .
*
فارسي را پاس بداريم !*

----------


## BioHazard

> مقاله ي بسيار جالبي بود دوست عزيز .
> 
> 
> 
> دوست عزيز واقعا حيفه اين مقاله به اين پر محتوايي رو به صورت فارسي هم ارائه نكنيد .
> *
> فارسي را پاس بداريم !*


عزیز بله موافقم ، ولی چند دلیل داشتیم ، یکی اینکه چون میخواهیم این مقاله ثبت بشه ، اسم ایران هم آوردیم ، تا اونایی که فکر میکنن ایران توی مباحث کامپیوتر عقبه ، به اشتباه خودشون پی ببرند :لبخند: 

چشم ، یک روزی رو اختصاص میدم که هر دو مقاله رو فارسی کنم

----------


## hojjatcroos

سلام دوست عزیز - من در محاسبات فقط هنگامی که EP روبه 0004E5F1 تغییر میدهم دچار مشکل می شوم میشه درباره به دست آوردن EP  یک توضیح مختصر بدین خیلی ممنون

----------


## BioHazard

> سلام دوست عزیز - من در محاسبات فقط هنگامی که EP روبه 0004E5F1 تغییر میدهم دچار مشکل می شوم میشه درباره به دست آوردن EP  یک توضیح مختصر بدین خیلی ممنون


ببین برای Ep بدست آوردن اگر Vritual Size  و Raw size برابر باشند ، EP شما با Voffset (Virtual AdresS) برابر هست
در کل ، شما باید RVA یا Relative Virtual Address رو برای EP بزارید که فرمولش به این صورت هست

(RVA = RawOffset + (Virtual Size of Section - Raw Size of section

ولی درکل یک عکس بزار ببینم مشکلت چیه

----------


## مهران موسوی

> عزیز بله موافقم ، ولی چند دلیل داشتیم ، یکی اینکه چون میخواهیم این مقاله ثبت بشه ، اسم ایران هم آوردیم ، تا اونایی که فکر میکنن ایران توی مباحث کامپیوتر عقبه ، به اشتباه خودشون پی ببرند
> 
> چشم ، یک روزی رو اختصاص میدم که هر دو مقاله رو فارسی کنم


هنوز توي ايران كامپيوتر همه گير نشده .. بيشتر اونايي هم كه بلدن در هد كاراي معمولي و عادي هست . ولي اين نكته رو نميشه ناديده گرفت كه توي ايران افرادي هم هستن كه اطلاعات خوبي در زمينه ي  نرم افزار دارن و جاي پيشرفت هم دارن .

انشاالله با وجود افرادي مثل شما كه وقت ميزارن و مقاله هايي رو ارائه ميكنن امكان پيشرفت براي دوستان فراهم ميشه .

انشاالله فرصت پيش بياد و مراحل ثبت پروژه ي اخير بنده در شوراي عالي انفورماتيك تكميل بشه بعد توي سايت معرفيش ميكنم و در موردش چيزايي مينويسم و دوستان ميبينن كه ايراني ها اونقدرا هم در زمينه ي برنامه هاي سيستمي عقب نيستن .

----------


## hojjatcroos

سلام دوست عزیز خیلی ممنون از توجه شما-در همین مثال مقاله یک سکشن با 3000h اضافه می کنم خوب برنامه مشکلی نداره طبق فرمول شما EP باید بشه 00049C00+0003000=0049C00 که برنامه دیگه اجرا نمیشه
خیلی ممنون

----------


## BioHazard

اون آدرسی که تو پست قبلت دادی درست هست ، 4E**)
ولی باید برنامه رو به جای اصلیش هدایت کنی
JMP 4015A0درضمن EP هم باید جایی باشه که Code Cave موجود باشه.




> سلام دوست عزیز خیلی ممنون از توجه شما-در همین مثال مقاله یک سکشن با 3000h اضافه می کنم خوب برنامه مشکلی نداره طبق فرمول شما EP باید بشه 00049C00+0003000=0049C00 که برنامه دیگه اجرا نمیشه
> خیلی ممنون


در ضمن این آدرس شما غلطه ، Section جدید از 4D000 شروع میشه ، اونی که شما دادی Raw Offset هست




> هنوز توي ايران كامپيوتر همه گير نشده .. بيشتر اونايي هم كه بلدن در هد كاراي معمولي و عادي هست . ولي اين نكته رو نميشه ناديده گرفت كه توي ايران افرادي هم هستن كه اطلاعات خوبي در زمينه ي نرم افزار دارن و جاي پيشرفت هم دارن .
> 
> انشاالله با وجود افرادي مثل شما كه وقت ميزارن و مقاله هايي رو ارائه ميكنن امكان پيشرفت براي دوستان فراهم ميشه .
> 
> انشاالله فرصت پيش بياد و مراحل ثبت پروژه ي اخير بنده در شوراي عالي انفورماتيك تكميل بشه بعد توي سايت معرفيش ميكنم و در موردش چيزايي مينويسم و دوستان ميبينن كه ايراني ها اونقدرا هم در زمينه ي برنامه هاي سيستمي عقب نيستن .


بله ، توی ایران 2 دسته ایم  ، یکی کاربران عادی(مثل من) ، یکی کاربران فوق حرفه ای(مثل شما).
خوشحال میشم در جریان پروژه های شما بعد از ثبت قرار بگیریم

راستی درمورد فارسی نویسی ، ایشاالله پروژه بعدی که در مورد کرنل هست ، به 2 زبون مینویسیم


-------------------------------------------------
مقاله هم در چندین جای دیگه ثبت شد


http://packetstormsecurity.org/filedesc/pe-infection.pdf.html
http://milw0rm.com/papers/344

----------


## BioHazard

حجت جان بگو دقیق مشکلت چیه ، تو مقاله کاملا توضیح دادم که EP کجا هست و باید چه نوع خصوصیتی داشته باشه

اگر سایز هارو 3000 میزنی(Virtual Size & Raw Size) ، خوب EP برابر مقدار VOffset هست

----------


## hojjatcroos

سلام خیلی ممنون از توجه شما.خوب زمانی که من EP رو برابر  voffest  قرار می دهم با ارور زیر مواجه می شوم(در olly )

----------


## BioHazard

> سلام خیلی ممنون از توجه شما.خوب زمانی که من EP رو برابر  voffest  قرار می دهم با ارور زیر مواجه می شوم(در olly )


عزیز جان این ارور نیست ، این آلرت هست ، وقتی به هر برنامه section اضافه میکنیم و EP رو تغییر میدیم ، این آلرت یا اخطار که میخواد بگه EP اصلی در جای دیگری هست ، بوجود می آید

----------


## persian_bigboy

دست دوستان درد نکنه . مرسی

----------


## sepehrst

سلام 

بهتون تبریک میگم، فقط میخواستم چند تا نکته را عرض کنم البته صرفا جهت همفکری و کمک. خوهش میکنم این سوء تفاهم پیش نیاد که بنده فقط قصد ایراد گرفتن دارم و میخوام ارزش کار شما رو کم کنم.

نکته ای به باید بهش اشاره کنم این هست که مطلبی که شما ارسال کردید بیشتر شبیه یک راهنما (Tutorial) هست تا یک مقاله. یعنی شما طریقه استفاده از ابزار رو برای نیل بهدف آموزش دادید. بنظر من استفاده از ابزاری مثل HexEditor, OllyDBG, LordPE,... باید برای کمک به کامل تر شدن مقاله، درک بهتر بصری و بررسی صحت عملکرد استفاده بشه. بنظر من مقاله شما باید حتما بهمراه نمونه کدی باشه که کار خودتون باشه و راه حل شما رو پیاده سازی بکنه(حداقل برای بخشی از کار). در حین کار توضیح مختصری راجع به ساختار فایل PE، حداقل برای بخشهای مورد استفاده خیلی میتونه مفید باشه. مثلا در مورد Import Table، بررسی ساختار IMAGE_IMPORT_DESCRIPTOR. یا بررسی Optional Header و Section Header با استفاده از تصاویری که مدل ساختار رو به نمایش بگذارند و آوردن توضیح و ذکر دلیل برای عملی که انجام میشه البته حتما با نمونه کد عملی. این باعث میشه که مقاله شما وابسته به استفاده از ابزار خاصی نباشه و همینطور خلاقیت شما رو نشون میده که با استفاده از راه منحصر بخودتون به نتیجه رسیدید.
البته اینها همه نقطه نظرات شخصی من هستند و ممکنه از نظر شما و یا دیگران مردود باشه.
این رو هم قبول دارم که گفتن این حرفها ساده است و در مرحله عمل به سادگی گفتنش نیست.

و مورد دیگه در مورد اشتباه تایپی هست. تو بخش IAT، عبارت Import Address Tabler، اشتباها Import Table Address تایپ شده.

ولی بهر حال کار ارزشمندی انجام دادید و امیدوام که همین روندو ادامه بدید.
این کار شما یه مقداری من رو هم به فکر انداخت که تمبلی رو کنار بذارم. من قبلا روی موضوع Stack و مکانیزم درونی Exception Handling و همینطور یه موضوع شبیه کار شما در مورد Dynamic Code Injection کار میکردم که تقریبا متوقف شده(دلیلشو میدونید :لبخند گشاده!:  + عدم تمرکز ) البته در مورد Code Injection کارهای زیادی انجام شده و شاید کار من اضافه باشه ولی برای خودم خوبه. امیدوارم این انگیزه ای که کار شما به من داد فرو کش نکنه.

براتون آرزوی موفقیت میکنم.

----------


## KajDom

با سلام  خدمت  دوستان من تازه  وارد انجمن شدم  و   وقتی  این موضوع  رو دیدم  خیلی خوشحال  شدم  آخه خیلی دوست دارم  یاد بگیرم  اما متاسفانه  ظاهرا  لینکش  پاک شده  از دوستان خواهش می کنم اگه  کسی  اون ایل pdf رو داره ]پ کنه تا ما هم استفاده کنیم ممنون  می شم

----------


## amirjalili

اگه من منبع کاملی در این مورد بخوام باید به کجا مراجعه کنم ؟ آیا شما جزوات دیگه ای هم دارید

----------

