صفحه 1 از 3 123 آخرآخر
نمایش نتایج 1 تا 40 از 102

نام تاپیک: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342

    معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

    دقیقا همان بلایی که سر فایلهای class. جاوا آمد به نظر می رسد که سر دات نت هم آمده و خواهد آمد!!

    نمونه ی آنلاین!
    http://www.remotesoft.com/salamander/

    نمونه ی معمولی!
    http://www.aisto.com/roeder/dotnet/D...=Reflector.zip
    http://www.saurik.com/net/exemplar/

    احتمالا این یک مورد را چند سال پیش دیده اید: (دی کامپایلر کامل جاوا)
    http://www.geocities.com/zz_xu/jad.html
    http://kpdus.tripod.com/jad.html
    و
    http://www.brouhaha.com/~eric/computers/mocha.html

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran - Tehran
    پست
    799
    خوب با این حساب پلتفرم دات نت هم شد open source ! با همین برنامه میشه سورس اسمبلی های built-in دات نت رو هم دید :shock: :shock: !

  3. #3
    همونطوری که برای جاوا اینطور نشد برای دات نت هم اینچنین نخواهد شد .

    الف) با توجه به اینکه دات نت و جاوا دارای تولید کننده های باینری ( میدونم این عبارت آخری چندان علمی نیست ! ) روی "تمام سیستم های مشتری" هستند انکد کردن کد ماژولهای اصلی برنامه با تکنیک های آسیمتریک و دیکد و سپس کامپایل کردن اونها

    ب) ترکیب تکنیک فوق با کد استریمینگ - به مفهوم کامپایل دینامیک کد انکد شده

    ج) طراحی ساختار شی محور پیچیده و استفاده از اینترفیس های متعدد

    د) استفاده از ابزارهای شناسائی کننده پروسه های مشکوک به دیباگر یا پچر یا ... و توقف آنها

    و ده ها تکنیک دیگر میتواند تا حد قابل قبولی ایمنی برنامهء شما را بالا ببرد .

  4. #4
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    برادر اینپرایز!
    حتی اگر شما exe های غول پیکر دلفی را با exe کامپرسورها فشرده کنید و سپس انکدینگ و غیره را مطابق الگوریتم RSA و غیره روی آن انجام دهید هم به سختی قابل نفوذ می شوند.
    بحث روی کد باینری خالص تولید شده در ابتدای کار است نه بعد از گذشتن از هفت خوان رستم.

  5. #5
    برادر اینپرایز!
    حتی اگر شما exe های غول پیکر دلفی را با exe کامپرسورها فشرده کنید و سپس انکدینگ و غیره را مطابق الگوریتم RSA و غیره روی آن انجام دهید هم به سختی قابل نفوذ می شوند

    برادر نصیری !

    الف ) از اینکه دوست نسل سومی چون شما ( همونطوری که بنده ادبیاتم رو قدری شبیه ادبیاتش کردم ) بالاخره از لفظ "برادر" استفاده کرد مایه بسی خرسندی ست ! :wink: التماس دعا دارم سید !! :twisted:


    ب) عاقلان دانند که دو مزیت بزرگ دلفی نسبت به تمام محیطهای تولید نرم افزار win32 اولا" سرعت بی بدیل کامپایلر و دوم فشردگی "خروجی نهائی" برنامه های آن است . یقینا" در مقایسه با ویژوال سی ( مشخصا استفاده از MFC منظورمه ) و ویژوال بیسیک ( نسخه شش ) و دات نت ، فی المجموع خروجی دلفی کوچکتر است . ( در مورد اول اگر دی ال ال های مربوطه دینامیک استفاده شوند نتیجه کل خروجی از خروجی مشابه دلفی بیشتر است و اگر استاتیک استفاده شوند باز هم exe مربوطه از exe دلفی بزرگتر است . در باب ویژوال بیسیک که لازم نیست توضیح واضحات بدم در باب دات نت هم با در نظر گرفتن 21 مگا بایت ران تایم که باید موجود باشه ، مقایسه فایلهای اجرائیش با دلفی غیر علمی و البته غیر عادلانه ست ! :roll: )

    ج) این خودش دو بخش داره :

    ج.الف) الگوریتهائی چون RSA با همان ترکیب ابتدائی برای انکدینگ فایلهای اجرائی کاربردی ندارند .

    ج.ب) بدون هیچ فشرده سازی و رمزنگاری بنده فایل ساده Hello World دلفی رو به شما خواهم داد به همراه یک کد کوچولوی اضافی . شما و تمام دوستانی که دارید و دوستانی که ندارید اگر توانستید اون کد رو به من بدید من به " وحید نصیری" ایمان خواهم آورد ! اگر نتونستید ( که نخواهید توانست و دلیلش بارها مطرح شده واگر لازم باشه بازم مطرح میشه ) به " حقیقت درخشان و انکار ناپذیر اینپرایز" ایمان بیاورید که تعلل موجب خسران است ! :D :twisted: ( داخل پرانتز : خواستم یه گیری هم به اون کلمه " باینری" تو خط آخرت بدم و بعدش بگم وحید جان ! برو دو خط دات نت (!) بنویس میفهمی که دات نت اصولا چیزی به مفهوم واقعی " باینری" تولید نمیکنه لذا اصولا" با امثال دلفی یا سی قابل مقایسه نیست و بعدش از کلماتی چون جست این تایم کامپایلر و ..الخ استفاده کنم و ... بعد یهو یادم افتاد خودت استاد دات نتی ! خجالت کشیدم اینا رو بگم !! خیلی چاکریم مهندس :oops: :oops: :wink: )

    اینپرایز بد جنس :twisted:

  6. #6
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    الف) خوبه! حقیقتا ادبیاتت خیلی خوب شده. فقط یک مورد رو دوستانه بهت می گم چون ....... (ارادت و از این جور حرفها و غیره!) :
    تو روی رفتار بچه ها در این سایت خیلی تاثیر گذار هستی. بچه ها عموما از کسانی که با سواد و صریح هستند خوششون می یاد و تقلید می کنند. لحن اکثر جملاتت در گذشته ها :wink: به شدت تند بود و واقعا روی خیلی ها در این سایت تاثیر گذاشته بود. بعد از غیبت صغری (!) کمی لحن ها ملایم تر شده. خلاصه اش بچه ها دوستت دارند فقط خیلی باید مواظب باشی چون الگو هستی .........

    ب) در مورد باینری از لفظ خودت استفاده کردم و گرنه لزومی به طرح آن نبود :wink:

    ج) الف) بله! در مورد قسمت هایی مانند صفحات لاگین و یا ...... کاربرد دارد . خصوصا کارتهای اعتباری هوشمند جهانی و غیره ......
    ج) ب) منظور من هم همین بود! یعنی بیشتر از این جاوا و غیره قابل ریسورس شدن هستند که شما در ابتدا آنرا نفی کردید.

  7. #7
    تو روی رفتار بچه ها در این سایت خیلی تاثیر گذار هستی
    بریتنی اسپیرز هم روی جوانان خیلی تاثیر گذار بوده ! :wink:

    بعد از غیبت صغری (!) کمی لحن ها ملایم تر شده. خلاصه اش بچه ها دوستت دارند فقط خیلی باید مواظب باشی چون الگو هستی .........
    بنده عموما ملایم هستم ( و البته بودم ) مگر اینکه اینتراپت احمقانه ای باعث تغییر اوضاع بشه ! مثل نوشتن یک مقاله مضحک توسط یه دوستی و نگاشتن نقدی بر آن توسط اینپرایزی و هوچی گری همون " یه دوستی" و نهایتا توبیخ مدیر مر اینپرایز بی گناه را ! ملتفتی که ... ؟

    در مورد قسمت هایی مانند صفحات لاگین و یا ...... کاربرد دارد . خصوصا کارتهای اعتباری هوشمند جهانی و غیره ......
    فقط مورد دوم درسته . RSA و اعوان و انصارش در ساختارهائی مبتنی بر PKI ( پابلیک کی اینفرا استراکچر ) کاربرد دارند مثل اسمارت کارت ها در محیط های دامنه ای ویندوز 2000 و 2003

    ) ب) منظور من هم همین بود! یعنی بیشتر از این جاوا و غیره قابل ریسورس شدن هستند که شما در ابتدا آنرا نفی کردید
    الف) منظورت دقیقا همین نبود !! :twisted:
    ب) بین جاوا و محصولات دات نت در بحث تحمل "دیکامپایل" تفاوتی نیست !
    ج) آوردن اسم دلفی اصلا" محلی از اعراب نداشت و حاکی از یک حرکت جناحی توسط عده ای از برنامه نویسان سابق ویژوال بیسیک و فعلی سی شارپ بود که ما به لطف و بزرگواری خودمون بخشیدیمشون ! :D

    اینپرایز بچه پر رو :roll: :roll:

  8. #8

    Decompiler برای Net.

    دوستان عزیز همانطور که می دانید برنامه های نوشته شده به زبان Net. بصورت کامل می توان Decompile کرد. من مدتی است که دنبال یک Decompiler خوب می گردم اما پیدا نمی کنم. می خواستم اگر کسی سراغ دارد ما را هم در جریان قرار دهد.

    با تشکر از همه اساتید :oops:

  9. #9

  10. #10
    اقا دست شما واقعا درد نکند :flower: :flower:

    اما یک سوال دیگر آیا راهی هم برای جلوگیری ار Decompile شدن برنامه های Net. وجود دارد چون با این برنامه به راحتی می توان سورس هر برنامه نوشته شده را دید.

    ممنون از راهنمائی

  11. #11
    اما یک سوال دیگر آیا راهی هم برای جلوگیری ار Decompile شدن برنامه های Net. وجود دارد چون با این برنامه به راحتی می توان سورس هر برنامه نوشته شده را دید.
    یک سری Obfuscator برای دات نت ساخته شده که تا حدی میتونه موثر باشه. در این لینکها میتونید اطلاعاتی در این زمینه و همچنین برخی برنامه‌های ارایه شده رو ببینید:

    Demeanor for NET
    Remotesoft Salamander

    البته نرم افزارها به طور رایگان قابل دریافت نیستند.

  12. #12
    کاربر جدید
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    مشهد
    سن
    40
    پست
    14

    Question دیده نشدن محتویات Dll با استفاده از Ildasm

    چطور میشه محتویات یک DLL با هیچ برنامه ای دیده نشه. یک برنامه هست که کد منبع یک DLL رو به هر زبانی (البته یک DLL که به اصطلاح CLR باشه) نشون میده. >>>> http://www.aisto.com/roeder/dotnet اما بعضی DLL هایی رو دیدم که محتویاتشون قابل تشخیص نیست. چه جوریه؟ :)

  13. #13
    DLLهای تولید شده به وسیله .NET همه به زبان IL ترجمه میشن و در دیسک ذخیره میشن و کد IL اونها به راحتی قابل مشاهده است. اگر امنیت کد برنامه براتون خیلی مهمه میتونید از ngen.exe که همراه با .NET Framework SDK ارایه شده استفاده کنید و کد اسمبلی یا Native Code تولید کنید. که البته با این کار از امکاناتی که CLR ارایه میده محروم میمونید.
    البته راههای دیگه ای هم هست مثلا این که قسمتی از برنامه که امنیت کد در اون خیلی مهمه به کد اسملبی تبدیل بشه و بقیه برنامه به IL کامپایل بشن و یا استفاده از برنامه هایی که با تغییر اسامی توابع و فیلدهای یک کلاس از تشخیص عملکرد اون جلوگیری میکنن (که البته این را زیاد هم امن نیست). شاید منظور از شما از این که محتویات اون فایل قابل تشخیص نیست همین مورد آخر باشه. ولی در هر صورت راهی برای اینکه کد IL یک اسمبلی .NET دیده نشده وجود نداره.
    توضیحات بیشتر در این مورد رو در بخش مقالات .NET Framework بخش بررسی معماری .NET گفتم، میتونی به اونجا مراجعه کنی

  14. #14

    Talking

    امنیت کد؟IL ؟؟ جالبه !!ادامه بدید!؟
    اینکه حالا کسی بتونه کد IL را ببینه چه استفاده ای می تونه از اون داشته باشه.
    از اینکه کد IL را به راحتی می توان بدست آورد می شود سورس را بدست آورد و یا قسمتی از سورس که مثلاً پسورد را چک میکنه؟

    در مورد IL بیشتر بدونم ؟یه مرجع معرفی کنید
    آخرین ویرایش به وسیله مطهر : چهارشنبه 26 مرداد 1384 در 23:38 عصر

  15. #15
    اینکه حالا کسی بتونه کد IL را ببینه چه استفاده ای می تونه از اون داشته باشه.
    خوب اگر سورس ارزش وقت گذاشتن رو داشته باشه میشه سورس اصلی رو از روی کد IL تشخیص داد به خاطر همین مایکروسافت پیشنهاد میکنه که اگر امنیت کد اهمیت زیادی داره حتما قبل از توزیع کردن اون با ngen اون رو به کد native تبدیل کرد.

    در مورد IL بیشتر بدونم ؟یه مرجع معرفی کنید
    Applied Microsoft .NET Framwork Programming - Jeffery Richter - MS Press

    اگرهم خواستی فایل نهایت رو بده من برات کد کنم
    میشه بیشتر توضیح بدید منظورتون از کد کردن فایل نهایی چیه؟

  16. #16
    ngen یکی از برنامه هایی است که با .NET Framework SDK ارایه شده و وضیفه اون اینه که اسمبلی هایی که به کد IL در دیسک ذخیره شدهخ اند رو به کد اسمبلی (Native Code) کامپایل میکنه و کد اسمبلی رو در دیسک ذخیره میکنه. CLR هم موقع اجرای برنامه وقتی ببینه که نسخه Native اسمبلی مربوطه در دیسک هست از اون نسخه به جای نسخه IL استفاده میکنه.
    چون (مسلما) امنیت کد اسمبلی از کد IL بیشتره این عمل موجب امنیت بیشتر کد میشه ولی خوب دیگه CLR نمیتونه امکاناتی رو که به managed code ها میده (مثل GC) به این اسمبلی هم بده.

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

    http://www.barnamenevis.org/sh...ad.php?t=22522

  17. #17
    محروم شده آواتار Babak-Aghili
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    در خاطرات شما
    پست
    801
    آخرین ویرایش به وسیله Babak-Aghili : پنج شنبه 27 مرداد 1384 در 21:27 عصر دلیل: اصلاح لینک

  18. #18
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    با کمک یک DeCompiler که داشتم ؛ یک نرم افزاری رو که Trial بود رو ریسورس کردم و نحوه ذخیره سازی و
    الگوریتم دریافت و پاسخ کاربر به کلمه کلیدی در آوردم.
    البته این نرم افزارهای Decompiler تا اینجا به کار میان (یعنی من تا این مدل رو دیدم ) که با دریافت فایل اجرایی سورس اونو میدن و اگر شما Objectهایی رو در فرمها یا هر جای دیگه داشته باشید رو بهتون نمیده
    (منظور فرم اصلی بهمراه فرم و اشیا و ....) به همین خاطر نمیشه سورس بدست اومده رو دوباره به EXE تبدیل کرد که اگر میشد چی میشد !!
    نمونه برنامه ایی که میشه سورسش رو بدست آورد مثلا کامپوننت TeeChart هست که میتونید از سایتش بگیرید و سورسش کنید .

  19. #19
    کاربر دائمی آواتار Peyman_Ranjbar
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    شیراز
    پست
    608
    با استفاده از برنامه های obfuscator بلایی سر اسمبلی بیارید که قابل فهم نباشه

    9rays.net
    http://www.zenocode.com

  20. #20
    با استفاده از برنامه های obfuscator بلایی سر اسمبلی بیارید که قابل فهم نباشه
    زیاد در امنیت تاثیری نداره باز هم متنهای مهم مثل دستورات SQL و یا همونطور که آقای زواری فرمودند روش ذخیره سازی و نحوه دریافت نام کاربر و کلمه عبور به راحتی قایل تشخیصه.

    با کمک یک DeCompiler که داشتم ؛ یک نرم افزاری رو که Trial بود رو ریسورس کردم و نحوه ذخیره سازی و الگوریتم دریافت و پاسخ کاربر به کلمه کلیدی در آوردم.
    میشه قسمتهای مهم برنامه رو از قبیل همین قسمتها و یا متنهای مهم و ... رو در یک کلاس مجزا قرار داد و اون کلاس رو با ngen به کد native تبدیل کرد. مابقی برنامه رو هم با obfuscator ها کد کرد که قابل فهم نباشه. با این کار یه مقداری امنیت تامین میشه.

    به سایت شرکت remote soft هم سری بزنید

    توی سایت همین شرکت در مورد نرم افزار protectorشون نوشتن که اسمبلی دات نت رو به کد native تبدیل میکنه. خوب این کار رو که خود .NET Framework هم انجام میده! کسی نمیدونه فرق این برنامه با Native Code Generator خود .NET چیه؟ یا اصلا فرقی داره یا نه؟

  21. #21
    کاربر دائمی آواتار Peyman_Ranjbar
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    شیراز
    پست
    608
    میشه در مورد ngen بیشتر توضیح بدید؟
    نحوه بکاربردن اون
    چون ngen فقط یه native image در GAC کپی می کنه

  22. #22
    ngen یک نسخه شامل کد native رو در کنار فایلی که محتوی کد IL هست کپی میکنه. وقتی CLR ببینه که نسخه native فایلی که احتیاج داره وجود داره از اون به جای فایل شامل IL استفاده میکنه

  23. #23
    نقل قول نوشته شده توسط ..::UnicorN::..
    با استفاده از برنامه های obfuscator بلایی سر اسمبلی بیارید که قابل فهم نباشه
    9rays.net
    http://www.zenocode.com
    من اینکار را با برنامه ای که همراه دات نت نصب میشه انجام دادم IL را حسابی عوض میکنه
    در مورد دستورات SQL و نحوه ی چک کردن پسورد هم دارم بررسی می کنم
    زیاد در امنیت تاثیری نداره باز هم متنهای مهم مثل دستورات SQL و یا همونطور که آقای زواری فرمودند روش ذخیره سازی و نحوه دریافت نام کاربر و کلمه عبور به راحتی قایل تشخیصه.
    چک کردن پسورد را با الگوریتم های رمزنگاری ذخیره و بازیابی می کنند . این طور نیست‌ ؟؟

  24. #24
    من اینکار را با برنامه ای که همراه دات نت نصب میشه انجام دادم IL را حسابی عوض میکنه
    درسته، حسابی کد رو عوض میکنه ولی باز هم اگر سورس خیلی مهم باشه و ارزش وقت گزاشتن رو داشته باشه میشه اون رو decode کرد. چون اگر این نرم افزارها زیاد هم فایل رو تغییر بدن دیگه CLR نمیتونه اطلاعاتی رو که لازم داره از فایل استخراج کنه و نمیتونه از اون فایل استفاده کنه.

    چک کردن پسورد را با الگوریتم های رمزنگاری ذخیره و بازیابی می کنند . این طور نیست‌ ؟؟
    درسته، ذخیره پسورد با الگوریتمهای رمزنگاری صورت میگیره ولی منظور آقای زواری، فهمیدن روش تولید پسورد بود که در سورس وجود داره.
    برای تامین یک سطح امنیت مطلوب همونطور که گفتم بهترین راه میتونه قرار دادن اطلاعات مهم و قسمتهای مهم سورس در یک کلاس مجزا و کامپایل اون کلاس به Native Code باشه.

  25. #25

    اجرای بدون framework

    چگونه می توان یک برنامه به زبان سی شارپ را روی یک
    کامپیوتر که framework را ندارد اجرا کرد

    اگر نمی شود پس چگونه خیلی از نرم افزارها بدون framework
    اجرا می شوند.مثلا ویروس ها

  26. #26
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط BitMap
    چگونه می توان یک برنامه به زبان سی شارپ را روی یک
    کامپیوتر که framework را ندارد اجرا کرد

    اگر نمی شود پس چگونه خیلی از نرم افزارها بدون framework
    اجرا می شوند.مثلا ویروس ها
    ویروس ها را با زبانهایه دیگر مینویسند، مثلاً با
    Delphi, C, Assembly

  27. #27
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    source کننده های net.

    با سلام از دوستان و متخصصین عزیز درخواست دارم جواب این سوالات رو بر اساس شنیدها ندن چون خودم هم زیاد دربارش شنیدم بلکه اگر خودشون انجام دادن . من رو هم مورد لطف قرار بدن

    1- برنامه ای بود و هست به نام refox و مشابه های اون که مایه مصیبت برنامه نویسهای فاکس پرو و visual foxpro بود . و هست . حالا شنیدم که مشابه اون برای #c غیره هم هست و یک عده چه خالیهایی در موردش برام بستن که چه کارها می کنه . آیا واقعا هست مثلا برای 2005 #‍c اگر هست خوب چطوری جلوش رو بگیریم (لطفا جواب فراتر از تاپیک چند وقت پیش آقای زواری باشه )

    2- یک ocx دارم که باید حتما register بشه تا کار کنه . من اینکار رو با ocx register یا در قسمت run می تونم انجام بدم اما برای pack کردن نرم افزار ظاهرا این یکی هم به بدبختیهام با install shild اضافه شد . مگه اینکه یکی اینجا یه راهی براش بده که متشکر میشم .



    با تشکر .

    شاگرد همیشگی این سایت

  28. #28
    (درمورد سوال اولت که تو همون تاپیک یه برنامه معرفی شد که resource میکرد - البته نه مثل refox - و انگار راهی جز پیچیده کردن و تیکه تیکه کردن برنامه و اسمبل کردن بعضی قسمتهای مهمش پیدانشد!)

    2. فکرکنم اگه ocx و فایلاشو داخل پوشه مربوط به winsys کپی کنی خودش نصب بشه. درضمن اگه از ocx یه properties بگیری شاید خاصیتی به اسم Advanced, Registration داشته باشه که اونو برابر auto بذار (نمیدونم هست یا نه!)
    درموردهرکدوم به نتیجه رسیدی خبرم کن

  29. #29
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    مسئله 2 با همون کپی حل شد . موقع نصب درستش می کنم .

    اما موضوع 1 رو گنگ گفتید آیا می تونن راحت سورس کنند یا نه

    3 - یکی دیگه هم اضافه شد برنامه ای می دونم هست که dll ها رو می زنه دست exe آیا سرعت اجرا رو پایین نمی یاره . آیا درست کار می کنه . و در ضمن اگه باهاش کار کنیم آیا فایل از فرمت دات نت بیرون نمیاد اگه بیاد دیگه سورس هم نمیشه

  30. #30
    فایل exe یا اسمبلی برنامه خودت را با استفاده از برنامه زیر open کن و نتیجه رو ببین:
    http://www.aisto.com/roeder/dotnet/D...File=Reflector

  31. #31
    این برنامه ها میان source برنامه ات رو نشون میدن ولی چیزی به اسم yourproj.csproj درست نمیکنند.
    برنامه ای می دونم هست که dll ها رو می زنه دست exe
    اینو دیگه خیلی حرفه ای گفتی نفهمیدم
    ولی اگه برنامه ای باشه که فایل dll رو داخل خودش import کنه و exe درست کنه اونوقت به شرطی باز نمیشه که هود این برنامه win32 باشه

  32. #32

    Smile دیکد کردن برنامه های دات نت و محافظت از سورس

    در ادامه صحبتهایی که اینجا شد
    https://barnamenevis.org/showth...t=36829&page=8
    از دوستان میخوام درمورد موضوعات زیر صحبت کنند:
    1. از چه برنامه ای برای کدگذاری برنامه های خودتون استفاده میکنید؟
    یا از چه روشی برای محافظت سورس برنامه هاتون استفاده میکنید؟

    2. از چه برنامه ای برای دیکد کردن اپلیکیشن های ساخته شده با دات نت استفاده میکنید؟

    نکته اول اینکه هرکدوم خواستید جواب بدید و نکته بعدی اینکه صحبتهایی که میشه فقط با هدف افزایش امنیت برنامه ها هست.
    (تاپیک جدید زدم که از صحبتهای اضافه پرهیز بشه)
    آخرین ویرایش به وسیله once4ever : پنج شنبه 09 شهریور 1385 در 11:09 صبح

  33. #33

  34. #34
    کاربر دائمی آواتار Peyman_Ranjbar
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    شیراز
    پست
    608
    سلام
    برای کد کردن اسمبلی ها از dotfuscator که همراه Visual Studio .net نصب میشه استفاده میکنم.
    درست نمی دونم امنیت کافی داره یا نه.
    خیلی دوست دارم این بحث ادامه پیدا کنه و به نتیجه برسه.

  35. #35

  36. #36
    حجم نهایی که بعد از این کار تولید می شود از حجم فایلی مشابه همین که با دلفی عادی نه دات نت نوشته شده بیشتر است یا کمتر؟
    با این کار سرعت کار پایین می آید یا نه؟
    امنیت کد را بالا می برد؟
    این روش استاندارد است یا با خود فریم ورک کار کنه بهتره؟
    همین عمل را با Xenocode انجام بدیم بهتره یا با همین؟
    به برنامه Xenocode میشه اعتماد کرد؟(از لحاظ امنیتی و..)

  37. #37
    نقل قول نوشته شده توسط benyamin_pc مشاهده تاپیک
    حجم نهایی که بعد از این کار تولید می شود از حجم فایلی مشابه همین که با دلفی عادی نه دات نت نوشته شده بیشتر است یا کمتر؟
    با این کار سرعت کار پایین می آید یا نه؟
    امنیت کد را بالا می برد؟
    این روش استاندارد است یا با خود فریم ورک کار کنه بهتره؟
    همین عمل را با Xenocode انجام بدیم بهتره یا با همین؟
    به برنامه Xenocode میشه اعتماد کرد؟(از لحاظ امنیتی و..)
    در مورد چند تا سوالی که پرسیدید قبلا بحث شده و مقاله ای هم در سایت هست .
    در مورد xeno هم باید بگم که از اون برای محافظت از سورس میشه استفاده کرد ولی علیرغم گفته خودش که دات نت رو هم میتونه با برنامه پک کنه و دیگه به اون نیازی نباشه ، در عمل اینطوری نیست و برنامه دیگه اصلا کار نمیکنه ( تا جایی که من تست کردم و دیدم ) . ولی برای محافظت خوبه .

  38. #38
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604
    حجم نهایی که بعد از این کار تولید می شود از حجم فایلی مشابه همین که با دلفی عادی نه دات نت نوشته شده بیشتر است یا کمتر؟
    تا اونجایی که من میدونم یکسانه

    با این کار سرعت کار پایین می آید یا نه؟
    بله چون در حالت استاندارد کدهای برنامه در حال اجرا کامپایل میشه ( تابع به تابع) ولی اگه native بشه برنامه از کدهایی که کامپایل شده قبلا و در native image قرار داره استفاده میکنه و این باعث افزایش سرعت میشه

    امنیت کد را بالا می برد؟
    به نظر من نه! چون بازم میشه با بعضی برنامه ها dissassemble کرد و کدهاشو دید

    همین عمل را با Xenocode انجام بدیم بهتره یا با همین؟
    این بستگی به خودت داره ( اگه xenocodeرجیستر شده داری بهتره با اون کار کنی )

    به برنامه Xenocode میشه اعتماد کرد؟(از لحاظ امنیتی و..)
    باید تست کنی و خودت به نتیجه برسی!

  39. #39
    با این کار سرعت کار پایین می آید یا نه؟
    با این کار تا حدی سرعت برنامه افزایش پیدا می کنه، یعنی در تئوری برنامه ای که از فریم ورک استفاده نمی کنه عملکرد سریعتری داره، اما نمیشه نتیجه گرفت که با تبدیل برنامه به کد نیتیو حتما سرعت اجرا هم افزایش پیدا می کنه، اولا این افزایش سرعت اصلا محسوس نیست، در ثانی برنامه نویس اگر به کارش مسلط باشه می تونه کدی تولید کنه که با استفاده از فریم ورک هم سرعت اجرای مناسبی داشته باشه.

    امنیت کد را بالا می برد؟
    این موردیه که میشه به صورت قطعی بهش جواب داد. استفاده از این نوع برنامه ها برای حذف فریم ورک باعث افزایش امنیت میشه (امنیت از نظر حفاظت از کد منظورمه، نه از جنبه های دیگه).

    این روش استاندارد است یا با خود فریم ورک کار کنه بهتره؟
    خوب بدیهیه که استفاده از فریم ورک روش استاندارده.

    همین عمل را با Xenocode انجام بدیم بهتره یا با همین؟
    به برنامه Xenocode میشه اعتماد کرد؟(از لحاظ امنیتی و..)
    منظورت رو از همین متوجه نشدم، اما ساختار برنامه هایی که این کار رو انجام می دن مشابهه، بنابراین تفاوتی نداره که از کدوم برای حذف فریم ورک استفاده کنی. قبلا در یکی از تاپیک ها به تفصیل در مورد نحوه عملکرد برنامه هایی که فریم ورک رو حذف می کنن توضیح داده بودم.

    نتیجه گیری:

    اگر می خواهی برنامه ای بنویسی و اون رو به افراد و یا شرکتهای خاصی بفروشی (که مطمئنی سعی در بدست آوردن کد نمی کنن) و یا می خواهی برنامه های تحت وب بنویسی (که کد اصلی روی یه سرور قرار می گره و فقط افراد مورد اعتماد به سرور دسترسی دارن) و یا موارد مشابه، حذف فریم ورک غیر منطقیه.
    در مواردی که حس می کنی ممکنه از کد سوءاستفاده بشه، بهتره با استفاده از این نوع نرم افزارها برنامه رو به کد نیتیو تبدیل کنی. (دقت کنید که تنها موردی که می تونه باعث استفاده از این نرم افزارها بشه، خطرات امنیتی مربوط به کد برنامه هست نه مواردی مانند سرعت اجرا و یا سایز فایل خروجی)

  40. #40
    با احترام به نظرات همه دوستان

    هر کدوم از روشهای با فریورک و بی فریمورک مزایایی داره البته حتما می دونید که تعداد زیادی از زبان ها تحت دات نت ارائه می شوند که خود موید بهتر بودن این روش است.

    اصلا معلوم نیست شما چه اصراری به نبودن این فریمورک دارید ، کلا دلفی که وضعیتش معلومه اگر اون روش قبلی جوابگو بود چرا بورلند تحت دات نتش کرد؟

    بودن فریمورک به هیچ وجه عیب نیست و با وجود فریمورک در سرویس پک 2 و ویستا دیگه این بحثا معنی نداره !

    به نظرم اگر یه کمی درباره مزیتهای زبان های دارای فریمورک تحقیق کنید دیگه دنبال حذف کردن فریمورک نمیرید، به هر حال هر فن آوری جدیدی یه هزینه هایی هم داره!

    (با توجه با این که جاوا هم از همین روش استفاده می کنه) !


صفحه 1 از 3 123 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •