تبدیل کدهای اسکی به کارکتر :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

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

-->
آخرین نظرات
  • ۲۵ مرداد ۹۷، ۲۰:۳۵ - رموندغغغغغغغغغغغغکمفنثلنوحخ67.ا
    فیک پیج چیه؟

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

چند روز پیش داشتم روی اینکد کردن کدهای اسکی کار میکردم که خواستم یه برنامه بنویسم تا کدهای اسکی رو به کارکتر تبدیل کنه ، نوشتن این برنامه تو پایتون خیلی سادست اما از اونجایی که چند وقته دارم سی شارپ کار میکنم و یجورایی میخوام رابطم با سی شارپ خوب بشه :) بخاطر همین زد به سرم که این برنامه رو به زبان سی شارپ بنویسم تا هم نمای برنامم یه نمه خوشگل بشه و هم ... اما همین خوشگلی یه خرده مشکلات برای من پیش آورد که از ویروس کمک گرفتم و اون مشکل رو حلش کردیم و تو این پست اول مشکله رو + علتش میگم و بعدا میریم سراغ نوشتن برنامه ای برای اینکد کردن کدهای اسکی ; شاید یه خرده پستمون طولانی باشه که اگه حوصلتون نکشید برین سراغ بخش اصلیش یعنی درست کردن برنامه

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

یه پروژه به زبان سی شارپ استارت کنین و یدونه textBox و یدونه Button اضافه کنین تا بریم سراغ بررسی کدهایی که من نوشته بودم ، بعد از اوکی کردن مواردی که گفتم روی Button دوبار کلیک کنین تا برین داخل محیط کد نویسی بعدا کدای پایین رو کپی کنین داخلش

var asciiBytes = new byte[] { 86,105,114,117,115,51,50 };
            var text = System.Text.Encoding.ASCII.GetString(asciiBytes);
            textBox1.Text = text;

خب اگه پروژه رو اجرا کنین ، با زدن دکمه ای که داخل برنامه گذاشتین ، متن تکست باکس عوض میشه به Virus32 که بخاطر همین عدد های داخل آکولاد هستش که بهشون کد اسکی گفته میشه ، خب حالا که این کدهارو بررسی کردیم بریم سراغ یه کد دیگه حالا یه textBox دیگه هم به به فرم اضافه کنین و مجدد دوبار روی دکمه ی روی فرم کلیک کنین تا وارد بخش کد نویسی بشین و بعد از پاک کردن کد قبلی کدهای پایین رو اضافه کنین

var asciiBytes = new byte[] {textBox1.Text};
            var text = System.Text.Encoding.ASCII.GetString(asciiBytes);
            textBox2.Text = text;

در واقع این کدیه که من برای خودم نوشته بودم تا وقتی کد اسکی رو داخلش تکست باکس یک گذاشتم و دکمه رو زدم تکست باکس دو تبدیل بشه به کارکترای مورد نظرم ، اما وقتی کدهارو کپی کنین بهتون ارور میده که به شرح زیر هستش :)

Cannot implicitly convert type 'string' to 'byte'

حالا این ارور بخاطر چی هستش ؟

تو خط اول ما باید یدونه آرایه تعریف میکردیم و روی اون آرایه حرکت میکردیم و عملیات اینکد رو انجام میدادیم تا به آخرین کد اسکی که با , جدا شده برسیم
بعد اینکه تو خط دوم ما بجای آرایه یدونه شی ء ساختیم که اینکار کار درستی نیستش و باعث میشه که ارور ما ایجاد بشه

حالا بریم سراغ ساخت برنامه ی اصلی

نیازی نیست پروژه جدید ایجاد کنین و خودتونو خسته کنین ، فقط یدونه textBox دیگه به پروژه قبلی اضافه کنین که جمعا میشه سه تا textBox و یدونه هم Button ، حالا روی دکمه دابل کلیک کنین و کدهای پایین رو توی اون اضافه کنین تا بریم سراغ توضیحات کد ها

char virus32;
if (textBox1.Text != string.Empty)
{
string[] x = textBox1.Text.Split(new Char[] {','});
foreach (string y in x)
{

if (y.Trim() != "")
{ textBox3.Text = y.ToString(); virus32 = (char)Convert.ToInt32(textBox3.Text ); textBox2.Text = textBox2.Text + virus32.ToString(); }
} }

خب توضیحات کدها به این شرحه که تو خط اول یه متغیر با اسم virus32 تعریف کردیم که از نوع کارکتر یا همون char هستش ، بعدا گفتیم که اگر متن تکست باکس یک خالی نبود ، یدونه آرایه با اسم x درست کن و متن تکست باکس یک رو شکاف بده تا برسی به مجموعه ای که " , " ختم بشه

بعدا با استفاده از حلقه ی foreachبه خونه های داخل آرایه دسترسی پیدا کردیم ، حالا این دستور foreach چی هستش ؟ تو زبان سی شارپ، زمانی که ما یه آرایه تعریف می کنیم، در حقیقت یک مجموعه قابل شمارش (Enumerable) تعریف کردیم که توی دات نت مجموعه های قابل شمارش زیادی وجود داره ، اما منظور از قابل شمارش چی هستش ؟ نوع های قابل شمارش، نوع هایی هستن که ما می تونیم بوسیله دستور foreach به خانه های آنها دسترسی داشته باشیم  ، خب برگردیم سراغ ادامه ی توضیحات ، بعدا توی همون حلقه یه شرط گذاشتیم و خروجیه حلقمون رو که y هستش پاکسازی کردیم ، یه پرانتز اینجا باز کنم و نحوه ی کار رو بگم تا بریم سراغ ادامه ی توضیحات تا گیج نشین ، نحوه ی کار برنامه به این شکل هستش که کدهای اسکیی رو که با " , " جدا شدن رو میریزیم تو تکست باکس سه و از روی اون اینکد میکنیم و میریزیم داخل تکست باکس دوم و این ترتیب ادامه داره تا به آخری برسه بخاطر همین وقتی که به آخرین کد اسکی که با " , " جدا شده میرسیم ، توی تکست باکس سوم باقی میمونه ، خب دو خط دوم رو هم بگم که ما تکست باکس سه رو متنشو تبدیل کردیم به نوع داده int یا عدد صحیح بعدا تکست باکس دوم رو برابر کردیم با متغیر virus32 که به رشته تبدیل شده

