معرفي كتاب بخش اول

ضمن سلام

در اين بخش قصد دارم كتابي رو معرفي كنم كه به نظر مياد ميتونه به شما در زمينه برنامه نويسي VBA كمك كنه . عنوان اين كتاب Expert One-on-One Microsoft Access Application Development هستش .

اين كتاب نوشته Helen Feddema‌ هستش . مطالب اين كتاب به نظر من در سطح خوبي ارائه شده و ميتونه خيلي از مشكلات عمومي شما دوستان رو مرتفع كنه . نويسنده اين كتاب قصد داره بخشهايي رو پوشش بده كه غالباً در داخل ديگر كتابها توجه چنداني به اونها نشده .

 

لینک دانلود

مطالعه اين كتاب رو به شما دوستان توصيه ميكنم


موفق باشيد

آموزش نكات فني قفل گذاري مبتني بر Trial Keeper Professional بخش سوم

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

در این بخش میخوایم مقداری در خصوص قفلهای نرم افزارای و تعامل اونها با رجیستری ویندوز صحبت کنیم و اما در ابتدا :

اخطار

هرگونه تغيير ناخواسته در رجيستري ويندوز ميتونه موجب ايجاد اختلال در سيستم بشه ، استفاده از اون رو با دقت انجام بديد


در بخش قفل گذاري ، ارتباطي كه يك قفل ميتونه با رجيستري داشته باشه ، در واقع رويكرد قفل به رجيستري از ديدگاه محلي براي ذخيره سازي اطلاعات قفل ميتونه مد نظر قرار گرفته باشه . اين اطلاعات ميتونه مواردي شامل تعداد دفعات اجراي انجام شده و يا تعداد روزهاي اجراي برنامه و امثالهم رو در بر بگيره .

در سيستمهاي قفل گذاري شما نياز داريد برخي چيزها رو با همديگه مقايسه كنيد به طور مثال به سناريوي زير توجه كنيد :

ادامه نوشته

آموزش نكات فني قفل گذاري مبتني بر Trial Keeper Professional بخش دوم

ضمن سلام

در ادامه مبحث قبلي ميخوام به روشي اشاره كنم كه علاوه بر كاهش زمان كاري به نوعي به عنوان يك پيچيدگي درجه سه هم جهت جلوگيري از شكسته شدن قفل به کار بیاد .

يك كركر معمولاً مترصد اجراي يك رويداد ميمونه تا اون رو بتونه دور بزنه . ميتونيد به روش زير زمان انتظار اون رو اندكي به تعويق بندازيد .

روال چك شدن تابع Initialzie رو به صورت رندوم انجام بديد . در اين حالت قصد داريم فراخواني اين روال رو نه به صورت مستمر ، بلكه به صورت اتفاقي انجام بديم . در اين روش حتي اين امكان ميتونه به وجود بياد كه عمليات چك كردن رو در داخل يك رويداد تكرار پذير نيز به انجام برسونيد .
بيايد با همديگه به ساختار دستور رندوم نگاهي بندازيم


ادامه نوشته

ماژول تبدیل تاریخ و ...

ضمن سلام

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

با تشکر از آقای فرشید میدانی

لینک مطلب

آموزش نكات فني قفل گذاري مبتني بر Trial Keeper Professional بخش اول

با سلام

در این جلسه قصد دارم مقداری در خصوص فراخوانی تابع Initialize موجود در داخل  Trial Keeper Professional توضیحاتی رو ارائه کنم .

در پروسه كنترل بايد دقت كنيد كه حتماً روال كنترلی رو به صورت چندين باره در داخل خود برنامه هم تكرار كنيد ، تا در صورت غير فعال شدن هر يك از نقاط كنترلي در محلهايي ديگه بتونيد بر روي عملكرد قفل صحه گذاري كنيد .

تكرار چندين باره عمليات فراخواني قفل ميتونه تا حدودي بر روي سرعت اجراي خود برنامه تاثير گذار باشه ، نكات زير ميتونه به شما در كاهش اين زمان كمك كنه .

