ايران ويج

نسخه‌ی کامل: مشکل در ساخت یک ویروس
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان من داشتم یه ویروس میکر میساختم که یه مشکلی پیدا کردم.
من میخوام ویروس میکر من قابلیت ساخت ویروس با پسوند های bat و cmd و pif و... داشته باشه، ما یه مشکلی دارم.
من از کجا بفهمم کار ویروس من رو با چه پسوندی ساخته.

در واقع من یه شکل کامل تر از این روش میخوام:
app.Path & "\" & app.EXEName & ".exe"

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

اول در ریفرنس ، گزینه Microsoft Scripting Runtime رو به پروژه اضافه کن و بعد با استفاده از دستور FileExist وجود فایل اجرایی با همون نام ولی با پسوندهای مختلف رو امتحان کن تا فایل و پسوند اون رو شناسایی کنی.

به این مثال توجه کن :


-----------------General------------------------

Dim Fso As New FileSystemObject

--------------------------------------------------

Private Sub Form_Load() ' M

Adr = App.Path + "\" + App.EXEName

If Fso.FileExists(Adr + ".Pif") = True Then FT = "Pif" ' M
If Fso.FileExists(Adr + ".Bat") = True Then FT = "Bat" ' M
If Fso.FileExists(Adr + ".exe") = True Then FT = "Exe" ' M

MsgBox "The file type is : " + FT, vbInformation, "FSO" ' M

End Sub


یا حق
Di Di نوشته است:البته مطمئنم که راه های بهتری هم وجود داره ولی عجالتا می تونی از این روش استفاده کنی ;-)

اول در ریفرنس ، گزینه Microsoft Scripting Runtime رو به پروژه اضافه کن و بعد با استفاده از دستور FileExist وجود فایل اجرایی با همون نام ولی با پسوندهای مختلف رو امتحان کن تا فایل و پسوند اون رو شناسایی کنی.

به این مثال توجه کن :


-----------------General------------------------

Dim Fso As New FileSystemObject

--------------------------------------------------

Private Sub Form_Load() ' M

Adr = App.Path + "\" + App.EXEName

If Fso.FileExists(Adr + ".Pif") = True Then FT = "Pif" ' M
If Fso.FileExists(Adr + ".Bat") = True Then FT = "Bat" ' M
If Fso.FileExists(Adr + ".exe") = True Then FT = "Exe" ' M

MsgBox "The file type is : " + FT, vbInformation, "FSO" ' M

End Sub


یا حق
سلام.
خوب در این صورت اگه کاربر 2 تا ویروس با 1 اسم و 2 پسوند متفاوت در یک مسیر ایجاد کرده باشه برنامه دچار مشکل میشه.

بهتره یه جستجو در پروسه های موجود بکنی. PID مربوط به هر پروسه رو با PID پروسه خودت مقایسه کنی. اگر یکی بود معلومه اون پروسه مربوط به برنامه خودته و نامش رو به این ترتیب به دست میاری.
API های مورد نیاز هم این ها هستند:
CreateToolhelp32Snapshot
Process32First
Process32Next
OpenProcess
GetCurrentProcessId
CloseHandle
Payman62 : يك ذره بيشتر توضيح بدي ؟"
سلام.
ببین هر پروسه یه کدی داره (Process Identifier) که فقط مختص اون پروسست. یه چیزی مثل آیپی تو نت. یعنی هیچ وقت دو تا پروسه کد یکسان ندارن. برای همین میشه لیست پروسه ها رو گرفت. PID هاشون رو با PID پروسه خودمون مقایسه کنیم و با این روش نام کامل پروسه برنامه خودمونو پیدا کنیم.
البته شاید روش ساده تری هم باشه. این روش حدودا یک سال پیش به ذهنم رسیده بود.
دستت درد نکنه . فهمیدم .
اگه کدهاشم بزاری دیگه نور علی نور میشه .Wink
سلام.
احساس میکنم روش بهتری هم وجود داره. این کار بیخودی حجم برنامه رو بالا میبره. کلی API و 20 خط کد به برنامه اضافه میشه. سعی میکنم روش بهتری پیدا کنم.
security نوشته است:سلام دوستان من داشتم یه ویروس میکر میساختم که یه مشکلی پیدا کردم.
من میخوام ویروس میکر من قابلیت ساخت ویروس با پسوند های bat و cmd و pif و... داشته باشه، ما یه مشکلی دارم.
من از کجا بفهمم کار ویروس من رو با چه پسوندی ساخته.

در واقع من یه شکل کامل تر از این روش میخوام:
app.Path & "\" & app.EXEName & ".exe"

میخوام خود برنامه بدونه پسوندش خودش چیه.
اگر API یا روش دیگه هست بگید.
خب شما برای ساخت ویروس با پسوندهای مورد نظرتون چه کاری کردین از همون روش میتونین بفهمین
اگه درست متوجه شده باشم شما میخواهید بدونید چطور این قابلیت رو برای کاربر ایجاد کنید یک combobox رو فورم بگزارید و ایتمهای توشو با bat و cmd و pif پر کنید و هنگام ساخت فایل نهایی چک کنید کدام گزینه در combobox انتخاب شده
سلام.
نه ایشون میخوان بفهمن پسوند فایلی که اجرا شده چیه. مثلا برنامه که اجرا شده چطور بفهمه pif هست یا cmd