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

نام تاپیک: امنیت در VB.Net

  1. #1

    امنیت در VB.Net

    با سلام و خسته نباشید خدمت برنامه نویسان عزیز

    سوالی داشتم در مورد امنیت فایلهای کامپایل شده در VB.Net

    با توجه به اینکه هر فایلی را می توان با برنامه هایی مشابه WinHex باز نمود چگونه می توان برنامه را طوری Encode کرد که امکان مشاهده نام فرمها و Object ها و ... در آن وجود نداشته باشد؟

    در VB 6.0 این امکان وجود داشت که با برنامه هایی مشابه eXPressor فایل EXE را فشرده کرد که این باعث می شد که ساختار Hex آن به هم بریزد.

    ضررهای شناخت توسط Hex:
    1- توانایی تغییر ثابت های تعیین شده مثل سریال محصول
    2- شناخت فایلهای مورد استفاده قرار گرفته شده خارجی (بیشترین استفاده در DB)
    3- شناخت آدرسهای مورد استفاده در Regedit
    4- شناخت اتصالات در شبکه
    5- محل کامپایل شدن فایل (یعنی اگر بنده یک فایلی را کامپایل کنم کسی که آن را با Hex باز می کند می تواند Directory کامپیوتر بنده را داشته باشد)
    6- شناخت نام فرمها، نام Object ها، Caption ها و Text ها و ...

    تست های انجام شده:
    1- تمامی متنهای موجود در برنامه به کدهای ASCII تبدیل شد.
    2- تغییر متنهای موجود به UNICODE
    3- استفاده از فایل کامپایل شده به عنوان یک فایل Resource
    4- استفاده از یک Resource برای تبدیل متنها (مثل کاری که در VB 6.0 در قسمت Wizard انجام می شد)
    5- استفاده ترکیبی از متغییرها برای شکل دادن متن و ...

    ولی با این وجود هیچ تغییری در ساختار Hex به وجود نیامد.

    تنها عملی که روی این ساختار تاثیر گذاشت فارسی کردن متنها بوده که به نظر من تأثیر اساسی در برنامه ایجاد نمی کند.

    با تشکر

  2. #2
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    نقل قول نوشته شده توسط MAiLDEREMi مشاهده تاپیک
    با سلام و خسته نباشید خدمت برنامه نویسان عزیز

    سوالی داشتم در مورد امنیت فایلهای کامپایل شده در VB.Net

    با توجه به اینکه هر فایلی را می توان با برنامه هایی مشابه WinHex باز نمود چگونه می توان برنامه را طوری Encode کرد که امکان مشاهده نام فرمها و Object ها و ... در آن وجود نداشته باشد؟

    در VB 6.0 این امکان وجود داشت که با برنامه هایی مشابه eXPressor فایل EXE را فشرده کرد که این باعث می شد که ساختار Hex آن به هم بریزد.

    ضررهای شناخت توسط Hex:
    1- توانایی تغییر ثابت های تعیین شده مثل سریال محصول
    2- شناخت فایلهای مورد استفاده قرار گرفته شده خارجی (بیشترین استفاده در DB)
    3- شناخت آدرسهای مورد استفاده در Regedit
    4- شناخت اتصالات در شبکه
    5- محل کامپایل شدن فایل (یعنی اگر بنده یک فایلی را کامپایل کنم کسی که آن را با Hex باز می کند می تواند Directory کامپیوتر بنده را داشته باشد)
    6- شناخت نام فرمها، نام Object ها، Caption ها و Text ها و ...

    تست های انجام شده:
    1- تمامی متنهای موجود در برنامه به کدهای ASCII تبدیل شد.
    2- تغییر متنهای موجود به UNICODE
    3- استفاده از فایل کامپایل شده به عنوان یک فایل Resource
    4- استفاده از یک Resource برای تبدیل متنها (مثل کاری که در VB 6.0 در قسمت Wizard انجام می شد)
    5- استفاده ترکیبی از متغییرها برای شکل دادن متن و ...

    ولی با این وجود هیچ تغییری در ساختار Hex به وجود نیامد.

    تنها عملی که روی این ساختار تاثیر گذاشت فارسی کردن متنها بوده که به نظر من تأثیر اساسی در برنامه ایجاد نمی کند.
    با تشکر
    http://www.aisto.com/roeder/dotnet/D...File=Reflector
    این برنامه را دانلود کن بعدش فایل کامپایل شده ات را با این نگاه کن.

  3. #3

    Thnx2Linux

    متشکرم ولی من یک روش یا یک برنامه ای می خواستم که فایل کامپیایل شده رو Encrypt کنه طوری که این برنامه هم نتونه Disassemble کنه

  4. #4
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    نقل قول نوشته شده توسط MAiLDEREMi مشاهده تاپیک
    متشکرم ولی من یک روش یا یک برنامه ای می خواستم که فایل کامپیایل شده رو Encrypt کنه طوری که این برنامه هم نتونه Disassemble کنه
    برنامه های مختلفی هستند می توانید برای نمونه این برنامه را ببینید
    http://www.eziriz.com/

  5. #5

    از توجه شما متشکرم

    راستش رو اگه بخواین دیگه از استفاده از برنامه های دیگه منصرف شدم. چون eXpressor وقتی پک می کنه یه script به ته فایل می چسبونه که باعث میشه بعضی از antivirus ها بشناسنش.

    برای مثال می تونین یک فایل پک شده با eXpressor رو تو http://virustotal.com اسکن کنید و ببینید.

    بجای استفاده از این برنامه ها به یه نتیجه ی توپ رسیدم. می تونیم این فایل رو به شکل resource برای یک فایل اجرایی به منظور extract بذاریم یا برای اطمینان فایل اجرایی کد شده رو resource کنیم بعد تو extract کردن decode کنیم.

  6. #6
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    نقل قول نوشته شده توسط MAiLDEREMi مشاهده تاپیک
    راستش رو اگه بخواین دیگه از استفاده از برنامه های دیگه منصرف شدم. چون eXpressor وقتی پک می کنه یه script به ته فایل می چسبونه که باعث میشه بعضی از antivirus ها بشناسنش.

    برای مثال می تونین یک فایل پک شده با eXpressor رو تو http://virustotal.com اسکن کنید و ببینید.

    بجای استفاده از این برنامه ها به یه نتیجه ی توپ رسیدم. می تونیم این فایل رو به شکل resource برای یک فایل اجرایی به منظور extract بذاریم یا برای اطمینان فایل اجرایی کد شده رو resource کنیم بعد تو extract کردن decode کنیم.
    میشه ریسور را در آورد بعد unpack کرد بعد سورس را دید!
    شما کلا برنامه ننویسی خیالت راحت تر هست

  7. #7
    نمی دونم شما در زمینه File Encoding چیزی کار کردید یا نه ولی این رو می دونم که اگه یک فایل کد شده رو Resource کنید و بعد از Decode استفاده کنید امنیت کار خیلی بیشتر از اونچیزی میشه که شما فکرش رو می کنید.
    آخرین ویرایش به وسیله MAiLDEREMi : شنبه 27 تیر 1388 در 23:30 عصر

  8. #8
    من برنامه دات نت رکتور رو گرفتم ظاهرا که خوبه من اونو با یه ابزار دیگه ترکیب کردم تا حالا که خوب بوده اما مشکل اینه که برنامه من trial هست هر چی گشتم نتونستم *ر* اونو پیدا کنم اگه کسی
    ک** اونو داره خواهشن اونو برام میل کنه
    با تشکر از دوستان

  9. #9
    کاربر دائمی آواتار Microsoft.net
    تاریخ عضویت
    آبان 1382
    محل زندگی
    مشهد
    پست
    584
    خیلی سخت نگیر دوست عزیز ، برنامه تجاری بدون پشتیبانی 24 ساعته برنامه نویس یا تیم برنامه نویسی هیچ ارزشی نداره تاکید میکنم هیچ ارزشی نداره ... خیلی از شرکت های خوب تو ایران هم اینو فهمیدن و یا قفل رو برنامشون نزاشتن یا یه قفل ساده بکار بردن .
    بهر حال یک برنامه تجاری زمانی قابل اتکا و دارای ارزشه که یک تیم برنامه نویسی خوب و متعهد پشتش باشه...

  10. #10
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    نقل قول نوشته شده توسط MAiLDEREMi مشاهده تاپیک
    نمی دونم شما در ظمینه File Encoding چیزی کار کردید یا نه ولی این رو می دونم که اگه یک فایل کد شده رو Resource کنید و بعد از Decode استفاده کنید امنیت کار خیلی بیشتر از اونچیزی میشه که شما فکرش رو می کنید.
    به هر حال مجبور پسورد را یکجایی ذخیره کنی؟

  11. #11
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    نقل قول نوشته شده توسط Microsoft.net مشاهده تاپیک
    خیلی سخت نگیر دوست عزیز ، برنامه تجاری بدون پشتیبانی 24 ساعته برنامه نویس یا تیم برنامه نویسی هیچ ارزشی نداره تاکید میکنم هیچ ارزشی نداره ... خیلی از شرکت های خوب تو ایران هم اینو فهمیدن و یا قفل رو برنامشون نزاشتن یا یه قفل ساده بکار بردن .
    بهر حال یک برنامه تجاری زمانی قابل اتکا و دارای ارزشه که یک تیم برنامه نویسی خوب و متعهد پشتش باشه...
    دقیقا همین هست برنامه بدون پشتیبانی 2زار هم نمی ارزه!

  12. #12
    درسته دوستان حق با شماست اما نه هر برنامه ای،وقتی قرار هست یک برنامه کاربردی و کوچک بنویسی که بدون نیاز به پیشتیبانی (یا حد اقل پشتیبانی کار کنه) باید یک مقدار هم که شده به فکر باشی
    من زیاد نمی خوام رو امنیت وقت بزارم در حد معمول که نشه کد ها به راحتی هلو بره تو گلو
    حداقل یکی کد ها رو باز کنه که دوزار حالیش بشه و...
    در ضمن من ورژن 3.2.0.6 رو می خوام یا یه ورژن نزدیک به این من الا 2.9.05 v رو دارم اما کار نمی کنه نمی دونم چرا؟!!

  13. #13
    با تشکر از همه دوستان

    من با Encoding فایل مشکلم حل شد به این گونه که:
    فایل EXE رو تو Net. درست کردم بعد با VB6، کد کردم و بعد به صورت Binary تو Resource گذاشتم.

    وقتی فایل کامپایل شده با VB6 رو اجرا می کنم اون فایل رو Decode و اجرا می کنه.

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

    نقل قول نوشته شده توسط linux مشاهده تاپیک
    به هر حال مجبور پسورد را یکجایی ذخیره کنی؟
    دوست عزیز ما برای Encoding فایل از هیچ رمزی استفاده نمی کنیم. کافیه که ساختار فایل رو بهم بریزیم. البته می تونیم یک متن رو مبنای کار قرار بدیم که در اون صورت امکان بازیابی 0% است.

  14. #14

    Exclamation کمک

    لطفا یه راه دیگه پیشنهاد کنید که همه زحماتم داره به باد میره!!!!!!!!!!!!!!!!!!!!!!!!!

  15. #15

    Smile

    نقل قول نوشته شده توسط MAiLDEREMi مشاهده تاپیک
    نمی دونم شما در ظمینه File Encoding چیزی کار کردید یا نه ولی این رو می دونم که اگه یک فایل کد شده رو Resource کنید و بعد از Decode استفاده کنید امنیت کار خیلی بیشتر از اونچیزی میشه که شما فکرش رو می کنید.
    در ظمینه File Encoding خیر اما من در زمینه‌ی آن کمی کار کردم (!)
    زیاد تفاوتی نداره که فایل کد شده را تحت ریسورس استفاده کنیم یا خیر. تفاوت از آنجا ناشی میشود که ممکن است بعضی ها ندانند که میشود فایل را به این شکل embed کرد و یا اینکه تازه یاد گرفته باشند که میتوان !

    امیدوارم ناراحت نشده باشید فقط یک شوخی دوستانه بود

    اما حقیقت اینه که نحوه‌ی code کردن بسیار مهمتر از قایم کردن فایله. شما اینطور فکر نمیکنید ؟
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  16. #16
    نقل قول نوشته شده توسط MAiLDEREMi مشاهده تاپیک
    با تشکر از همه دوستان

    من با Encoding فایل مشکلم حل شد به این گونه که:
    فایل EXE رو تو Net. درست کردم بعد با VB6، کد کردم و بعد به صورت Binary تو Resource گذاشتم.

    وقتی فایل کامپایل شده با VB6 رو اجرا می کنم اون فایل رو Decode و اجرا می کنه.

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


    دوست عزیز ما برای Encoding فایل از هیچ رمزی 2 استفاده نمی کنیم. کافیه که ساختار فایل رو بهم بریزیم. البته می تونیم یک متن رو مبنای کار قرار بدیم که در اون صورت امکان بازیابی 0% است.


    1 ) به هر حال شما فایل اجرایی decode شده رو جایی extract و از اونجا اجرا میکنید. درسته ؟
    پس خیلی راحت و بدون دردسر میشه تمام زحمت های شما رو دور زد (نرم افزارهای زیادی برای مانیتورینگ و مشاهده نحوه ی عملکرد سیستم و فایلهای در حال استفاده و ... وجود دارد. مثل :‌ FileMon)

    2 ) پیشنهاد میکنم راجع به رمزنگاری بیشتر مطالعه کنید و روشهای متقارن (و مطمئن) بوسیله کلیدرو ببینید. (cipher,symmetric cryptography)
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  17. #17
    نقل قول نوشته شده توسط sinpin مشاهده تاپیک
    1 ) به هر حال شما فایل اجرایی decode شده رو جایی extract و از اونجا اجرا میکنید. درسته ؟
    پس خیلی راحت و بدون دردسر میشه تمام زحمت های شما رو دور زد (نرم افزارهای زیادی برای مانیتورینگ و مشاهده نحوه ی عملکرد سیستم و فایلهای در حال استفاده و ... وجود دارد. مثل :‌ FileMon)

    2 ) پیشنهاد میکنم راجع به رمزنگاری بیشتر مطالعه کنید و روشهای متقارن (و مطمئن) بوسیله کلیدرو ببینید. (cipher,symmetric cryptography)
    متشکر از دقتتون ولی این برنامه به طور کامل Extract نمی شه. یعنی این فایل Encode شده به چند فایل تقسیم می شه (برای ساخت joiner من از این شیوه استفاده کردم).
    در تشریح کامل این روش داریم که:
    * بعد از اتصال قطعات، یک فایل باینری که توانایی اجرای فایل دیگری رو داره به اون Join می کینم. یعنی مشابه یک EXE Joiner می سازیم. (البته این کار فقط به این روش انجام نمی شه. 1001 روش برای این کار وجود داره)
    * این Joiner می تونه قابلیت Decode کردن اون رو دارا باشه
    (البته من Joiner رو با VB6 طراحی کردم و با یک برنامه پکش کردم چون امنیتش بالا بره)
    استفاده از اشاره گرها به منضور ساخت یک Anti Trace و ... (من این کار رو با کدهای اسمبلی انجام دادم)

    من این کار رو تو 1 هفته انجام دادم و نتیجه کامل رو گرفتم. این چند وقت هم که نبودم روی تست برنامه کار می کردم.

    ضمنا در مورد پیشنهادتون متشکرم ولی من تقریبا بیش از 10 روش رمزنگاری رو امتحان کردم و مشکلی تو این ضمینه ندارم. سعی کردم اون چیزی رو که می دونستم و خودم امتحان کردم رو براتون بذارم. می دونم این روش سخت ترین روش برای کد کردن فایله.

    خوشحال می شم پیشنهاد شما رو هم در این ضمینه جویا بشم.

  18. #18

    نقل قول: امنیت در VB.Net

    طبق نظرات دوستان دات نت رو گذاشتم کنار... الان هم خیالم از بابت اجرای کند برنامه حل شد، هم از بابد حجم بالای نصب و هم از بابت امنیت...

    بازم شرمنده که سرتون رو به درد آوردم...
    الان یه چند وقتی میشه که با برنامه های کلاسیک کار میکنم...

    بازم از همه متشکرم

  19. #19
    کاربر دائمی آواتار HadiVB
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    مشهد الرضا دیگه نایب الزیاره ایم
    پست
    216

    نقل قول: امنیت در VB.Net

    سلام مسعود جون دستت درد نکنه با این روشت دیگه 100% تضمینه کار.

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

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