در داخل Trial Keeper Professional اگه دقت كرده باشيد وضعيت جاري قفل از طريق كدي كه از تابع Initialize بازگردانده ميشه قابل تشخيصه .

به طور مثال كد شماره 1 نشان دهنده عدم پايان دوره آزمايشي و كد شماره 10 نشاندهنده فعال بودن و يا همان ثبت بودن برنامه ميباشد .

شما ممكنه در نقاط مختلفي بخوايد اين تابع رو بارگذاري كنيد و با استفاده از مقدار برگشتي اون به وضعيت جاري پي ببريد . به طور مثال شما ممكنه اين كد رو در داخل روال انتساب داده شده به دكمه اي كه عمليات نمايش يك گزارش رو به انجام ميرسونه فراخواني كنيد . در صورتي كه اين گزارش در يك جلسه كاري به دفعات زيادي از سوي كاربر مورد استفاده قرار ميگيره ، فراخواني چندين باره قفل ميتونه تا حدودي براي كاربر ايجاد مزاحمت كنه ( با توجه به مكثهاي صورت پذيرفته تا زمان اجراي فرمان مورد نظر )

راه حل پيشنهادي رو در ادامه ذكر ميكنم تا سربار كاري رو به نحوي قابل توجه كاهش بديم :

ادامه نوشته

فعال و غیر فعال کردن دکمه Shift توسط برنامه Shift Control

ضمن سلام

مطلبی که به دفعات میبینم , پرسش و پاسخهایی هست که در خصوص فعال/غیر فعال کردن دکمه Shift در داخل Access مطرح میشه و جالب اینکه این مورد در بسیاری موارد تعبیر به عدم دسترسی غیر مجاز به فایل هم میشه .

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

عبور از این قابلیت همونطوری که در ادامه هم میبیند اصلاً کار سختی نیست .

در خیلی از جاها میبینم توصیه میکنن که طراح محلی رو در داخل برنامه در نظر بگیره ( با درخواست رمز عبور ) تا امکان عبور از این محدودیت رو به خود طراح بده .

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

در ادامه فایلی رو آماده کردم با نام Shift Control که امکان اعمال این تغییرات رو , بر روی فایلی که قبلاً  عملیات بستن دکمه Shift بر روی اون انجام شده رو به عمل میاره . بدون اینکه نیاز باشه تلاشی خاص رو متحمل بشید .

فقط در هنگام استفاده از این فایل به نکته زیر توجه داشته باشید :

این فایل تنها بر روی فایلهایی که قبلاً عملیات بستن دکمه Shift بر روی اونها انجام شده , قادر به اعمال تغییرات هستش و یا به بیانی بهتر در حالتی که سویچ AllowByPassKey قبلاً ایجاد شده باشه  

توضیح : به روشی مشابه امکان تغییر اغلب مشخصه ها از محیط بیرون وجود داره این مثال فقط بر روی بستن دکمه Shift فوکوس کرده .

موفق باشید

Download File

CPSD Semi Trial Keeper بخش دوم

ضمن سلام

امروز براتون یه مقدار مثال ارائه شده به همراه CPSD Semi Trial Keeper رو کاملتر ارائه کردم .

در این مثال شما با نحوه استفاده از توابع رمزنگاری موجود در داخل  CPSD Semi Trial Keeper  آشنا میشید و در داخل یک فرم اختصاص داده شده به همین امر , شما میتونید نحوه عملکرد و خروجیهای این گونه توابع رو ببینید .

به مثالهای ارائه شده دقت کنید و اونها رو مورد مطالعه قرار بدید .

توابع رمز نگاری موجود در داخل CPSD Semi Trial Keeper میتونن شما رو بی نیاز از نوشتن کدهای مربوط به خود عملیات رمز نگاری در داخل برنامتون کنن . یک اینترفیس ساده رو در اختیار شما قرار میده تا با تکیه به اون , شما کار رو با نظم , ترتیب و آسودگی بیشتری به انجام برسونید .

موفق باشید

Download SetUp File

CPSD Semi Trial Keeper

با سلام

جهت اون دسته از دوستانی که نمیتونن و یا نیمخوان از Trial Keeper Professional استفاده کنن , یه فایل دیگه با نام CPSD Semi Trial Keeper قرار میدم . 

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

این فایل قادر به قفل گذاری بر روی نرم افزار شما نیست و تنها قابلیتهای خیلی محدودی رو در اختیار شما قرار میده که ما در طول آموزش به اونها نیاز داریم . از اون جمله میشه به موارد زیر اشاره کرد :

بازگرداندن شماره سریال درایو C ( شماره سریال نرم افزاری )
اختصاص کد فعال سازی به نرم افزار

توابع رمز نگاری


هدف از ارائه این فایل آشنایی با مفاهیم کلی و کمک به شما در زمینه به کار بستن ایده های حفاظتی به موازات عملکردهای خاص قفلهای نرم افزاری هستش که امیدوارم بتونم به مرور به اونها بپردازم

موفق باشید

Download SetUp File

آموزش تکنیکهای قفل گذاری بر روی Access بخش 4

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

اجازه بدید در ادامه مطلب قبلی اشاره به راه حلهایی داشته باشم که میتونه شما رو توی مسیر یک قفل گذاری ایمن تر به جلو هدایت کنه

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

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

الگوریتمهای متفاوتی جهت انجام این امر بوجود اومد تا وظیفه تغییر و تفسیر این اطلاعات رو به عهده داشته داشته باشن

استفاده از رمز نگاری یکی از اصول اولیه و لاینفک سیستمهای قفل گذاریه . عملاً هرگونه الگوریتمی بدون توجه به این امر صد در صد محکوم به شکسته

در انتخاب یک الگوریتم رمز نگاری به موارد زیر توجه داشته باشید :
ادامه نوشته

آموزش تکنیکهای قفل گذاری بر روی Access بخش 3

ضمن سلام مجدد

در همین ابتدا لازم میدونم که منو به خاطر تاخیرهایی که در ارسال مطالب به وجود میاد ببخشید

حتماً هونطوری که خیلی از دوستان متوجه شدن اشتباهاتی فنی در داخل فایل ارسالی وجود داشت که در ادامه به برخی از اونها اشاره میکنم

- غیر فعال کردن دکمه ها

این روش در هنگام به کارگیری یه مقدار باید با خلاقیت هم همراه باشه , چرا که دور زدن اون کار راحتیه . اجرای این خواسته به صورت فعلی ( ارائه شده در فایل ) خیلی آسیب پذیره

- مخفی کردن کنترلها

وضعیت این مورد هم دقیقاً مشابه حالت قبل هستش . نیازمند اصلاحاتی در رویه اجرایی اونه تا کار رو یه مقدار برای کسی که میخواد این عملکرد و خواسته شما رو دور بزنه سخت تر کنه .

- استفاده از Non Encrypted String در داخل محلهای قرار گیری شرطها

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

-عدم تکرار عملیات چک نمودن قفل در نقاط مختلف

باید حالتی رو پیش بیارید که در صورت شکسته شدن روال کنترل قفل در یک گلوگاه , پروسه کنترل در جاهای دیگه مجدداً  مورد بازبینی قرار بگیره . این کار میتونه باعث خستگی مضاعف کرکر بشه و احتمالاً منجر به انصراف اون

- نمایش پیغام

نمایش پیغامهای کنترل بلافاصله بعد از روال کنترل به همراه نمایش پیغام با منبع رمز نگاری نشده میتونه منجر به هدایت ساده کرکر به محل قرار گیری روال چک کردن قفل بشه

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

انشاء ا... در مبحث بعدی کار تغییر بر روی فایل موجود رو شروع میکنم

در اون مبحث سرفصلهای زیر رو دنبال میکنیم

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

موفق باشید 


آموزش تکنیکهای قفل گذاری بر روی Access بخش 2

ضمن سلام

متاسفانه در بين كاربراني كه قصد قفل گذاري بر روي فايلهاي خودشون رو دارن روشهايي وجود داره كه اگه نگيم غلط هستن چندان هم درست به نظر نميرسن و يا به تعبير ديگه بايد بگم چندان كارايي خاصي ندارن

امروز براي شما يه فايل توی وبلاگ قرار دادم كه در داخل اون اصول اوليه Trial / Shareware رعايت شده ولي در داخل اون خيلي از اشتباهات رايج مورد استفاده هم , گنجونده شده  !

- در اين فايل بر روي برخي امكانات محدوديت گذاشته شده
- از روشهاي ساده اي جهت كنترل استفاده به عمل اومده
- از ايجاد محدوديت زماني در اين مرحله خودداري کردم چرا كه , اصول اجرايي اون پيچيدس و كنترل اون به طرزی موثر نياز به دقت و تجربه داره . نيازي به آموزش Open Source اون نميبينم ( البته ما اين بخش رو به عهده خود قفلهاي نرم افزاري ميذاريم )

در آينده قصد دارم بر روي اين نكات تمركز داشته باشم و از بايدها و نبايدها صحبت كنم

در حال حاضر تنها توصيه ميكنم كه بر روي كليات الگوريتمهاي ارائه شده توجه كنيد و چهار چوب كلي رو مورد بررسي قرار بديد .

موفق باشيد


Password Zip File : npmpro.blogfa.com

آموزش تکنیکهای قفل گذاری بر روی Access بخش 1

با سلام مجدد

در این بحث میخوام یه مقدار در خصوص قفلهای نرم افزاری و برخی امکانات اونها صحبت کنم تا در انتخاب یک قفل نرم افزاری مناسب اطلاعات بیشتری رو در دست داشته باشیم

Anti Tracing

میشه گفت تمامی قفلهای نرم افزاری جهت اعمال محدودیتهای درخواستی از سوی شما نیاز دارن اون محدودیتها رو در جایی ذخیره کنن , به طور مثال جهت ذخیره سازی اطلاعات تعداد روزهای استفاده و یا آخرین زمانهای ورود به برنامه اونها معمولاً این اطلاعات رو در داخل فایلها و یا رجیستری ویندوز ذخیره سازی میکنن .

بدیهیه که حذف این اطلاعات از سوی کاربر میتونه این امکان رو به اون بده تا حدودی محدودیتهای در نظر گرفته شده از سوی طراح رو نادیده بگیره ( به طور مثال محدودیت تعداد روزها رو مرتباً ریست کنه )

ابزارهایی وجود دارن که عملاً اسکوپ عملیاتیشون زیر نظر گرفتن فعالیتهای یک فایل و نظارت و ردیابی تبادلات اون فایل با فایلهای دیگه و یا رجیستری ویندوز هستش .

در این بین قابلیت Anti Tracing موجود در قفل میتونه به کمک شما بیاد . این قابلیت با توجه به تکنیکهای به کار رفته در اون دو عملکرد متفاوت رو میتونه از خودش نشون بده :

- شناسایی برنامه مانیتورینگ و اطلاع به طراح و جلوگیری از ادامه فعالیت فایل اصلی

- شناسایی برنامه مانیتورینگ و منحرف کردن اون از پروسه اصلی و لغو موقت تبادلات

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

Anti Debugging

یکی از روشهای نفوذ , زیر نظر گرفتن روال اجرایی قفل ( به تبع اون برنامه شما ) و بررسی نحوه عملکرد اون از طریق بررسی و تحلیل کدهای کمپایل شدش هستش 

یک سیستم Anti Debugging کارآمد عملاً باید قادر به شناسایی Debugger ها ( نرم افزار های مورد استفاده در پروسه تحلیل کد ) بوده و بتونه عملکرد این نرم افزارها رو مختل کنه

با توجه به تنوع Debugger ها عملاً قفل مورد نظر باید بتونه حداقل در مقابل پرکاربردترین دیباگرهای موجود در بازار مقاومت کنه 

در صورتی که نیاز به اطلاعات بیشتری داشتید , توصیه میکنم که از کتب و منابع موجود در بازار استفاده کنید

توضیح : لازم به یادآوری هستش , اگه با فایلهای exe کاری ندارید , زیاد هم نیاز به تحقیق در رابطه با این مباحث وجود نداره ولی مطالعه اونها در حد اطلاعات عمومی میتونه براتون مفید باشه

تا فرصتی دیگه

موفق باشید و پیروز

Expression Calculator

یکی از توابعی که میشه گفت در داخل Access خیلی ناشناس باقی مونده تابعی به نام EVal هستش

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

عملاً با استفاده از این تابع طراحی یک ماشین حساب مهندسی هم تنها نیاز به چند خط برنامه نویسی داره

شاید تصورش براتون مشکل باشه که این تابع میتونه پیچیده ترین اعمال محاسباتی رو به تنهایی انجام بده بدون اینکه نیاز باشه شما رو درگیر مسائل پیچیده برنامه نویسی کنه !

این تابع میتونه امکاناتی رو در اختیار شما قرار بده تا بوسیله اونها , عبارات محاسباتی رو همونطوری که توی Excel وارد میکنید به همون راحتی هم در داخل Access وارد کنید ( حتی بدون درج علامت مساوی ! )

به مثالهای ساده زیر توجه کنید

32+43+56

45*2+18

امکان استفاده از کلیه توابع  log , Sin و ... هم با درج علامت پرانتز به راحتی امکان پذیره 

من همیشه تعجب میکردم که چرا بعضی افراد برنامه اکسس رو به یه ماشین حساب خارجی ارتباط میدادن

( معمولاً ماشین حساب ویندوز )

یه نمونه خیلی ساده براتون طراحی کردم , امیدوارم که بتونه به عنوان یه ورودی مناسب مورد استفادتون قرار بگیره

Password Zip File : npmpro.blogfa.com

Download File

آموزش تکنیکهای قفل گذاری بر روی Access

سلام به دوستای عزیزم

در این مباحث قصد آموزش و معرفی یکسری از تکنیکهای قفل گذاری رو دارم

با توجه به اینکه قبلاً استارت این مطلب رو توی سایت برنامه نویس زده بودم بهتر دیدم که از تکرار اون مباحث  خودداری کنم

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

لینک مرتبط

موفق باشید

معرفی Add-Ins Code Crafter

Code Crafter 1.1.7

سلام

این Add-Ins یکی از Add-Ins های خیلی مورد علاقه منه

اضافه شدن اون به محیط Visual Basic Editor در هنگام کد نویسی , میتونه به شما در کد نویسی راحت تر و سریعتر کمک به سزایی داشته باشه

استفاده از اون رو به تمام دوستانی که دستی در برنامه نویسی VBA دارن توصیه میکنم

نسخه ای که اینجا براتون میذارم نسخه آزمایشی سی روزه هستش ولی با استفاده از یک باگ موجود در داخل اون میتونیم این محدودیت رو برداریم :

پس با من همراه بشید تا این محدودیت رو از سر راه خودمون بر داریم :

- قبل از شروع نصب تاریخ سیستم رو به جلو ببرید , به طور مثال اون رو بر روی سال 2020 تنظیم کنید

- عملیات نصب رو انجام بدید

- وارد فایل Access بشید و به دنبال اون Visual Basic Editor رو باز کنید

- Toolbar این برنامه به داخل این محیط اضافه میشه

- از برنامه Access خارج بشید

- تاریخ سیستم رو تصحیح کنید

به همین راحتی این برنامه تا سال 2020 بدون هیچ محدودیتی قابل استفاده شد

تذکر : این روال باید به همین ترتیب رعایت بشه , بدون هیچ کم و کاستی

ادرس سايت سازنده

توضیح : این باگ در نسخه های جدید اون برداشته شده

Password Zip File : npmpro.blogfa.com

Download File

لینک مستقیم