-
1 ضمیمه
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام به همه دوستان که در بحث شرکت کرده اند
راستش را بخواهید من اصلا متوجه نشدم که خلاصه اوزوم بوروم حلال است یا حرام برای این منظور
من یک Exe کوچولو قرار دادم که یک رشته ورودی درخواست میکند لطفا دوستان هرکس میتواند بگوید رشته ورودی چیست ؟ بعد سورس آن را قرار میدهم
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام دوستان
این کد شما دوست عزیز
private void button1_Click(object sender, EventArgs e)
{ string str = ""; char[] chArray = new char[] { 'A', 'K', 'U', 'B' };
for (int i = 0; i < chArray.Length; i++)
{
str = str + chArray[i].ToString();
}
MessageBox.Show((this.textBox1.Text == str) ? "Ok" : "Not");
}
و آن رشته برابر است با AKUB
راه چاره چیست ؟
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
فکر کنم منظور دوست عزیز پیچیدگی فهمیدن رشته بوده ؟؟؟؟
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام و تشکر از شما دوست عزیز
با چه ابزاری DeCode کردید؟ و چی باید نوشت تا Decompile نشود؟
کدمن این بود چرا متغیر Crack نیست ؟
bool Crack = false;
string SumC = "";
char[] C = new char[] { (char)65, (char)75, (char)85, (char)66 };
for (int i = 0; i < C.Length; i++)
SumC += C[i].ToString();
Crack = this.textBox1.Text == SumC;
MessageBox.Show(Crack ? "Ok" : "Not");
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
ASKaffash
سلام و تشکر از شما دوست عزیز
با چه ابزاری DeCode کردید؟ و چی باید نوشت تا Decompile نشود؟
دوست عزیز بحث اینجا با چی decode کردی نیست.
بحش ما اینه که نذاریم decode بشه یا اگه decode میشه نتونن هکش کنند.
ولی بهر حال: با .Net Reflector دی کد شده.
-
1 ضمیمه
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام
ااا چی شد ؟؟؟؟؟
این را من از Reflector گرفتم.
دوستان کمک کنید ببینیم چی شد.
شما مطمئنید کدتان همین است ؟؟؟؟
-
1 ضمیمه
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
میشه منم یک exe بزارم؟ با زدن دکمه اگر رمز رو درست بدهید یک پیام مناسب میدهد
این تازه 20% از تحرکات امنیتی بنده است
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام
درست است که رشته لو رفته ولی نتیجه متفاوت است ظاهر متغیر Crack حذف شده!
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
ASKaffash
سلام
درست است که رشته لو رفته ولی نتیجه متفاوت است ظاهر متغیر Crack حذف شده!
درسته
فکر کنم بشه نتیجه گرفت ( البته از بحث این دی کد کردن ) :
که اگر پروژه بزرگی داشته باشیم و آن را جوری خاص برنامه نویسی کنیم ( با استاندارد های از پیش تعریف شده ) می توان از هک شدن آن جلوگیری کنیم.
ولی با این حال باز هم برنامه شما قابل وارد شدن است.
اگر یکی از دوستان پروژه بزرگتر باامنیت بالاتری بگذارد بهتر است. ( اساتید کجایید ما اینجا ایم بیایید :لبخند:)
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام
خدا خیرت دهد سرچ کردم Free نرم افزار را پیدا نکردم میشود یک جوری به ما هم کپی Reflector را بدهید
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
دوستان من این رو می گم همونطور که هیچ انسانی کامل نیست هیچ زبان برنامه ای هم کامل نیست حالا چه برسه به زبان های برنامه نویسی ... مسلماً من نوعی اگر دارم با هم زبان برنامه نویسی نرم افزار خودم رو می نویسم خودم تدابیر شدید امنیتی (نظیر : کد فعال سازی , قفل یو اس بی , شماره سریال نرم افزار و ... )رو روی نرم افزار رعایت می کنم .
دات نت دلیلی بر اینکه امنیتی نداره نیست ...
اگر اینطور باشه خوب سیستم عامل ویندوز رو وقتی Crack می کنن که اون رو با سی نوشتن چی باید بگیم ...
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
دوستان به موضوع تاپیک دقت بکنند و بعد پست بزارن
1- ما اینجا دررابطه با نرم افزار Reflector بحث نمی کنم
2- اینجا بخش امنیت سایت نیست که فایل Exe بزارین و Decompile کنید
و...
لطفا درباره موضوع تاپیک بحث نمایید ( با تشکر از مدیران که پست های اضافی رو حذف میکنند [ فکر کنم این پست منم باید حذف شه ] )
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
فکر می کنم اگه تعدادی مقاله در مورد Obfuscate کردن بخونید خوب باشه.
درسته که decompile کردن برنامه Native خیلی سخت تر از برنامه هایی که با .NET و یا جاوا نوشته شده اما توی مطالبی که خوندم یادم نمی یاد که از این موضوع به عنوان ضعف امنیتی اسم برده باشن.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام به همه دوستان
حالا چه جوری برنامه بنویسیم که خیلی راحت نشه Decomplie کرد رفتم Decompile بعضی از ابزارها مثل ActiveReport3 , Janus2008 را دیدم به نظرم اگر کسی وقت بذاره میتونه یک کارهائی انجام بده فقط یک کم بیشتر پیچونده بودن! لطفا دوستان با تجربه یک راهنمائی یک چیزی بکنند (قول میدیم جبران کنیم)
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
با سلام و عرض ارادت به همه دوستان
من فکر میکنم همه در این واقعیت شک نداشته باشند که اصلی ترین محصول شرکت مایکروسافت سیستم عاملی است که تولید می کند.تا اونجایی که من یادم می آید هر وقت شرکت مایکروسافت سیستم عاملی رو تولید کرده چند وقت بعد توسط هکرها حفره های امنیتی اون سیستم عامل کشف شده و به گوش جهانیان اطلاع رسانی شده. وجود Service Pack های شرکت مایکروسافت برای سیستم عامل های تولید شدش این واقعیت رو اثبات می کنه.
حالا اگه بخواهیم بدون غرض ورزی به دیگر محصولات مایکروسافت ( دات نت ) نگاه کنیم ، احتمال این وجود خواهد داشت که توی دات نت هم حفره امنییتی وجود داشته باشه . در جواب آقای ارژنگ :
نقل قول:
از لحاظ امنیتی دات نت هیچ چی کم ندارد، به اندازه کافی مقاله در مورد امنیتی دات نت در سایت مایکروسافت وجود دارد، اگر کسی در مسائل امنیتی دات نت مشکلی پیدا کند، به احتما زیاد مایکروسافت بهش پیشنهاد استخدام میده!
اما در جواب آقای حضوری که گفته بودن :
نقل قول:
سیستم عامل ویندوز رو وقتی Crack می کنن که اون رو با سی نوشتن چی باید بگیم ...
توی یک برنامه تلوزیونی آقای خسرو معتضد (یکی از بزرگتر مورخین ایران ) میگفتد : زمانی انگلیس تریاک رو به رایگان در اختیار ایرانی ها قرار میداده و بعد از اینکه تریاک کشیده شد ، سوخته های تریاک رو از ایرانی ها می خریده!!! تا با اینکارش اکثر مردم ایران رو معتاد بکنه
من فکر میکنم اکثر این Crack هایی که برای سیستم عامل ویندوز نوشته میشه به صورت غیر مستقیم زیر نظر شرکت مایکروسافت می باشد تا به اهداف بلند مدت خود دست پیدا بکنه ! باید توجه داشته باشیم که ، وقتی توی همین سایت کاربرانی وجود دارند که ادعا می کنند کاملا" امن کد مینویسن ، پس شرکت مایکروسافت هم می تواند در حالت امن سیستم عامل های خود را توسعه دهد !
اما به قول آقای ASKaffash خیلی خوب می شود اگه آقای ali_kolahdoozan که تجربه عملی در زمینه پروژهای تجاری بزرگ دارند و اعتقاد کامل به امنیت برنامه ها شون دارند ، توضیحاتی در مورد مراحل و راه کار های استاندارد سازی برنامه های safe بدهد . البته خیلی بهتر می شد اگه راه کارهایی که ارئه می دهند ابتکاری و تجربی باشد همچنین کامل (با تمام جزئیات) بیان کنند.
با تشکر از ایشان و دیگر اساتید پاسخ دهند .
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
من که یک exe گزاشتم . برید یک نگاهی بهش بیندازید تا بعد توضیح بدهم
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
همینطور که اگه با ++C یا Delphi یا هر زبان دیگه ای نوشته بشه باز هم همین قدر امکانش هست که برنامه کرک بشه.
نقل قول:
دوست عزیز این .NET بیدی نیست که با این باد ها بلرزه کرک کردن برنامه هایی که با .NET نوشته می شن خیلی سخت تر هستش از برنامه هایی که با مثلا Delphi نوشته می شه . شاید یکی از دلایلش این باشه که برنامه به طور مستقیم تبدیل نمیشه بلکه اول به یک صورت خاص کد می شه بعد در زمان اجرا یک برنامه دیگه میاد و اون ها رو تبدیل می کنه به زبانی که سیستم عامل بتونه اون ها را کنترل کنه .
دو مطلب فوق صحیح نیستند. کدهای دات نت علاوه بر اینکه قابلیت خوانایی IL بالاتر از اسمبلی سخت افزار مقصد هست، Meta data کاملی را با خودشان حمل می کنند که می توان با کمک آن کد ساختار کد را بازسازی کرد.
همچین چیزی در کدهای Native به این شکل وجود نداره، و ادعای اینکه در این زمینه وضعیت کدهای دات نت با کدهای Native دلفی یا ++C برابر (یا بهتر!!) هست، ادعای اشتباهی است.
نقل قول:
توی اينجا دات نت نسبت به Native يه حسن داره، و اون اينه كه فرم ها و ديگر Object ها Resource نيستند. ( البته تو ++C ميشه اين كار رو كرد ولی تو Delphi نمی دونم )
همانطور که گفتم، دات نت Meta data هر ماجول را در همان ماجول نگهداری میکنه، و در این زمینه خاص برتری نسبت به ++C یا دلفی نداره. دلفی در صورت استفاده از Form Designer آن، ساختار رابط گرافیکی کاربر را بصورت Resource نگهداری میکنه. در نهایت با این Resource شما به رابط گرافیکی کاربر دسترسی پیدا خواهید کرد، نه به کد نوشته شده. البته برای برنامه نویس دلفی این امکان وجود داره که فرم را در Runtime تولید کنه، یا مثل ++C کاملا از دستورات Win32 API برای ساخت رابط کاربر استفاده کنه. انتخاب با برنامه نویس هست.
نقل قول:
ایده اگر آنقدر براتون با ارزش هست که نمیخواین فاش بشه یا برنامه الگوریتمش آنقدر حیاتی هست که فاش شدنش خسارات جبران ناپذیری به بار میاره اون موقع شما هم باید برای الگوریتم و ایده تون خرج کنید و با خرید ابزارهای .NET to Native برنامتون رو به Native Code تبدیل کنید که یه نمونه خوب همچین برنامه ای 1500 دلار قیمتشه!
اون وقت باید برنامه نویس از بخشی از قابلیت های دات نت مثل Portability یا Optimize کردن کد بر اساس معماری سیستم مقصد، بگذره. در اون صورت تنها دلیل عمده ایی که کسی بخواید برنامه را با دات نت بنویسه کتابخانه کلاس های دات نت خواهد بود.
نقل قول:
کدمن این بود چرا متغیر Crack نیست ؟
بخاطر اینکه کامپایلر کد شما را Optimize کرده و در فرایند optimize کردن کد، متغیر Crack را فاقد ارزش تشخیص داده، و آن را از کد حذف کرده.
در این زمینه خاص، مشکل دات نت در ذخیره Meta data بدون حفاظت مشخص هست، و برنامه نویس باید خودش با ابزارهای مختلف این اطلاعات را به نوعی حفاظت کنه، در حالی که میشد این قابلیت را ایجاد کرد که در هنگام کامپایل این بخش از اطلاعات با یک سری حفاظت های خاص در فایل نوشته بشند.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
پس با این حساب سی شارپ تعطیل همه میریم که سی پلاس پلاس کار کنیم. :بامزه:
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
پس با این حساب سی شارپ تعطیل همه میریم که سی پلاس پلاس کار کنیم
این حرف اصلاً درست نیست و مقایسه بین این دو زبان هم اصلاً کار درستی نیست
C++ زبان سطح بالایی هستش که باهاش کارهای بزرگتری مثل نوشت ویندوز و لینوکس میشه باهاش انجام داد
اما C#.NET یک زبان Object oriented هستش و تمام خواص مربوط به این تکنولوژی را داراست و بوعد برنامه نویسی را در همین چهار چوب حرکت میده
البته با C++ هم میتوان Object oriented کار کرد ولی مستلزم کار بسیار زیادی هستش
نقل قول:
دو مطلب فوق صحیح نیستند. کدهای دات نت علاوه بر اینکه قابلیت خوانایی IL بالاتر از اسمبلی سخت افزار مقصد هست، Meta data کاملی را با خودشان حمل می کنند که می توان با کمک آن کد ساختار کد را بازسازی کرد.
همچین چیزی در کدهای Native به این شکل وجود نداره، و ادعای اینکه در این زمینه وضعیت کدهای دات نت با کدهای Native دلفی یا ++C برابر (یا بهتر!!) هست، ادعای اشتباهی است
با اجازه از استاد
میخواستم بگم خانواده استادیو که از سال 2000 به بازار آمد در هر بار ورود نسل جدید خود به بازار پیشرفتهای شایانی انجام داد و به نظر من این موردی که شما فرمودید به احتمال خیلی زیاد در ورژنهای بعدی امکان رفع عیب وجود دارد
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
با عرض سلام خدمت آقای موسوی
نقل قول:
نوشته شده توسط
keivan mousavi
نقل قول:
پس با این حساب سی شارپ تعطیل همه میریم که سی پلاس پلاس کار کنیم
این حرف اصلاً درست نیست و مقایسه بین این دو زبان هم اصلاً کار درستی نیست
به نظر من مقایسه باید انجام بشه تا محاسن و معایت هر کدوم از زبان های برنامه نویسی مشخص بشه تا در زمینه های مختلف کاری مناسب ترین زبان رو انتخاب کنیم.
نقل قول:
نوشته شده توسط
keivan mousavi
با C++ هم میتوان Object oriented کار کرد ولی مستلزم کار بسیار زیادی هستش
میشه بیشتر توضیح بدین منظورتون از کار بسیار زیاد چیه؟؟؟
چون من با ++c که برنامه های Object Oriented مینوشتم حدودا" 90% Syntax شی گرای مثل #C بود!
نقل قول:
نوشته شده توسط
keivan mousavi
میخواستم بگم خانواده استادیو که از سال 2000 به بازار آمد در هر بار ورود نسل جدید خود به بازار پیشرفتهای شایانی انجام داد و به نظر من این موردی که شما فرمودید به احتمال خیلی زیاد در ورژنهای بعدی امکان رفع عیب وجود دارد
مشکل اینجاست که مایکروسافت و پیروانش اصلا" این موضوع رو عیب نمیدانند و کاملا" از موضع قدرت صحبت میکنند و ادعا میکنند یکی محاسن دات نت اینکه کد Native تولید نمیکنه و این امر باعث به وجود آمدن برنامه های مستقل از پلتفرم در سیستم مقصد می شود.
در صورتی که به نظر بنده حقیر باید مایکروسافت امکانی رو در IDE VS قرار می داد تا خود برنامه نویس بسته به شرایط اختصاصی خودش تعیین کنه که کد Native به وجود بیاد یا کد IL
با تشکر از جناب آقای کشاورز
نقل قول:
نوشته شده توسط
علی کشاورز
بخاطر اینکه کامپایلر کد شما را Optimize کرده و در فرایند optimize کردن کد، متغیر Crack را فاقد ارزش تشخیص داده، و آن را از کد حذف کرده.
من فکر میکنم که این فرآیند optimization توسط کامپایلر صورت نگرفته و Reflector بوده که باعث حذف شدن متغییر های بلا استفاده میشه (برای مقابله با نرم افزار هایی که باعث ناخوانا شدن کد ها می شوند)
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
alireza_tavakol
به نظر من مقایسه باید انجام بشه تا محاسن و معایت هر کدوم از زبان های برنامه نویسی مشخص بشه تا در زمینه های مختلف کاری مناسب ترین زبان رو انتخاب کنیم.
هر کاری ابزار خودش را دارد. و هر زبان برنامه نویسی کمبود و قدرتمندیهایه خودش را دارد. ولی کار با سی شارپ و یا سی پلاس پلاس در داتنت با هم هیچ فرقی ندارند، دارید مقایسه پلاتفرمهایه برنامه نویسی را با مقایسه زبانهایه برنامهنویسی اشتباه میگیرید.
نقل قول:
نوشته شده توسط
alireza_tavakol
میشه بیشتر توضیح بدین منظورتون از کار بسیار زیاد چیه؟؟؟
چون من با ++c که برنامه های Object Oriented مینوشتم حدودا" 90% Syntax شی گرای مثل #C بود!
اگر ۹۰٪ درصد مانند سی شارپ بود پس فقط شما ۱۰٪ دلیل لازم دارید که یکی را به دیگری ترجیح بدید ولی من شخصا ترجیح میدم به جایه برنامه نویسی یک شغل دیگر پیدا کنم تا اینکه با سی شارپ کار کنم(سی شارپ خالی نه سی شارپ دات نت).
نقل قول:
نوشته شده توسط
alireza_tavakol
مشکل اینجاست که مایکروسافت و پیروانش اصلا" این موضوع رو عیب نمیدانند و کاملا" از موضع قدرت صحبت میکنند و ادعا میکنند یکی محاسن دات نت اینکه کد Native تولید نمیکنه و این امر باعث به وجود آمدن برنامه های مستقل از پلتفرم در سیستم مقصد می شود.
در صورتی که به نظر بنده حقیر باید مایکروسافت امکانی رو در IDE VS قرار می داد تا خود برنامه نویس بسته به شرایط اختصاصی خودش تعیین کنه که کد Native به وجود بیاد یا کد IL
این ربطی به امکانات در IDE VS ندارد، با دات نت اس.دی.کی این امکانات موجود است.
حالا به فرض هم بگیریم که این چیزی که میگید درست هست .مشکل چیه؟
نقل قول:
نوشته شده توسط
alireza_tavakol
من فکر میکنم که این فرآیند optimization توسط کامپایلر صورت نگرفته و Reflector بوده که باعث حذف شدن متغییر های بلا استفاده میشه (برای مقابله با نرم افزار هایی که باعث ناخوانا شدن کد ها می شوند)
دلیل و یا مدرکی برایه این فکر دارید؟
این تاپیک از اول با بیان کردن نتیجه شروع شده، تیتر این تاپیک کاملا نشان میده که سوال نیست، بلکه دنبال پیدا کردن دلیل برایه نتیجه اینکه "چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!" هست. این تاپیک بی معنی است، نه سوال هست که بخواهیم جواب بدیم.نتیجه را نمیشه به جایه عنوان بیان کرد، با موضوع این تاپیک باید مزینات دات نت را بیان کرد که با کم بود امنیت بازهم به استفادهاش میارزه! در ثانی کمبود امنیت دات را کجا در آوردید؟ اگر بحث چیزه دیگری است، این تاپیک را ببندیم و تاپیک جدید مشخص بزنیم، ادامه دادن این تاپیک در این حالت کنونیش بیفایده است.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
میشه بیشتر توضیح بدین منظورتون از کار بسیار زیاد چیه؟؟؟
چون من با ++c که برنامه های Object Oriented مینوشتم حدودا" 90% Syntax شی گرای مثل #C بود
دوست گرانقدر من آقای توکلی
منظور من از کار زیاد اینه که وقتی شما میخواهید واسطه گرافیکی برای کاربر ایجاد کنی یک مشکل بزرگ و کد نویسی حجیمی را میخواهد ولی در C#.NET اینگونه نیست و واسطه گرافیکی خود به خود موجود میباشد با توجه به اینکه شما میتوانید با توابع بسیار قدرتمند C#.NET مانند XML , XAML , GUI از این امکانات به بهترین نحو ممکن استفاده کنی
همانطور که خودشما مطلع هستید در بخش کلاسها در C#.NET با C++ خیلی تفاوت داره و باعث راحت تر نویسی کد در برنامه میشه
مثال دیگر وقتی شما در C#.NET میخواهید یک TEXTBOX فقط فارسی بنویسد احتیاج به یک خط کد دارید ولی این مسئله در C++ به این آسونیها مقدور نیست
به همین خاطر عرض کردم که Object Oriented نویسی با C#.NET خیلی آسان تر از C++ هستش
و به نظر من هر کسی را بهر کاری ساختن
و فکر کنم بقیه مسائل رو آقای آرژنگ به بهترین نحو ممکن توضیح دادن
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام من امروز تونستم با Reflector قفل برنامه ای رو که یک ماه پیش خریده بودم رو بشکنم.
تمام سورس برنامه نویس بیچاره در این برنامه مشخص بود.
کلا از این سی شارپ نا امید شدم. .net فقط به درد برنامه های اوپن سورس و یا فری میخوره.
خیلی وقت ها پیش میاد که چیز های ساده و پیچیده رو پشت پرده برای کاربر مخفی میکنیم مثلا فرم ها یا خیلی چیزهای نمایشی که هیچ کاری انجام نمیده اگه قرار باشه هر بی سوادی مثل من بیاد و ته و توی برنامه رو در بیاده پس معنای EXE چیه؟
از یه برنامه نویس قدر هم در این زمینه پرسیدم گفتند که هیچ راهی برای لو نرفتن کند .net وجود نداره و بعضی از کارها فقط کد رو کمی ناخوانا میکنه و تنها راه برای مخفی کردن کد استفاده از وب سرویس هست.
خوش باشید
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
سلام من امروز تونستم با Reflector قفل برنامه ای رو که یک ماه پیش خریده بودم رو بشکنم.
تمام سورس برنامه نویس بیچاره در این برنامه مشخص بود.
کلا از این سی شارپ نا امید شدم. .net فقط به درد برنامه های اوپن سورس و یا فری میخوره.
خیلی وقت ها پیش میاد که چیز های ساده و پیچیده رو پشت پرده برای کاربر مخفی میکنیم مثلا فرم ها یا خیلی چیزهای نمایشی که هیچ کاری انجام نمیده اگه قرار باشه هر بی سوادی مثل من بیاد و ته و توی برنامه رو در بیاده پس معنای EXE چیه؟
از یه برنامه نویس قدر هم در این زمینه پرسیدم گفتند که هیچ راهی برای لو نرفتن کند .net وجود نداره و بعضی از کارها فقط کد رو کمی ناخوانا میکنه و تنها راه برای مخفی کردن کد استفاده از وب سرویس هست
شما یک فایل EXE رو باز کردید قبول
ولی همین کارو میتونی با فایلهای DLL انجام بدی؟
اگه میشه پس علت استفاده از فایلهای DLL چیه؟
شما میتونی حتی فایلهای DLL رو باز کنی و بخونی ولی واقعاً کدی که با C#.NET نوشتی همونه؟
دوست عزیز من شما معماری رایانه رو فراموش کردی
همینجاست که فرق یک مهندس نرم افزار با یک برنامه نویس معمولی معلوم میشه
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
keivan mousavi
شما یک فایل EXE رو باز کردید قبول
ولی همین کارو میتونی با فایلهای DLL انجام بدی؟
اگه میشه پس علت استفاده از فایلهای DLL چیه؟
شما میتونی حتی فایلهای DLL رو باز کنی و بخونی ولی واقعاً کدی که با C#.NET نوشتی همونه؟
دوست عزیز من شما معماری رایانه رو فراموش کردی
همینجاست که فرق یک مهندس نرم افزار با یک برنامه نویس معمولی معلوم میشه
منظور شما رو متوجه نمیشم.
این برنامه ای که گفتم سه فایل dll داشت که Reflector با گرفتن آدرس این فایل ها کدهای استفاده از اونها رو نشون داد.
چه فرقی میکنه که کدی که از Reflector گرفتم با کدی که کاربر نوشته یکی باشه؟ مهم اینه که من میتونم با کپی کردن توابع این برنامه نویس در برنامه خودم یه کپی از برنامش درست کنم که دارم میکنم.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
saeed2rele
منظور شما رو متوجه نمیشم.
این برنامه ای که گفتم سه فایل dll داشت که Reflector با گرفتن آدرس این فایل ها کدهای استفاده از اونها رو نشون داد.
چه فرقی میکنه که کدی که از Reflector گرفتم با کدی که کاربر نوشته یکی باشه؟ مهم اینه که من میتونم با کپی کردن توابع این برنامه نویس در برنامه خودم یه کپی از برنامش درست کنم که دارم میکنم.
این برنامه چکار میکنه؟
وقتی که تمام شد میخواهید بفروشید یا اینکه کدش را همینجا پست کنید؟
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
سلام
بیش از 60 پست در این تاپیک داده شده اما تاکنون به هیچ نتیجه مشخصی نرسیده جز این که برخی با تعصب از #C حمایت می کنند و برخی به عکس از امنیت آن ایراد می گیرند!
(البته یک سری نکاتی که می گویم شخصا عقاید خودم است. )
مهمترین مشکلی که ما در ایران داریم سیستم بیمار گونه صنعت در کشور است که متاسفانه این مساله در صنعت نرم افزار به دلیل عدم پویایی نمود بیشتری دارد. در ایران هیچ نرم افزاری امن نیست. از نرم افزارهای کد باز گرفته که برخی آن را به نام خود تغییر می دهند تا نرم افزارهای کد بسته که خوشبختانه موجب شده که دوستان کلسیون های گوناگونی از آن ها را در کامپیوتر خویش نصب کنند!
بحث سر این است که به دلیل همین سیستم بیمار گونه نگاه ما به امینت نرم افزار یک نگاه کاملا جهان سومی است. از دیدگاه ما یک زبان برنامه نویسی خوب زبانی است که امکان مهندسی معکوس در آن پایین باشد! تا جایی که من می دانم بحث امنیت کد چیزی نیست که اینجا این قدر ساده در مورد آن صحبت می شود چون اساسا چیزی که عنوان این تاپیک است در امنیت کد در رتبه های پایین تری است!
وقتی صحبت از امنیت می کنم یعنی بررسی این که آیا این امکان وجود دارد که انواع خطاهای سرریز یا از بین رفتن بیت ها در مقادیر حافظه یا هزار و یک مشکل دیگر در ساختمان حافظه به وجود بیاید نه این که قبل از تحلیل پروژه و طراحی سیستم به فکر این باشیم که روتین نرم افزار ما سرقت شده است!!!! مشکل همین جاست! حتی شرکت هایی مثل مایکروسافت هم که در انحصارطلبی زبانزد هستند نیز بحث محافظت از کد را در آخرین مرحله طراحی پروژه لحاظ می کنند. دقت کنید که این امر به دلیل عدم اهمیت امنیت روتین برنامه نیست بلکه به این دلیل است که اصولا طراحی معماری نرم افزار و امنیتی که در جای جای برنامه باید لحاظ شود آن قدر اهمیت دارد که در صورت پرداختن بیش از حد به امنیت کد مجالی برای پرداختن به بحث اصلی باقی نمی ماند!
نقل قول:
دوست عزیز من شما معماری رایانه رو فراموش کردی
همینجاست که فرق یک مهندس نرم افزار با یک برنامه نویس معمولی معلوم میشه
معماری رایانه ربطی به مهندسی کامپیوتر ندارد چون خوشبختانه 99 درصد مهندسان چیزی از معماری نمی دانند و حتی 10 درصد انرژی ای که بر روی GUI می گذارند بر روی ساختمان برنامه نمی گذارند!
فکر نمی کنم که این پست نیز کاملا علمی باشد اما ای کاش نگاه برنامه نویسان ما نیز منطقی باشد! ملاک ها عوض شود! نه به تعصب بی جا به #C و نه به محو کردن ++C ! ضمن این که ملاک قدرت یک زبان امکان مهندسی معکوس یا عدم امکان آن نیست!
در پایان فکر می کنم که این تاپیک خیلی جالب نیست!! به عنوان تاپیک توجه کنید:
فرض: .Net امنیت ندارد.
در برنامه های تجاری از آن استفاده می شود.
حکم: چرا با وجود فرض از .Net استفاده می شود.
واضح است که این دستور ریاضی , علمی نیست چون فرض ثابت نشده و ضمن این که امنیت در فرض مساله تنها از یک زاویه کوچک بررسی شده بنابراین پیشنهاد می کنم یک تاپیک در بخش تکنولوژی های مایکروسافت برای بررسی همه جانبه .Net ( بدون تعصب ) ایجاد شود و همگان با دلیل و مدرک اظهار نظر کنند.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
سلام
بیش از 60 پست در این تاپیک داده شده اما تاکنون به هیچ نتیجه مشخصی نرسیده جز این که برخی با تعصب از #C حمایت می کنند و برخی به عکس از امنیت آن ایراد می گیرند!
(البته یک سری نکاتی که می گویم شخصا عقاید خودم است. )
دوست عزیز من
من با تعصب از C#.NET صحبت نمیکنم ولی از اینکه ببینم برنامه نویسان مهترم قوائد برنامه نویسی رو کنار میگذارند و عیبهای خودشونو پشت ضعف برنامه قایم میکنن ناراحت میشوم
تا حدود 90 درصد حرفهای شمارو قبول دارم در باره نگاه بیمار گونه ما به امنیت
اما کسانی که از این زبان ایرادهای بنی اسراییلی میگیرن هنوز با مفاهی NET FORMEWORK. و Object Oriented آشنا نیستن و از برنامه نویسی فقط کد نویسیو آموختن
emadfa عزیز من به نظر من نوعی معماری رایانه و اون درسی که در دانشگاه خواندیم به نام ساختمان داده بیش از اینکه در C++ به کار بیاد در C#.NEt به کار میاد
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
emadfa
بیش از 60 پست در این تاپیک داده شده اما تاکنون به هیچ نتیجه مشخصی نرسیده جز این که برخی با تعصب از #C حمایت می کنند و برخی به عکس از امنیت آن ایراد می گیرند!
چیزی که مشخص نیست ، به نتیجه مشخص هم نمیرسه.
سوال چی هست که بتوانیم توفق کنیم که به جواب رسیده و یا نه؟
مثله دعواهایه دینی که خداهایه مختلف را با هم مقایسه میکنند و به هیچ نتیجه هم نمیرسند و فقط دلشان خوشه که از یک طرز تفکر که خودشان هم نمیدانند چی هست دفاع میکنند، ما هم ۲ گروه شدیم.
کسانیکه یک برنامه درست حسابی ننوشتن و از اینکه کدشان فاش بشه میتسند ، و کسانیکه یک برنامه درست حسابی ننوشتند و از اینکه کدشان فاش بشه نمیترسند.
اصلا بیاید تمام نتیجههایه مختلف را بهشان یک نگاه بندازیم:
۱. با دات نت کد فاش میشه و هیچ جوری نمیشه جلویه فاش شدن کد را گرفت.
کسانیکه به درست بودن این نتیجه باور دارند اصلا در این انجمن سی شارپ چرا میپلکند؟
۲.دات نت از همه چی منزه است و هیچ اشکالی بهش نمیشه گرفت.
کسانی که به این باور دارند به راحتی به کار خود ادامه بدند و به اشکال گیرها توجه نکنند، راه ارشادشان بسته است.
بقیه هم کسنایکه میدانند داتنت، جاوا و یا هر ابزار دیگری که بدست آدمها ساخته شده، هر کدام برایه هر کاری مزیت و یا نقصانی دارد و به هر شکلی که شده پیش میرند، برنامه مینویسند و کار را یک جوری سر میارند، این گروه آنقدر مشغولند که وقت ندارند به این دعوایه سر هیچ چی نگاه بنداند، من چیزی ندارم که بهشان بگم مگر اینکه من را هم جزو خود کنید.
نقل قول:
نوشته شده توسط
emadfa
معماری رایانه ربطی به مهندسی کامپیوتر ندارد چون خوشبختانه 99 درصد مهندسان چیزی از معماری نمی دانند و حتی 10 درصد انرژی ای که بر روی GUI می گذارند بر روی ساختمان برنامه نمی گذارند!
فکر نمی کنم که این پست نیز کاملا علمی باشد اما ای کاش نگاه برنامه نویسان ما نیز منطقی باشد! ملاک ها عوض شود! نه به تعصب بی جا به #C و نه به محو کردن ++C ! ضمن این که ملاک قدرت یک زبان امکان مهندسی معکوس یا عدم امکان آن نیست!
این تاپیک اصلا علمی نیست که بخواهیم به این پست اشکال علمی نبودن بگیریم.
قابلیت مهندسی معکوس همیشه بوده وهست . امنیت ربطی به مهندسی معکوس ندارد، در مهندسی امنیت باید اصلا قبول کرد که تمام کد در دسترس نفوذگرا قرار میگره و حتی در آن حالت باید امنیت داشته باشه. وگرنه اگرفقط با قایم کردن کد امنیت قابل پذیر بود همه کدشان را بالایه کوه چال میکنند که کاملا امن باشد.
اگر کسی ادعا و یا سوال دقیق و مشخصی دارد بیان کند. اگر که نه نتیجه گرفتن کلی و یا ادعایه بدانه دلیل زدن فایدهای برایه ما ندارد.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
من تعصبی ندارم شخصا . فقط یک exe گذاشتم قرار شد بازش کنند اما انگار خبری نیست
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
من تعصبی ندارم شخصا . فقط یک exe گذاشتم قرار شد بازش کنند اما انگار خبری نیست
اینجا تالار امنیت نیست که شما CrackMe بدید، نسخه کرک شده دریافت کنید! میخواید امنیت نرم افزارتان را بررسی کنید، در تالار امنیت نرم افزار.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
همه مطالب را خوندم . به نظر من دات نت در زمينه برنامه نويسي بهترين هست
امنيتش هم خيلي بيشتر و بيشتر از ساير زبان هاي برنامه نويسي هست
ان دسته از افرادي كه فكر مي كنن براحتي ميشه سورس را ديد . كاملا با چشم بسته دارن كار مي كنن
ديده شدن سورس دليل بر عدم امنيت نيست. تازه اگر سورس را هم ببينن بازم دليل نميشه كه بتونن برنامه را بازنويسي كنن
به نظر من برنامه نويس بايد بيشتر روي كارايي و كاربرد برنامه تمركز كند . امنيت اخرين مرحله هست.. كه اين مرحله هم level هاي مختلف دارد . بعضي وقت ها برنامه نويس از قصد يه قفل كوچيك ميزاره تا برنامه اش كرك بشه و پخش بشه ؟ كي ميدونه چرا ؟؟؟؟؟
بعضي وقت ها طرف در طول دوره كرك نرم افزار پولشو دراورده و كرك شدن يا نشدنش هم مهم نيست
در مواقعي كه با يك سازمان رسمي طرف هستين . اگر برنامه كرك بشه يا ... شامل پيگرد قانوني هست و ...
تازه اينگونه برنامه هم پابليك نيستند كه در دسترس عموم باشد و بشه كرك كرد
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
وقتی که تمام شد میخواهید بفروشید یا اینکه کدش را همینجا پست کنید؟
هیچکدوم فقط برای استفاده خودم و تجربه (گفتم نرمافزار رو یک ماه پیش خریدیم)
فقط برای خداحافظی با این تاپیک بگم که به نظر من نرم افزاری که هیچ جوری نشه سورسشو مخفی کرد نمیتونه نرمافزار مناسبی در ایران باشه. نمونش همون نرمافزاری که گفتم.
اما از طرفی حتما یه علتی داره که تموم دنیا از دات نت حمایت میکنن و نرمافزارهاشون رو با اون مینویسن. (که سوال اصلی این تاپیک بود اما کسی جواب قانع کننده ای نداشت.)
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
saeed2rele
هیچکدوم فقط برای استفاده خودم و تجربه (گفتم نرمافزار رو یک ماه پیش خریدیم)
فقط برای خداحافظی با این تاپیک بگم که به نظر من نرم افزاری که هیچ جوری نشه سورسشو مخفی کرد نمیتونه نرمافزار مناسبی در ایران باشه. نمونش همون نرمافزاری که گفتم.
اما از طرفی حتما یه علتی داره که تموم دنیا از دات نت حمایت میکنن و نرمافزارهاشون رو با اون مینویسن. (که سوال اصلی این تاپیک بود اما کسی جواب قانع کننده ای نداشت.)
جواب اینکه این نرم افزار چکار میکند را ندادید. اسم این نرم افزار چی هست که ماهم امتحان کنیم. این مسئله ربطی به ایران ندارد، پس تمام برنامههایی که سورس را قابل دست نمیگذارند ولی با کرک موجود هستند چه برتریی به برنامههایی که سورسش قابل دست هستند دارد؟ با این حساب کسی نباید جاوا اسکیپت بنویسه چونکه سورسش را نمیشه قایم کرد. در این تاپیک سوالی نبود که جواب بخواد، بلکه یک برداشتی را به عنوان درست علم کردن مطرح کرد. هر وقت از این برنامهای که بر روش کار میکنید به اندازه کافی سورس استخراج کردید که بشه ازش فایده برد اینجا پستش کنید. اسم و کار این برنامه را هم بگید که ما هم بتوانیم صحت چیزهایی را که میگید یک تحقیق کنیم.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
alireza_tavakol
اگه فایل اجرایی اون برنامه ای رو که شما واسه شهر داری نوشین رو یکی از کارمندان شهرداری بهش نفوذ کنه و رمز عبور پایگاه داده های شما فاش بشه و...
البته منم می دونم که خیلی راه برای جلوگیری از این اتفاق وجود داره ولی فرض محال که محال نیست ، اگه فرضا" رمز عبور پایگاه داده ها فاش بشه اون برنامه هیچ ارزشی نخواهد داشت
مگر فکر میکنید که رمز عبور را در کد برنامه سخت کد کردند؟ اولین پایه برنامه نویسی در دات نت این است که همچین چیزی نیست! قبل از اینکه نتیجه گیری کنید یک مقداری اطلاعات پایه در مورد برنامه نویسی با دات.نت مطالعه کنید. یا اینکه هم همینجا اینکه چطوری با اینکه سورس کامل برنامه در دست باشد کلمات عبور قابل نفوذ نباشد را بپرسید. کلمه عبور را در برنامه نوشتن از سطح مبتدی هم پائینتره و هیچ برنامه نویسی انجام نمیده (حتی اگر سورس قابل دسترسی نباشد). فرض کنیم خواستن کلمه عبور را عوض کنند، برنامه باید دوباره کمپایل بشه؟ فرض کنیم ۳۰ نفر مختلف با برنامه کار میکنند ، کلمه عبورشان را میخواهید هر بار برنامه نویسی تعیین کنه؟ یا یک کلمه عبورش یادش رفت، هر ۳۰ تا نسخه را باید روز به روز کرد. به نظر من حتی اگر ایشان سورس را هم در اختیار بزارند و روش یک پولی هم بدن بازهم برایه اینکه برنام نویس قابل کارشان را سطح درست ادامه بده باید آگهی بده و کلی بگردند.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
نوشته شده توسط
اَرژنگ
جواب اینکه این نرم افزار چکار میکند را ندادید. اسم این نرم افزار چی هست که ماهم امتحان کنیم. این مسئله ربطی به ایران ندارد، پس تمام برنامههایی که سورس را قابل دست نمیگذارند ولی با کرک موجود هستند چه برتریی به برنامههایی که سورسش قابل دست هستند دارد؟ با این حساب کسی نباید جاوا اسکیپت بنویسه چونکه سورسش را نمیشه قایم کرد. در این تاپیک سوالی نبود که جواب بخواد، بلکه یک برداشتی را به عنوان درست علم کردن مطرح کرد. هر وقت از این برنامهای که بر روش کار میکنید به اندازه کافی سورس استخراج کردید که بشه ازش فایده برد اینجا پستش کنید. اسم و کار این برنامه را هم بگید که ما هم بتوانیم صحت چیزهایی را که میگید یک تحقیق کنیم.
به این خاطر که نرم افزار ثبت شده هست و کرکی هم تا بحال براش ندیدم چیزی راجع بهش نمیگم.
صحت چیزهایی که میگم رو میتونید با هر برنامه دیگه که تحت دات نت نوشته شده و برنامه Reflector بررسی کنید.(یا از اساتید همین فروم بپرسید)
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
"چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه"
جواب:
به دلیل تعداد بسیار زیاد کلاسهای موجود در دات نت و امکان ساخت سریع برنامه ها و پایین آمدن هزینه ها. و سی شارپ به خاطر این محبوب شد که ساختاری شبیه سی و سادگی مثل جاوا دارد.
دیده شدن سورس کد به نظر من اصلا چیز مهمی نیست ، و ابزار های زیاد هم برای جلوگیری از ریسورس شدن کد وجود دارد.
همین برنامه کوچکی که دوستمان برای کرک گذاشتند با xenocode محافظت شده و شما به این راحتی ها نمی توانید سورس این برنامه را بدست بیاورید.
در ضمن برنامه شما خیلی مهم تر از برنامه های شرکت ماکروسافت نیست که کلی هزینه محافظت از آنها می شود ولی به راحتی نسخه کرک شده آنها در دسترس است.
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
نقل قول:
همین برنامه کوچکی که دوستمان برای کرک گذاشتند با xenocode محافظت شده و شما به این راحتی ها نمی توانید سورس این برنامه را بدست بیاورید.
متاسفانه همیشه راهی برای نفوذ به نرم افزارها وجود داره , دیر و زود داره ولی سوخت و سوز نداره :لبخند:
نگاهی به اینجا بندازید ...
https://barnamenevis.org/showthread.php?t=174013
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
با سلام خدمت اساتید محترم
بعد از جنجالی که در این تاپیک داشتیم دو تا تاپیک ثبت شد که هر کدام در پی پاسخ به موارد ذکر شده در این تاپیک ، نیاز به دانسته های علمی شما دوست گرامی دارد
لطفا اگر اطلاعاتی در این زمینه ها دارید دیگران را مشعوف نمایند
1- نحوه برقراری امنیت رشته اتصال به پایگاه داده ها حتی در موقعی که پروژه Resource شده
2- روش های مقابله با Resource شدن فایل های تولید شده توسط دات نت ( EXE , DLL )
با تشکر از کسانی که در بحث های اخیر شرکت کرده اند
-
نقل قول: چرا با وجود امنیت کم دات نت ازش در برنامه های تجاری استفاده می شه !!
ادامه این پست افتاد به پستی که nimant ارجاع دادند و خوشبختانه به نتیجه رسید . در کمال آرامش و با حفظ پیچیدگیهای لازم با همان دات نت برنامه بنویسید