اینم یه تصویر از محیط برنامه که اگه واضح نبود روش کلیک کنین

موفق باشید

نظر (۷)

داداش سلام
میگم حالا که میونت با سی شارپ خوب شده میشه اگه وقت داشتی یه آموزشم درباره ی ساخت کرکر با سی شارپ بزاری ؟؟؟؟
MR C0D3R :
سلام ، قول میدم بزارم ولی نه الان ، تقریبا چند وقت دیگه
سلام داداش چی شد نگفتی متغیر به چه دردر می خوره
MR C0D3R :
سلام کامنت خصوصی داده بودی که ما هم نمیتونیم به کامنت های خصوصی جواب بدیم ، کامنتت رو خوب متوجه نشدم اما اگه منظورت این بود که چرا باید نوع داده رو هم مشخص کنیم موقع تعریف یک متغیر برات یه مثال دارم ، بنظرت ما میتونیم یه متغیر از نوع int تعریف کنیم و داخلش مقدار رشته ای یا همون string بریزیم ؟ خب مسلما نمیشه اینکار رو انجام داد در نتیجه باید نوع متغیر رو تعریف کنیم ، اگه بخوام کامنتتو از یه بعد دیگه بهش نگا کنم یه مثال ساده ی دیگه برات میزنم ، فکر کن میخوای یه ورودی از کاربر بگیری و اونو چاپ کنی ، حالا بنظرت راهکارت جواب میده یا نه ؟ در نتیجه باید داخل یه متغیر ذخیره کنیم (اگه نیازی هم بود نوع متغیر رو میتونیم پایینش تغییر بدیم) بعدا به کاربر میگیم که یه مقدار رشته ای وارد کن بعدا به قول خودت میگیم که
print(myString)
حالا بنظرت بازم جواب میده که بگیم :
print ("A simple")
اگه کامنتتو خوب متوجه نشدم یبار درست و حسابی بپرس اگه متوجه شدم دقیق تر میگم اینارو همینجوری هوایی گفتم چون احساس کردم سوالت به اینجور چیزا هم مربوطه
داداش من میگم چرا باید از متغیر ها استفاده کنیم؟!!
میگم مثلا وقتی مثلا تو برنامه ای میگیم "mystring "Ali
(Print (mystring بجای این یک بار میتونیم بگیم "print"ali
MR C0D3R :
چون بتونیم یه مقدار رو داخلش بریزیم ، چون متغیر ها فضایی هستن که میتونیم یه مقداری رو داخلش ذخیره کنیم ، خب اونی که تو میگی برای داخل اسکریپت هستش ، اونوقت فکر کن بخوای یه ورودی از کاربر بگیری اونموقع میخوای چیکار کنی ؟ اونموقع باید تو یه متغیری چیزی ذخیره کنی که بتونی بگی اون متغیر رو چاپ کن دیگه :(
داداش یک سوال الان می خوام تو پایتون از کاربر ورودی بگیرم و ورودی در خروجی فایل نوت پدذخیره کنه تکه کدش چیه ؟!!
MR C0D3R :
یه اسکریپت ایجاد کن و کدهای پایین رو کپی کن داخلش
text = raw_input("Enter your text => ")
file = open('FileName.txt','w')
file.write(text)
file.close()
del(text)
یه متغیر با اسم text درست کردیم و بعد از گرفتن ورودی از کاربر ریختیم داخلش ، یه متغیر با اسم file درست کردیم و یه فایل txt ایجاد کردیم با مود Write بعدا تو خط سوم اسم متغیر file رو آوردیم و متغیر text رو داخل فایل Write کردیم ، تو خط چهارم فایل رو بستیم ، تو خط پنجم متغیر text رو پاک کردیم که البته میتونیم پاکش نکنیم :(
در خط اول raw چیست؟!! و در خط دوم W چیست؟!!
MR C0D3R :
فک کنم شما داری پایتون 3 کار میکنی ، چون توی پایتون 3 برای گرفتن ورودی از input استفاده میشه و تو پایتون 2 از  raw_input ، اگه واقعا نمیدونی اینجور چیزای ابتدایی چیه بهت پیشنهاد میکنم حتما کتابی که اینجا گذاشتم رو بخونی ، در مورد سوال دومت اینکه w مخفف write هستش ، write توی انگلیسی یعنی نوشتن ، ما همون مود write رو همونطور که گفتم فراخوانی کردیم و توی فایل متغیرمون رو نوشتیم
salam chetori mibinam c# ham khob iadgerefti :D
verya hastam age beshnasi ghablan to gp ba ham bodim
vaght kardi on matlabe keylogger ba c# ro edame bede
man to site dige admin nistam
be virus32 ham salam bereson
Virus 32 :
سلام عزیز
امیدوارم خوب باشی
خوشحال شدم اسمت رو دیدم ;)
داداش اون قسمت ()y.trim منظور چی هستش ؟؟
Virus 32 :
فاصله ها رو از ابتدا و انتهای کاراکتر های انتخاب شده (y) پاک میکنه
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی