نمایش نتایج 1 تا 15 از 15

نام تاپیک: SecureString

  1. #1

    SecureString

    با سلام
    یک مثال ساده در مورد SecureString می خواستم .
    با تشکر

  2. #2

  3. #3
    با تشکر
    آیا می تونم چند String را با استفاده از آن محافظت کنم؟
    میشه یه توضیح در مورد آن بدهید(دقیقا در چه مواردی استفاده می شود؟)
    (چطوری می تونم رشته ها رو در درون برنامه ذخیره کنم/آنها را بخوانم؟)
    اگر نمی شود./ من فقط چند رشته در برنامه ام دارم که می خواهم از آنها محافظت کنم، و به نرم افزارهایی مثل Dotfuscator دستری ندارم، چطوری می تونم اینکار را انجام دهم؟
    لطفا راهنمایی کنید.

  4. #4
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604
    آیا می تونم چند String را با استفاده از آن محافظت کنم؟
    خوب هر چند تا رشته که میخواین براش یه SecureString بسازین.
    میشه یه توضیح در مورد آن بدهید(دقیقا در چه مواردی استفاده می شود؟
    جزئی ترش تو همون لینکی که دادم گفته شده که دقیقا چرا. به طور کلی وقتی میخوایم یه String داشته باشیم که encrypt شده باشه و توسط garbage collector از بین نره یه موقع و خودمون هر وقت خواستیم از بین ببریمش. در واقع یه string امن تر از string های معمولی.
    (چطوری می تونم رشته ها رو در درون برنامه ذخیره کنم/آنها را بخوانم؟
    بستگی داره... روش معمول نگهداری اونها تو فایل Setting پروژه هستش.
    من فقط چند رشته در برنامه ام دارم که می خواهم از آنها محافظت کنم، و به نرم افزارهایی مثل Dotfuscator دستری ندارم، چطوری می تونم اینکار را انجام دهم؟
    خوب از این روش میتونین استفاده کنین ولی راه ساده ترش اینه که string هاتون رو بصورت hashcode تو فایل Setting نگهداری کنید که فقط خودتون میدونین مقدار اصلیشون چیه.
    لطفا راهنمایی کنید.
    اینم راهنمایی D:

  5. #5
    با تشکر از راهنمایی شما
    من می خواهم یک آدرس رجیستری را ذخیره کنم، و بعدا از آن استفاده کنم، (در ضمن امن باشد)
    چه راهی بهتر است؟

  6. #6

  7. #7
    نه، آدرس کلید رجیستری را می خواهم ذخیره کنم (یه رشته معمولی) اما می خواهم امن باشه.

  8. #8

  9. #9
    ظاهرا من منظورم رو خوب بیان نکردم!
    من یک رشته در برنامه دارم و می خوام از اون درجاهای مختلف استفاده کنم،امنیت برنامه ام به این رشته بستگی دارد.
    چون فایل اجرایی برنامه های Net. توسط Reflector ها قابل خواندن هستند، درحالت عادی این رشته خیلی راحت قابل خواندن است(کد آن Native نیست)
    در ضمن بنده به نرم افزارهای Obfuscator دسترسی ندارم، در نتیجه نیاز دارم این رشته را Secure کنم، تا قابل باز خوانی نباشد.
    لطفا راهنمایی کنید.

  10. #10

  11. #11
    این مهمه که رشته توسط کاربر قابل تغییره یا اینکه میتونه بعدا تغییر کنه یا اینکه نه یه string ثابته؟
    رشته ثابته

    در صمن شما میخواین تو برنامتون (سورس) هم این رشته بصورت امن باشه یا فقط تو رجیستری امن باشه کافیه؟
    در سورس برنامه

  12. #12
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604
    در سورس برنامه
    خوب این کار اصولا احتیاج به ابزارهای dotfuscator داره! چون هر کاری بکنین باز سورستون قابل decompile شدنه. یعنی هر کی بتونه یه خط از کد برنامتون رو ببینه در واقع بالاخره میفهمه که چه بلایی سر این string اومده و مقدار اصلیش لو میره.
    پس هیچکدوم از روش هایی که قبلا بخث کردیم به درد نمیخورن!
    2 روش میتونم پیشنهاد کنم:
    1- با ++C یا C کارهایی رو که قراره با این string انجام بشن رو انجام بده و اونو بصورت dllImport تو برنامه #C وارد کن و ازش استفاده کن ( چون dll نوشته شده native کده نمیشه decompile کرد به این سادگی )
    2- همه کارهاتو با #C انجام بده و آخر سر برنامتو با یه packer مخصوص NET. پک کن ( این کار یه کم امنیت کد هارو زیاد میکنه )

    موفق باشید

  13. #13
    با تشکر
    - با ++C یا C کارهایی رو که قراره با این string انجام بشن رو انجام بده و اونو بصورت dllImport تو برنامه #C وارد کن و ازش استفاده کن ( چون dll نوشته شده native کده نمیشه decompile کرد به این سادگی )
    همانطوریکه من میتونم از این DLL استفاده کنم، بقیه هم میتونن، در نتیجه امن نیست.

    2- همه کارهاتو با #C انجام بده و آخر سر برنامتو با یه packer مخصوص NET. پک کن ( این کار یه کم امنیت کد هارو زیاد میکنه )
    میشه در مورد packer توضیح بدهید.

  14. #14

  15. #15
    با تشکر
    من DLL ی رو با Win32 ++C ساختم و به برنامه اضافه کردم:

    [DllImport("My.dll")]
    publicstaticexternstring mStrs(int a);



    روی سیستم خودم کار میکنه، اما روی سیستمهای دیگه نمیتونه فایل DLL رو پیدا کنه.
    فایل رو تو شاخه برنامه/ Windows / System32 هم کپی کردم اما مشکل حل نشد.
    آیا باید فایل رو رجیستر کنم، اگر بلی، چطوری؟

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

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