تزریق گذرواژه به پنجرۀ Password Required
از مهمترین کارهایی که نرمافزار accdbExe انجام میدهد و شاید مهمترین کار تزریق گذرواژۀ Database Password، به پنجرۀ Password Required است.
فایلهای دیتابیس VBA-DB که صرفا دارای فرم و Module و Report هستند و جداول اطلاعانی (Table)، مهمی ندارند، میتوانند به فرمت accde و mde و به عبارتی کامپایل شده باشند، این فایلها نیاز به گذرواژه Database Password ندارند، و از این موضوع مستثنی هستند.
اما با توجه به اینکه ممکن است کامپایلر accde موجود در کامپیوتر شما - به عنوان تولید کننده - و کامپایلر accde موجود در کامپیوتر کاربر نرمافزارتان، از فایل accde استفاده نکنید و بجای آن از accdb محافظت شده استفاده کنید تا مشکل کامپایلهای نامرتبط را نداشته باشید؛ نرمافزارهای آفیس در نگارشهای مختلفی ارائه شدهاند و متاسفانه کامپایل کردن فایل دیتابیس موجب میشود فایل کامپایل شده، برای نگارشهای دیگر آفیس ناخوانا باشد.مثلا اگر فایل دیتابیسی را با نگارش 32 بیتی آفیس کامپایل کنید در سایر نگارشهای 64 بیتی خوانا نخواهد بود. یعنی حتی اگر فایلی را با اکسس نگارش 2010 ، 32 بیتی کامپایل کرده باشید، فایل دیتابیس کامپایل شده با اکسس نگارش 2010، 64 بیتی باز نخواهد شد. این وضعیت حتی برای نگارشهای 2007 , 2010 و 2013 نیز وجود دارد. یعنی حتی اگر فایلی را با اکسس نگارش 2007 ، 32 بیتی کامپایل کرده باشید، فایل دیتابیس کامپایل شده با اکسس نگارش 2010، 32 بیتی باز نخواهد شد. این در حالی است که مشتریان شما ممکن است نگارشهای متعددی را در کامپیوترهای خودشان نصب کرده باشند. گذرواژۀ دیتابیس حاوی کدهای برنامهنویسی به صورت کاملا حفاظت شده در فایل EXE و حتی فایل پروژه accdbExe ذخیره میشوند و فقط به Access تحویل میشوند.
هنگام تزریق گذرواژه به پنجرۀ Password Required فرایند پیچیدهای توسط فایل EXE تولید شده توسط accdbExe سپری میشود، در واقع فرایند تزریق گذرواژه به پنجره Password Required به صورت خلاصه به صورت زیر است:
ابتدا نرمافزارهای Access قبلی که احتمالا در حال اجرا هستند در صورت صلاحدید برنامهنویس از حافظه اخراج میشوند، اگر برنامه Accessی قبل از اجرای نرمافزار شما باز باشد و درست در مرحله دریافت Database Password باشد، و پنجره Password Required آن باز باشد. پیمی(.Please Close Other application,Thankyou) توسط نرمافزار EXE صادر میشود.
به هر حال گذرواژه به پنجرههای Password Required ، که قبل از اجرای فایل EXE باز باشند تزریق نخواهد شد.
سپس فایل باز میشود، هنگام باز کردن فایل توسط Access نرمافزار EXE طی تعاملاتی با Access مطمئن میشود فایل Access و فایلی که درخواست باز شدن آنرا نموده است، دقیقا همان فایلی است که خود EXE درخواست داده است، سپس کاراکتر به کاراکتر گذرواژه را به پنجره Password Required نرمافزار Access تزریق میکند، در بین تزریق هر کاراکتر پنجره Password Required فایل Access و سایر مشخصاتی که باید بررسی شوند بررسی میشود، و چنانچه ناهماهنگی دیده شود، تزریق گذرواژه ناتمام باقی خواهد ماند. این عملیات باسرعت بسیار بالا انجام میشود و امکان قرار دادن پنجره یا نرمافزاری بین کار تزریق توسط کاربر انسانی میسر نیست، اما اگر حسب اتفاق چنین وضعیتی پیش آید، همانطور که گفته شد، در بین تزریق هر کاراکتر پنجره Password Required فایل Access و سایر مشخصاتی که باید بررسی شوند بررسی میشود، و چنانچه ناهماهنگی دیده شود، تزریق گذرواژه متوقف خواهد شد.
شما حتی اگر گذرواژه Database خود را در پروژه ذخیره کنید و فایل پروژه خود را با Notepad باز کنید با چنین عبارتهایی روبرو خواهید شد، هر چند حتی فایل پروژه در اختیار کاربر قرار نخواهد گرفت همین وضعیت امنیتی با ضریب بسیار بالاتر در فایل EXE برای حفظ گذرواژه برقرار است.
String_psw=Ý2ïÙ¼ ¤©ö÷°¼ÂŧÑ
گذرواژه هنگام تزریق به پنجره Password Required کاملا با حساسیت تزریق میشود.
برای تعیین گذرواژۀ دیتابیس VBA-DB خود باید ابتدا پروژۀ Access خود را بر اساس اصل امکان تفکیک اجزاء در Access (جدا کردن فایلهای حاوی کدهای برنامهنویسی از فایلهای اطلاعاتی)، تنظیم کرده باشید. سپس فایل دیتابیس اصلی VB-DB خود را در حالت Exclusive باز کنید.
برای باز کردن فایل اکسس خود در حالت Exclusive ، ابتدا به Access وارد شوید، سپس به منوی file و گزینه Open وارد شوید، سپس فایل VBA-DB خود را در کامپیوتر در پنجره Open انتخاب کنید، ولی روی دکمه Open کلیک نکنید.
کنار دکمه Open یک گزینه باز شو خواهید دید، اگر روی آن کلیک کنید، زیر دکمه Open گزینههای بیشتری را ملاحظه خواهید کرد.
در حالیکه فایل اکسس خود را انتخاب کردهاید گزینۀ Open Exclusive را انتخاب کنید.
پس از باز کردن فایل دیتابیس به منوی File بروید و گزینۀ Encrypt With Password را انتخاب کنید.
پس از باز شدن پنجرۀ Set Database Password گذرواژه باز کردن فایل را در این بخش تایپ کنید.
بهتر است از تمامی ظرفیتهای رمزگذاری استفاده کنید، رمزی انتخاب کنید که 20 حرف داشته باشد و از حروف کوچک و بزرگ لاتین و اعداد و علامتها استفاده کرده باشد: مانند : Ya Alimadad+110*okaY
هنگام تعیین گذرواژه از حروف فارسی استفاده نکنید فقط این حروف پشتیبانی میشوند:
1234567890
qwertyuiopasdfghjklzxcvbnm
QWERTYUIOPASDFGHJKL
;'{}[]`-=,./~!@#$%^&*()_+:
فاصله هم جزو حروف بالا هست.
اگر از حروفی به جزء حروف بالا استفاده کنید فایل EXE تولید نخواهد شد و پیام زیر نمایش داده میشود.
سپس گذرواژه خود را در پنجره اصلی نرمافزار accdbExe در بخش Database Password تایپ کنید و یا Paste کنید، گذرواژه وارد شده در بخش مزبور با ضریب امنیتی بالا در فایل EXE مستتر خواهد بود و فقط توسط نرمافزار EXE به Access تحویل میشود.