شاید برای شما هم جالب باشه که برنامه ای بسازید که خروجی نرم افزار بده بهتون
مثل ویروس میکرها و یا کامپایلر ها و ...
آموزشی که درباره اش قراره بحث کنیم در اصل ساخت کامپایلر هستش
ما میتونیم یه کامپایلر با ویژه گی هایی که دوست داریم درست کنیم
من میخوام در این پست یه برنامه ای بسازم که مخاطبم بصورت کلیکی بتونه برنامه ای که میخواد رو بسازه
یه پروژه سی شارپ در ویژوآل استودیو استارت کنید
فرقی نداره فریم وورکش چند باشه
کار خیلی ساده ای هستش فقط یکم دقت لازمه
یک عدد دکمه و یدونه هم تکست باکس فعلا کافیه
بعد کتابخونه های زیر رو اضافه کنید
using System.CodeDom.Compiler; using Microsoft.CSharp;
حالا یه کد برای ویروس باید آماده کنید
فرض کنید تکه کد زیر یه ویروسه
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace virus32 { class Program { static void Main(string[] args) { MessageBox.Show("Hello Virus32"); } } }
یادتون باشه هر جور کد و برنامه ای میتونه باشه
حتی برنامه یا ویروس گرافیکی و ویندوز فرم
ما میخواییم مخاطب با کلیک کردن روی دکمه ، این ویروس براش ساخته شه
یه متد از جنس رشته تو برنامه تعریف میکنیم و کدهای بالا رو تبدیل به یه رشته کرده برای یه متغییر نسبتش میدیم
private string Attacker32() { string coder = "using System; " + Environment.NewLine; coder += "using System.Drawing;" + Environment.NewLine; coder += "using System.Windows.Forms;" + Environment.NewLine; coder += "namespace " + textBox1.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 += @"MessageBox.Show(""Hello Virus32"");" + Environment.NewLine; coder += "}" + Environment.NewLine; coder += "}" + Environment.NewLine; coder += " }" + Environment.NewLine; return coder; }
توی متد Attacker32 یه رشته به اسم coder تعریف کردم و کدهای ویروسم رو براش تیکه تیکه توضیح دادم
حالا روی دکمه دوبار کلیک کنید و کدهای زیر رو بنویسید
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("مشکلی رخ داده است"); }
کل ماجرای ویروس میکرها همین بود
کدها و شکل های مختلفی دارن که اونا سلیقه ای هستن
برای مثال میتونیم یه ویروس میکر به شکل زیر بنویسیم که هم کدهای آماده داشته باشه هم بتونیم کدهاشو دستکاری یا کدهای جدید بهش اضافه کنیم
امیدوارم مفید بوده باشه
پیروز باد
واقعا ممنون !