اجرای دستورات cmd در سی شارپ :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۲۲ مرداد ۰۲، ۰۰:۳۴ - Sami
    مرسی
  • ۱۴ مرداد ۰۲، ۱۴:۴۶ - farhad
    salam

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

این سوال بخاطر این تو ناحیه ی مخچه ی دوار مغزمون طراحی میشه که ما هنوز جرئت مهاجرت از cmd به یه زبان حرفه ای رو تجربه نکردیم.

هرچند تولد این سوال خودش خوش اقبالیه و نشون میده که شما در حال برداشتن گامی بلند در این راه هستین ;)

بریم سر اصل مطلب :

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

یه پروژه ایجاد کنید (کنسول غیر کنسول فرقی یوخ) من تو مثالم غیرکنسولیش رو نشون میدم.

دو تا دکمه رو صفحه فرم تون قرار بدین.

ابتدا کتابخانه زیر رو لازم داریم :

using System.Diagnostics;

برای دکمه شماره یک کد زیر رو تعریف میکنیم

string virus32 = "/C netstat -an";
Process.Start("CMD.exe", virus32 );

این کد دستور اجرا شدن سی ام دی رو با شرطی که ما گفتیم رو میده

شرط کرده بودیم در سی ام دی دستور netstat -an رو بزنه

حالا فرض کنید من میخوام صد تا دستور رو در یک صفحه داس وارد کنم

رشته رو به شکل زیر تغییر میدیم

string virus32 = "/C netstat -an && ipconfig && pause";
Process.Start("CMD.exe", virus32 );

سه دستور رو وارد کردم که دستور آخر برای نمایش درستی کار صادر شده

خوب به کمک این کدها ما تونستیم دستورات داس رو بصورت مستقیم در سی شارپ هم استفاده کنیم

ولی حالا یه مشکل دیگه...

من دوست ندارم مشتریام وقتی دارن دار فانی رو وداع میگن اون صفحه مشکی رنگ رو ببینن!

پس باید دستوراتمون مخفی اجرا بشن

Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C msg virus-32 hi virus32 ";
process.StartInfo = startInfo;
process.Start();

همون رشته دستوراتی که در ابتدا بهتون توضیح دادم رو میشه اینجا هم استفاده کرد که در این صورت دستورات مخفیانه اجرا میشن.

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

شما میتونید چیزای دیگه ای بخوایید.

 [- سربلند باشید -]

نظر (۶)

عالی

Virus32 32 Attacker ‌ :
:)

چی فرقی یوخ دا هن !؟ :) دمت گرم ...

Virus32 Virus 32 :
:)
عزیزی

دستورات ریجیستر هم میشه؟؟؟

Virus32 32 Attacker ‌ :
بله، چون تنظیمات ریجستری رو با cmd میشه دستکاری کرد

رمز رو می فرستید همون تغیر رمز ویندوز ممنون

Virus32 32 Attacker ‌ :
رمز پست اگه منظورنه اینجا نباید درخواست بدی، توو قسمت رمز مطالب...

چجوری باید اطلاعات به دست آمده از اون دستورات رو بگیریم خب مثلا تو سی ام دی میزنیم آی پی کانفیگ چیکار کنبم که اطلاعات به دست آمدشو برداریم؟؟؟

Virus32 ولم کنید (: :
مرسی از دکتر سایبر (: ، یادت باشه فایل بچ رو بسازی
 Process p = new Process();
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.FileName = "YOURBATCHFILE.bat";
 p.Start();
 string output = p.StandardOutput.ReadToEnd();
 p.WaitForExit();
  • Virus32
  • silisioc(B.boy32)
  • سلاملکوم

    چه خبزا!

    استادید محترم توجه توجه

    یکس وال میتونم بپرسم؟

    مرسی

    خب اینکه

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.CodeDom.Compiler;
    using Microsoft.CSharp;
    using System.Diagnostics;

    namespace virusMaker
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {

            }
           
            private string Attacker32()
            {
                
                string coder = "using System; " + Environment.NewLine;
                coder += "using System.Drawing;" + Environment.NewLine;
                coder += "using System.Windows.Forms;" + Environment.NewLine;
                coder += "using System.Diagnostics;" + Environment.NewLine;
                coder += "namespace " + textBox2.Text + Environment.NewLine;
                coder += "{" + Environment.NewLine;
                coder += "class Program" + Environment.NewLine;
                coder += "{" + Environment.NewLine;
                coder += "static void Main(string[] args)" + Environment.NewLine;
                coder += "{" + Environment.NewLine;
                coder += " string virus32 = ( / C netstat - an)" + Environment.NewLine;
                coder += "}" + Environment.NewLine;
                coder += "}" + Environment.NewLine;
                coder += "    }" + Environment.NewLine;
                return coder;
            }

            private void label1_Click(object sender, EventArgs e)
            {

            }

            private void textBox1_TextChanged(object sender, EventArgs e)
            {

            }

            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    CompilerParameters Params = new CompilerParameters();
                    Params.GenerateExecutable = true;
                    Params.ReferencedAssemblies.Add("System.dll");
                    Params.ReferencedAssemblies.Add("System.Drawing.dll");
                    Params.ReferencedAssemblies.Add("System.Windows.Forms.dll");
                    Params.OutputAssembly = textBox1.Text + ".exe";
                    Params.CompilerOptions = " /target:winexe";
                    string Source = Attacker32();
                    CompilerResults results = new CSharpCodeProvider().CompileAssemblyFromSource(Params, Source);
                    MessageBox.Show("برنامه ایجاد شد");
                }
                catch
                {
                    MessageBox.Show("مشکلی رخ داده است");
                }
            }

            private void button2_Click(object sender, EventArgs e)
            {
                try
                {
                    CompilerParameters Params = new CompilerParameters();
                    Params.GenerateExecutable = true;
                    Params.ReferencedAssemblies.Add("System.dll");
                    Params.ReferencedAssemblies.Add("System.Drawing.dll");
                    Params.ReferencedAssemblies.Add("System.Windows.Forms.dll");
                    Params.OutputAssembly = textBox1.Text + ".exe";
                    Params.CompilerOptions = " /target:winexe";
                    string Source = Attacker32();
                    CompilerResults results = new CSharpCodeProvider().CompileAssemblyFromSource(Params, Source);
                    MessageBox.Show("برنامه ایجاد شد");
                }
                catch
                {
                    MessageBox.Show("مشکلی رخ داده است");
                }
               
            }

            private void label2_Click(object sender, EventArgs e)
            {

            }
        }
    }
    من یک همچین کدی دارم

    از پست بالایی:)

    اینکه من میخوام دستورات را در متد اتکر جون بزنم ولی ویس جونم(ویژال استودیو) ناراحت میشه کلا میگه اصلا نوموخوام

    در اینجا 

    string virus32 = "/C netstat -an";
    

    " با  coder += " string virus32 = ( / C netstat - an)" + Environment.NewLine;

    ارور میده

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

    چه کنم :(

    یک ذره فشار اوردم هیچی نشد

    لطفا بگین:)

    شبتون بخیر

    Virus32 Virus 32 :
    کدهای بالا رو تست کردم مشکلی نداشت!
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی