PDA

View Full Version : گفتگو: یافتن نقطه پایان فایل برای تکثیر ویروسی



AmirAmiri
شنبه 21 اردیبهشت 1387, 11:21 صبح
سلام دوستان
من میخوام بدونم روش کار ویروسها چیه یعنی چطوری خودشونو به انتهای فایلهای اجرایی اضافه میکنن و بعد اجرا میشن مثلا من یک تکه کد نوشتم که فایله اول رو به انتهای فایله دوم اضافه میکنه و تا اینجا هیچ مشکلی وجود نداره ولی زمانیکه فایله دوم (فایله قربانی) رو اجرا میکنم هیچ خبری از فایله اول (ویروس) نیست یعنی بعد از خاتمه برنامه متاسفانه ویروس اجرا نمیشه مشکل اینجاست که فایلهای اجرایی مثل فایلهای MP3 یک نقطه ی آغاز و پایان مشخص ندارن و یا دارن ولی من نمیدونم. اگر بخوام اینکارو انجام بدم باید بدونم که دقیقا نقطه پایان برنامه چیه تا بتونم قبل از پایان پذیرفتن برنامه ویروس رو اجرا کنم در اینصورت ویروس اجرا بشه و خودشو دقیقا از همون نقطه که گفتم بایت به بایت تو یه جایی از حافظه و یا هارد کپی کنه.
اضافه کردن فایل اولی به دومی بدون هیچ مشکلی انجام میشه یعنی بایت به بایت اضافه میشه و وقتی حجم فایل رو نگاه میکنم میبینم که فایل بدونه جا افتادن حتی یک بایت اضافه شده ولی مشکل من همینیه که گفتم (پیدا کردن نقطه پایان فایله قربانی).

اینم یکه کدی که نوشتم :




Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Temp As Byte
FileOpen(1, "C:\Test\1.exe", OpenMode.Random, OpenAccess.Read, , Len(Temp))
FileOpen(2, "C:\Test\2.exe", OpenMode.Random, OpenAccess.ReadWrite, , Len(Temp))
Dim lenfile As Long = LOF(2)
Seek(2, lenfile)
While Not EOF(1)
FileGet(1, Temp)
FilePut(2, Temp)
End While
FileClose()
End Sub
End Class


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

AmirAmiri
شنبه 21 اردیبهشت 1387, 15:15 عصر
واقعا ممنون از کمکهاتون.
خیلی کمک کردید.
شرمندمون کردید.

mazoolagh
شنبه 21 اردیبهشت 1387, 21:06 عصر
من با فرمت فایلهایی اجرایی ویندوز آشنایی ندارم ولی در داس هر فایل اجرایی یک header داره که یکی از ویژگیهاش طول فایل به بایت هست. حتماً در ویندوز هم این ویژگی هست.

AmirAmiri
شنبه 21 اردیبهشت 1387, 21:23 عصر
من با فرمت فایلهایی اجرایی ویندوز آشنایی ندارم ولی در داس هر فایل اجرایی یک header داره که یکی از ویژگیهاش طول فایل به بایت هست. حتماً در ویندوز هم این ویژگی هست.


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

mazoolagh
شنبه 21 اردیبهشت 1387, 22:10 عصر
شما باید قبل از اینکه ویروس رو به انتهای فایل بچسبونین اول program entry point اصلی رو بخونین و در یک متغیر ذخیره کنین. بعد entry point رو به شروع کد ویروس تغییر بدین و در انتهای کد ویروس به entry point اصلی جامپ (یا call) کنین

mazoolagh
شنبه 21 اردیبهشت 1387, 22:12 عصر
ضمناً لازم نیست حتماً ویروس به انتهای برنامه بچسبه - میتونه اول هم باشه یعنی برنامه اصلی به انتهای ویروس افزوده بشه.

AmirAmiri
شنبه 21 اردیبهشت 1387, 22:38 عصر
شما باید قبل از اینکه ویروس رو به انتهای فایل بچسبونین اول program entry point اصلی رو بخونین و در یک متغیر ذخیره کنین. بعد entry point رو به شروع کد ویروس تغییر بدین و در انتهای کد ویروس به entry point اصلی جامپ (یا call) کنین


خدا خیرت بده منم دنباله همینم. اگه امکان داره کمی بیشتر توضیح بدید و مثال هم بزنید منظورم کد هست.



ضمناً لازم نیست حتماً ویروس به انتهای برنامه بچسبه - میتونه اول هم باشه یعنی برنامه اصلی به انتهای ویروس افزوده بشه.


چون حجم ویروس کمه عاقلانه تره که ویروس رو به انتهای فایل اضافه کنیم مگر انکه راهی باشه که مستقیما بشه ویروس رو اول فایل دیگه نوشت.

drwatson
یک شنبه 22 اردیبهشت 1387, 19:03 عصر
آقایون لطفا یه پاسخی بدید منم یه مدت دنبال این موضوع بودم

mazoolagh
یک شنبه 22 اردیبهشت 1387, 23:37 عصر
اینجا (http://support.microsoft.com/kb/65122)میتونین اطلاعات خوبی در مورد هدر فایلهای exe ویندوز ببینین.

همونطور که میبینین 32 بایت اول دقیقا همون هدر dos هست. چیزی که شما باید تغییرش بدین این هست:


14h DD Segment number:offset of CS:IP.

متاسفانه اطلاعات من در حد همون 32 بایت اولش هست!

visual_sadegh
دوشنبه 23 اردیبهشت 1387, 07:35 صبح
من یه راه دیگه پیشنهاد می کنم:شیطان:

وست عزیز مشکل من پیدا کردن طول فایل نیست اگه به کدی که نوشتم نگاهی بندازید میبینید که فایل ویروس رو به انتهای فایل قربانی اضافه کرده اما مشکل اینجاست که بعد از اجرای فایل قربانی فایل ویروس که به انتهای اون چسبیده اجرا نمیشه
فکر می کنم کلید برنامه همینجاست
1-می تونیم نتیجه بگیریم که اگر ویروس به ابتدای فایل بچسبه خوب قاعدتا خود ویروس به تنهایی اجرای می شه
2-می تونیم کاری کنیم که هنگام اجرا ، ویروس خودش برنامه رو اجرا کنه
سوال: چطوری؟
جواب: می تونیم برنامه ویروسمونو جوری بنویسیم که قسمت اضافه که بهش چسبیده رو درقالب فایل بسازه و بعد اونو اجرا کنه
نظرتون چیه؟:لبخند:

AmirAmiri
دوشنبه 23 اردیبهشت 1387, 09:44 صبح
می تونیم برنامه ویروسمونو جوری بنویسیم که قسمت اضافه که بهش چسبیده رو درقالب فایل بسازه و بعد اونو اجرا کنه
نظرتون چیه؟

سلام دوست عزیز. از راهنماییتون ممنونم ولی ما اینجا اصلا قرار نیست ویروس بسازیم بلکه قراره راهی پیدا کنیم که مانند ویروسها برنامه رو تکیر کنیم (فقط روش تکثیره ویروسی) همین.
در ضمن فکر نمیکنم راهی که شما پیشنهاد کردید عملی باشه چون باعث میشه وقت پردازنده گرفته بشه. شما فکر کنید ویروس ما فقط 200 کیلوبایت حجم داره... عاقلانه تره که ویروس به یک فایل مثلا 10 مگابایتی بچسبه یا بیایم ده مگابایت رو به انتهای یک ویروس بچشبونیم و بعد دوباره بیایم اون ده مگابایت رو از تو فایل استخراج کنیم و یه جا ذخیره کنیم و اجرا کنیم!!!!؟؟؟ مسلما راه اول عاقلانه تره.

visual_sadegh
دوشنبه 23 اردیبهشت 1387, 13:01 عصر
سلام دوست عزیز. از راهنماییتون ممنونم ولی ما اینجا اصلا قرار نیست ویروس بسازیم بلکه قراره راهی پیدا کنیم که مانند ویروسها برنامه رو تکیر کنیم (فقط روش تکثیره ویروسی) همین.
دوست عزیز مهمترین عاملی که باعث می شه نام این قبیل برنامه ها رو ویروس بزارن روش تکثیر اونهاست بعد خرابکاری
اما روش پیشنهادی:

در ضمن فکر نمیکنم راهی که شما پیشنهاد کردید عملی باشه چون باعث میشه وقت پردازنده گرفته بشه. شما فکر کنید ویروس ما فقط 200 کیلوبایت حجم داره... عاقلانه تره که ویروس به یک فایل مثلا 10 مگابایتی بچسبه یا بیایم ده مگابایت رو به انتهای یک ویروس بچشبونی
من نمی گم که برنامه رو به انتهای ویروس بچسبونیم من می گم ویروس رو به ابتدای برنامه وصل کنیم

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

AmirAmiri
سه شنبه 24 اردیبهشت 1387, 10:49 صبح
من نمی گم که برنامه رو به انتهای ویروس بچسبونیم من می گم ویروس رو به ابتدای برنامه وصل کنیم


چطور ویروس رو به اول برنامه وصل کنیم؟
در ضمن اگه فایلی که ویروسی شده مثلاً 20 مگ یا بیشتر باشه چی؟ زمان cpu خیلی گرفته میشه و کاربر متوجه ویروسی بودن کامپیوتر میشه....

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

haitman
چهارشنبه 12 فروردین 1388, 09:22 صبح
دوستان عزیز اگه به این فروم سایت www.lordhack.comیه (http://www.lordhack.comیه) سری بزنید میتونید سورس برنامه های مختلف هک از جمله بیندر ها رو پیدا کنید مطمئن به دردتون میخوره

mithridates
چهارشنبه 12 فروردین 1388, 20:51 عصر
این راه ها که گفته شده بجز یک راه حلی اشتباه هست

البته آموزش ویروس نویسی خوب نیست ولی ...

دوستمون درست گفت راجب EntryPoint ولی تا جایی که من برنامه شمارو دیدم و پیشنهاد دوستمون مربوط به Binder این کارها واقعا اشتباه هست و نتیجه ای ندارد

اولا پیشنهاد میکنم شما با توجه به نداشتن اطلاعات کافی برروی ارسال ویروس از طریق میل فکر کن تا آلوده کردن فایل های exe

دوما اونطور که شما exe ریختی پشت exe کلا اشتباه هست

این قبیل ویروس ها یک section به فایل اضافه می کنند و بعد کد خودشون رو بدون header و همچنین بعد از اضافه کردن api های لازم به فایل و فیکس کردن آدرس اونها کد هاشون رو اجرا میکنند. تازه نه هر کدی! کدی که آدرس ثابت نداشته باشه برای مثال Imagebase برنامه شما و اون فایل exe میریزه تو هم اگه شما آدرس ثابت داشته باشی. روشهای دیگه باعث نا پایدار شدن ویندوز و برنامه های اجرایی میشن و علاوه بر سرعت در برنامه ها ایجاد مشکل میکنند