(".")امنیت برنامه ها، انواع قفل های نرم افزاری و سخت افزاری در دات نت(".")
بِسْمِ اللهِ الرَّحْمنِ الرَّحيمِ
سلام خدمت همه ی دوستان عزیزبرنامه نویسی و هَک و امنیت چه تازه کار وچه کهنه کار که برای پیشرفت خودشون و جامعه شون همیشه در حال تلاش بودند و هستند:11:.
این تاپیک همونطور که از عنوانش پیداست صرفاً جهت یادگیری مقابله با هکر ها و کرکر هاست....
اینجا قراره یاد بگیریم چگونه از برنامه ی خود محافظت کنیم که به سادگی کرک نشه یا همونطور که میدونید برنامه های دیباگ شده(EXE) در دات نت همگی Open Source هستند.
چرا که خود مایکروسافت این عمل رو انجام داده(Open Source بودن پروژه های دات نت) چون در دنیای امروزی دیگه دزدیدن سورس ها و پروژه ها معنایی نداره و جایگاهی هم برای عزیزانی که سورس ها رو کپی رایت میکنن نداره(خوشبختانه:27:).
ولی در مورد ما ایرانی ها:31: این مورد یکم به قول معروف هنوز جا نیوفتاده...و سخته که ببینیم برنامه هامون سورس باز باشن و یکی بیاد با یه برنامه ی یک مگابایتی (Reflector) راحت سورس رو باز کنه و استفاده کنه.
دلیلشم اینه که ما ایرانی ها هر یک نفرمون یک برنامه نویس فوق حرفه ای هستش و شدیداً در حال پیشرفتیم و انگار هر یک نفر یک شرکت بزرگ برنامه نویسیه....واسه ی همین همه ی شرکت ها(خودمون) میخوایم از یکدیگر سبقت بگیریم و سورس کپی رایت کنیم.
البته جدیداً یکم بهتر با این موضوu برخورد میشه:10:.
بگذریم....
کار هایی که قراره در این تاپیک انجام بدیم:
1.معرفی نرم افزار های که برنامه های تحت دات نت ما رو Encrypt (کد گذاری) میکنند.
2.آموزش امنیت و مقابله با کرک شدن برنامه ها.
3.آموزش کار با انواع قفل های سخت افزاری و نرم افزاری که جلوگیری از کرک شدن نرم افزار میکنه.
4.معرفی برنامه هایی که سورس برنامه های مارو نشون می دهند.
من تا هفته آینده یا چند روز دیگه یک برنامه ی Dll که کار Encryption رو انجام میده (روش کار میکنم) اماده میکنم و در اختیار دوستان قرار میدم.
البته سعی میکنم تاپیک زیاد خشک نمونه:10:.
دوستان اگه سوالی در مورد موضوعات مطرح شده دارند میتونند همینجا بپرسند باشد که همگی از علم خودمون سود ببریم.
موفق و سلامت باشید.
امنیت نرم افزار و کار با چند قفل نرم افزاری و سخت افزاری
سلام دوستان.
اینک بعد از مدتها تصمیم به ارسال مطلب گرفتم!!!:31:
یه عذرخواهی هم به همه بده کارم بدلیل مشغله کاری و دانشگاه و....الانم امتحانام داره شروع میشه!!!:11:
خوب بگذریم بریم سر اصل مطلب....
انواع قفل که قراره فعلاً باهاش کار کنیم عبارتند از:
1.قفل سخت افزاری
2.قفل نرم افزار از طریق اینترنت
3.فعلاً چیزی به ذهنم نمیرسه انشالله برسه بحث رو ادامه میدیم.
اندکی کار و تمرین با قفل سخت افزاری:
خوب من قفل سخت افزاری زیاد بذهنم نمیرسه بنظرم فعلاً از همون قفل گذاری فلش استفاده کنیم تا ببینیم به سی دی و دیسکت میرسیم یا نه...
قفل سخت افزاری فلش چگونه کار میکنه؟
چندتا روش برای اینکار داریم:
یکی اینکه کل برنامه رو رمز نگاری کرده و پسورد حاصل رو برای بازگشایی درون فلش قرار بدیم...
دوم اینکه برنامه رمز نگاری کرده رو درون فلش قرار بدیم و با پسورد هر سری اونو از توی فلش رمز گشایی و اجرا کنیم.
و سوم اینکه از سریال نامبر فلش برای بازگشایی و اجرای نرم افزار استفاده کنیم...
امروز به دلیل وقت اندکی که دارم روش سوم رو به اختصار توضیح خواهم داد و روزهای بعد با همکاری شما عزیزان مفصل به بحث و تبادل اطلاعات خواهیم پرداخت.
چگونه سریال نامبر فلش خود را دریافت کنیم؟
خوب این راحت ترین کاریه که توی عمرم انجام دادم و فکر میکردم که خیلی سخته:31::
ابتدا باید Refrence مورد نظر با نام System.Management رو به برنامه اضافه کنید.
سپس میتونید از کدهایی که نوشتم استفاده کنید:
کد:
public static List<object> USBDiskSerial()
{
return GetObjects("select * from Win32_DiskDrive", "PNPDeviceID", "usb");
}
private static List<object> GetObjects(string quary, string propertyName, string type = "")
{
List<object> serials = new List<object>();
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(quary))
{
foreach (ManagementObject share in searcher.Get())
{
using (share)
{
if (type == "" || share.Properties["InterfaceType"].Value.ToString().ToLower() == type.ToLower())
serials.Add(share.Properties[propertyName].Value);
}
}
}
return serials;
}
برای استفاده:
کد:
foreach (var item in USBDiskSerial())
{
MessageBox.Show(item.ToString());
}
با اینکار شما سریال usb هایی که به کامپیوتر شما متصل هستند رو دارید.
ادامه آموزش در قسمت های بعدی انشالله...
التماس دعا...
موفق و سربلند باشید.