خب اون قسمت رو دستی خودتون کدنویسی کنید.برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط softsoft برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
خب اون قسمت رو دستی خودتون کدنویسی کنید.برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط softsoft برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
Rezasam1 (21-09-11)
امتحان کردم . ولی نتونستم .
حالا شما یه نگاه بنداز ببین می تونی
سورس مورد نظر تبديل و كلاس مربوطه پيوست شده.
آرمين
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
سلام
من میخوام برای گذاشتن تعداد روز های فعال برنامه یه فایل درست کنم که توش تاریخ نصب و تاریخ غیر فعال شدن برنامه رو بزارم و
تعداد روز های باقی مانده . و به همین دلیل این فایل باید رمزگزاری شده باشه و یه جوری باشه که کسی نتونه توش دست ببره و عوض
کنه اطلاعاتش رو .
به نظرتون چی کار میشه کرد ؟
با سلام!برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط softsoft برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
دوست عزيز شما مي تونيد تاريخ هاي مورد نظر خودتون رو درون يك فايل قرار بديد و بعد اون فايل رو توسط الگوريتمي مثل DES با يك كليد رمزنگاري كنيد. در اين صورت محتويات اين فايل زماني قابل رويت ميشه كه فايل با همون كليد از رمز در بياد. مسلما" اين كليد بايد از چشم كاربران پنهان بمونه. اگر كاربري هم بدون داشتن كليد قصد ويرايش فايل رمز شده رو داشته باشه، تنها باعث ميشه ساختار فايل به هم بريزه و ديگه قابل خوندن نباشه. برنامه ي شما هم بايد به گونه اي باشه كه اگه نتونست فايل رو بخونه، ليسانس برنامه رو منقضي كنه (با استفاده از بلوك Try Catch).
براي اطلاعات بيش تر به لينك هاي زير مراجعه كنيد:
http://www.codeproject.com/KB/security/EncryptFile.aspx
http://www.obviex.com/samples/dpapi.aspx
موفق باشيد
آرمين
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
Rezasam1 (21-09-11)
خیلی خیلی ممنون.
به نظر شما این فایل رو در چه محلی ذخیره کنم بهتر ه ؟
خواهش مي كنم.
نمي تونم يه نظر قطعي در اين زمينه بدم اما قاعدتا" محل قرارگيري اين فايل بايد در يك مسير كلي باشه مانند زير شاخه هاي ويندوز نظير System32 ، شاخه ي Program Files و يا Documents and Settings زيرا اين شاخه ها به صورت پيش فرض در تمام ويندوز ها موجود هستد. شايد System32 گزينه ي مناسبي باشه چون حجم زيادي از فايل ها و پوشه ها رو در بر مي گيره. براي دستيابي به ساير اين پوشه ها مي تونيد از كد زير استفاده كنيد:
مثلا" كد زير مسير All Users رو برمي گردونه:کد:My.Computer.FileSystem.SpecialDirectories
کد:My.Computer.FileSystem.SpecialDirectories.AllUsersApplicationDataموفق باشيد
آرمين
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
Rezasam1 (26-09-11)
|
بازم ممنون . واقعا ممنون که بدون هیچ چشم داشتی کمک می کنید .
به نظرتون اگه فایل Hidden بشه بهتر نیست ؟
یا اینکه اصلا میشه Read Only کردش ؟
میشه بگید چه جوری؟
به نظر منم همون مسیر System32 بهتره . حالا مسیر این رو چه جوری به دست بیارم ؟ میشه مسیر ویندوز رو به دست آورد و بعدش یه System32/ گذاشت .
یه چیز دیگه که می خوام اول چک کنم آیا فایل مورد نظر وجود داره یا نه که اگه وجود داشت بعدش اطلاعات رو ازش بخونم .
راستی یادتوه یه فایل C# گذاشتم که اطلاعات هارد و مادر برد و اینجور چیزارو میگرفت و به سریال تبدیل میکرد ؟
میخواستم ببینم میشه همون سریال تولید شده رو دوباره به همون اطلاعات هارد و مادر برد و ... برگردوند ؟
آخرین ویرایش توسط softsoft در تاریخ 28-09-11 انجام شده است
خواهش مي كنم...
با توجه به نياز شما مخفي كردن، فقط خواندني كردن و حتي سيستمي كردن (System) اين فايل فكر خوبي مي تونه باشه.
كد زير با دستور Exist از مجموعه ي System.IO.File بررسي مي كنه كه آيا فايل MyFile.dat در مسير System32 وجود داره يا نه؟ اگه وجود داشته باشه، محتويات فايل رو به صورت بايت و متني مي خونه. اگر اين فايل وجود نداشته باشه با دستور Create چنين فايلي رو ايجاد مي كنه و با دستور SetAttributes، فايل رو به صورت مخفي، سيستمي و فقط خواندني در مياره.
کد:If System.IO.File.Exists("\Windows\System32\MyFile.dat") Then 'Return the file content in byte: System.IO.File.ReadAllBytes("\Windows\System32\MyFile.dat") 'Return the file content in text: System.IO.File.ReadAllText("\Windows\System32\MyFile.dat") Else 'File creation: System.IO.File.Create("\Windows\System32\MyFile.dat") 'Set the file attributes (Hidden, System and ReadOnly): System.IO.File.SetAttributes("\Windows\System32\MyFile.dat", IO.FileAttributes.Hidden) System.IO.File.SetAttributes("\Windows\System32\MyFile.dat", IO.FileAttributes.System) System.IO.File.SetAttributes("\Windows\System32\MyFile.dat", IO.FileAttributes.ReadOnly) End Ifدر واقع \Windows\System32 بيان گر مسير System32 هست.
در مورد سوال آخر هم آره يادمه...در اون كد از MD5 استفاده شده كه يك رمز نگاري يكطرفه هستش. در نتيجه وقتي شما مشخصات سخت افزار رو با اون سورس به يك شماره شريال تبديل كنيد ديگه نميشه اون شماره سريال رو به اطلاعات سخت افزاري تبديل كرد.
موفق باشيد
آرمين
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
Rezasam1 (29-09-11)
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks