الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل توجد طريقة لتشفير/لغلق مجلد يحتوى على ملفات عديدة يتم استخدامها داخل التطبيق

بدأه هانى عوض في 21 سبتمبر 2009 · 15 رد · 1,127 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحية طيبة

مطلوب عمل حماية على مجلد يحتوى على كم هائل من الصور .. حيث يتم استدعاء هذه الصور عن طريق تحديد Folder Path

بمعنى آخر:

1- حماية المجلد من الفتح المباشر داخل جهاز الكمبيوتر

2- كيفية فراء المسار داخل Application بعد الحماية.

====================

بعد البحث وجدت حلين:

1- استخدام إعادة تسمية للمجلد بمسارات محجوزة من قبل الويندوز ( Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D} ) بحيث إذا تم الضغط عليه مباشرة يفتح Control Panel.. ولكن بمجرد إعادة التسمية مرة أخرى يتم فتح المجلد بسهولة.

2- قمت بوضع المجلد الذى يحتوى على هذا الكم الهائل من الملفات داخل أرشيف Winrar ووضعت كلمة سر للفتح. وقمت بتغيير الإمتداد إلى .cab أى أصبح هكذا (Myfolder.cab) للتمويه.. :wink:

ولكن ما أجد فيه صعوبة هو تحديد هذا المسار داخل Application مضاف إليه كلمة السر..

هذه مجرد أفكار توصلت لها....

=====================

ارجو ممن لديه ولو حل بسيط لا يبخل به لحل هذه المشكلة..

ملحوظة: أنا منتقل حديثاً من VB6 إلى .net لذا فأنا مبتدئ بينكم.. أرجو ألا أثقل عليكم... فى عمل مثال exe + Source code

لكم منى أرق تحية

وكل عام وأنتم بخير

تم تعديل هذه المشاركة بواسطة هانى عوض في 21 سبتمبر 2009 في 14:25

#2

ما نوع الـ File System الخاص بالـ Drive الذى سيتم انشاء الفولدر عليه ؟؟

مدونتي: C++ Tips and Tricks

#3

مجرد صور داخل مجلد يحمل رقم لتحديد المسار.. حيث كل مجلد مسار مستقل..

بمعنى كل مجلد يحتوى على صور منشورات بالأعداد.. كل عدد هو اسم المجلد..

#4

انا اقصد الفولدر اللى انت عايز تمنع الدخول عليه موجود داخل partition هذا الـ partition ما نوع الـ file system الخاص به.

هل هو FAT او FAT32 او NTFS ؟؟

مدونتي: C++ Tips and Tricks

#5

السلام عليكــم ورحمـة الله وبركاتــه ،،

يمكنك إنشاء خدمة تقوم بفتح المجلد Execlusively ويكون تعاملك مع الصور داخل المجلد من خلال هذه الخدمة

لمعلومات أكثر راجع هذا الموضوع

أريد كود يمنع من نسخ المجلدات والملفات من مسار معين

أو يمكنك استخدام الـShell أو يمكنك أيضا استخدام الـRootkits لو كنت تجيد برمجتها (لا تتم برمجتها بالفيبى)

تم تعديل هذه المشاركة بواسطة GHOST2010 في 21 سبتمبر 2009 في 14:43

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#6

أنا أعمل على NTFS..

ولكن من الوارد أن يتم استخدامه على أى جهاز آخر..

فإذا كنت تقصد أخى الكريم.. Permission فلن تكون مجدية ...

لأن من يقوم بإنزال التطبيق ليسوا محترفين كمبيوتر.. بل مبتدئين جداً.. ويتم استخدامه على أكثر من كمبيوتر..

وإننى أود أن يكون هذا العمل برمجياً بحتاً..

وشكراً لحسن المتابعة

#7

انا اقصد فعلا موضوع الـ Permission و لكن يتم تنفيذه برمجيا

و لكن لابد من ان يكون الـ Drive NTFS

عموما جارى تجهيز الكود

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 21 سبتمبر 2009 في 15:42

مدونتي: C++ Tips and Tricks

#8

ما أقصده أخى الكريم

طريقة غير Permission ...

فالبرنامج يتعامل مع أى File System ..

يمكن يكون NTFS .. أو FAT32

اقتباس
يمكنك إنشاء خدمة تقوم بفتح المجلد Execlusively ويكون تعاملك مع الصور داخل المجلد من خلال هذه الخدمة

لمعلومات أكثر راجع هذا الموضوع

أريد كود يمنع من نسخ المجلدات والملفات من مسار معين

أو يمكنك استخدام الـShell أو يمكنك أيضا استخدام الـRootkits لو كنت تجيد برمجتها (لا تتم برمجتها بالفيبى)

الله ينور عليك يا أخى GHOST2010

ولكن كيف؟؟؟؟؟

تم تعديل هذه المشاركة بواسطة هانى عوض في 21 سبتمبر 2009 في 15:10

#9

الأخ Ghost يقصد ان تقوم بعمل Service داخل الويندوز و وظيفتها انها تقوم بفتح الفولدر Exclusive و اى عمليه تريد عملها على هذا الفولدر تطلبها من الخدمه و هى تنفذها لك.

لفتح فولدر Exclusive قم بإستخدام الكود التالى

	Private Declare Function CreateFile Lib "kernel32.dll" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal dwShareMode As Integer, ByVal lpSecurityAttributes As Integer, ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As Integer, ByVal hTemplateFile As Integer) As IntPtr
	Private Const GENERIC_READ As Integer = &H80000000
	Private Const FILE_SHARE_DENY As Integer = &H0
	Private Const OPEN_EXISTING As Integer = 3
	Private Const FILE_ATTRIBUTE_NORMAL As Integer = &H80
	Private Const FILE_ATTRIBUTE_DIRECTORY As Integer = &H10
	Private Const FILE_FLAG_BACKUP_SEMANTICS As Int32 = &H2000000

Dim hFolder As IntPtr = CreateFile("c:\test", GENERIC_READ, FILE_SHARE_DENY, 0, OPEN_EXISTING, FILE_ATTRIBUTE_DIRECTORY Or FILE_FLAG_BACKUP_SEMANTICS, 0)

الكود السابق يقوم بفتح الفولدر test الموجود بالـ c و يمنع الدخول عليه حتى يتم غلق البرنامج.

عيب هذه الطريقه انه إذا اردت اى معلومات عن الفولدر او اى من محتوياته فلابد من استخدام دوال الـ API.

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 21 سبتمبر 2009 في 20:37

مدونتي: C++ Tips and Tricks

#10
اقتباس
الكود السابق يقوم بفتح الفولدر test الموجود بالت c و يمنع الدخول عليه حتى يتم غلق البرنامج.

أعتقد أن الاخ هاني عوض يريد امكانية عدم فتحه الفولدر طوال فترة عمل الويندوز وليس البرنامج فقط .....

كـلـمـا زاد عـلـمـك لـلـشـئ الـمـجـهـول ..... كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم

و كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم ..... كـلـمـا زاد شـغـفـك لـعـلـم الـمـجـهـول

الــلـــــــهـــــم عـــلـــمـــنــــــي بـــمـــا يـــنــفــعــنــي وانــفــعــنــي بــمــــا عـــلـــمــتــنـــي

#11
اقتباس
الأخ Ghost يقصد ان تقوم بعمل Service داخل الويندوز و وظيفتها انها تقوم بفتح الفولدر Exclusive و اى عمليه تريد عملها على هذا الفولدر تطلبها من الخدمه و هى تنفذها لك.

بإستخدام الكود الموجود بالمشاركه 9 و تطبيق الموجود بالإقتباس بالاعلى ستحصل على التأثير المطلوب

مدونتي: C++ Tips and Tricks

#12

طبعاً طوال مدة عمل التطبيق!!!

ولكن بمجرد غلق التطبيق ... يمكنك فتح المجلد!!!!!!!!!!!!

ما أريده هو عدم إمكانية فتح المجلد سواء أثناء عمله أو لا..

ومن هنا جاءت فكرة عمل أرشيف Winrar بكلمة سر..

حسناً.. حتى لاتتشعب المواضيع.. هل يوجد طريقة لقراءة محتويات أرشيف عليه كلمة سر؟

تم تعديل هذه المشاركة بواسطة هانى عوض في 21 سبتمبر 2009 في 21:13

#13
اقتباس
ولكن بمجرد غلق التطبيق ... يمكنك فتح المجلد!!!!!!!!!!!!

ولهذا السبب قلت لك عليك إنشاء خدمة تقوم بفتح المجلد حصرياً والخدمة بالتأكيد ستعمل مع بداية تشغيل النظام وتغلق مع إغلاق النظام

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#14
اقتباس
ولهذا السبب قلت لك عليك إنشاء خدمة تقوم بفتح المجلد حصرياً والخدمة بالتأكيد ستعمل مع بداية تشغيل النظام وتغلق مع إغلاق النظام

كيف يمكن عمل هذه الخدمة برمجياً؟

#15

من انواع المشاريع المتاحه داخل الفيجوال ستديو للـ VB.Net و C# النوع Windows Service

مدونتي: C++ Tips and Tricks

#16
Muhammad alaa كتب:
من انواع المشاريع المتاحه داخل الفيجوال ستديو للـ VB.Net و C# النوع Windows Service

مع الأخد بعين الإعتبار أنه حتى Windows Service يمكن غلقه و بعد الغلق يصبح المجلد متاح للجميع, لذا و جب البحث عن طريقة لمنع المستخدم من غلقه كما هو الحال بالنسبة لـ DeepFreeze.

تحياتي...

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…