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

حماية البرنامج من النسخ

مغلق
بدأه slow_night في 24 أغسطس 2005 · 8 رد · 1,141 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني الكرام

كيف استطيع عمل حماية للبرنامج من النسخ علي الهارد ديسك

بمعني ادق : كيف استطيع جعل البرنامج لا يعمل الا من خلال السي دي ولايمكن نسخه علي الهارد ديسك

فهل يوجد كود يقوم بعمل مثل هذه الحماية ؟

او لا يوجد كود يقوم بذلك " وتتم الحماية فقط ببرامج النسخ" ؟

في انتظار ردكم

ولكم جزيل الشكر

و جزاكم الله خير الجزاء

#2

up

سبحان الله وبحمده سبحان الله العظيم

لا اله الا الله محمدا رسول الله

اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

حمل كريستال ريبورت 10 اربعه اصدارات

ww12kz.jpg

hashad.jpg

#3

سؤالك سؤالين أخي الكريم، هل يمكن أن تعمل برنامج وتقوم بوضعه على السيدي ومن ثم لا يمكن أن يتم نسخه الى الهارد دسك، فأعتقد بأن الجواب "لا"، وهذه الخاصية حسب خبرتي المحدودة هي صفة تختص بالقرص الليزري وليس بالبرنامج نفسه وقد تم العمل عليها من كثير من الشركات ولكن كانت (على الأقل حتى الآن) هذه المحاولات فاشلة، فقد تم التغلب على هذه المشاكل بطرق عدة (ولا أفهمها).

أما إن كنت تريد أن تعمل برنامج يعمل فقط من السيدي ولا يمكن أن يعمل من فولدر في الهارد دسك (إن قام المستخدم بنسخ البرنامج إليه) فذلك الموضوع بسيط، فقط قم بإشتراط بأن يكون Startpath للبرنامج هو أحد محركات CD drive في الجهاز (أفترض بأنك تعرف كيف تقوم بذلك، فهي سهلة ومشروحة على ما أظن في هذ المنتدى).... ولكن حتى هذه الطريقة غير ناجعة تماماً، فالآن يوجد برامج تستطيع أن تعمل Virtual drive مثل البرنامج المشهور Alcohol 120% وتقوم بخداع حتى النظام نفسه ويظن بأن هذا الدرايف هو درايف فيزيائي.

Learn Japanese :>>> http://www.nouben.com/

#4

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

الف شكر اخي الكريم "HMS" علي الرد

لكن هل من الممكن ان ترسل توضيح اكثر حول الـ Start bath او ترسل رابط للموضوع المذكور في المنتدي بخصوصه

ولك جزيل الشكر

وجزاك الله خير الجزاء

#5

أقصد بال startpath الفولدر الذي ينطلق منه برنامجك ونحن نكتبه هكذا Application.StartupPath، يبقى عليك فقط البحث في المنتدى عن أي مشاركة تتحدث عن كيفية معرفة الدرايف للقرص الليزري CD Drive (عادة يكون E) ومن ثم وفي حدث ال load لبرنامجك تكتب شرطاً بأن يكون هذا الفولدر هو الدرايف المذكور، فإن كان ال Application.StartupPath ليس E فقم بعمل dispose لبرنامجك ولا تجعله يشتغل.

للأسف ليس لدي الآن الفيجوال ستديو الآن لأكتب لك كود البحث عن الدرايف، ولكن إبحث قليلاً وستجده في أكثر من مشاركة في المنتدى.

Learn Japanese :>>> http://www.nouben.com/

#6

أعلم بأنك لم تجد حلاً للآن، لذا فقد قمت بكتابة برنامج بسيط لا يعمل إلا إذا كان على أحد محركات السيدي في الكمبيوتر، علماً بأنه يوجد عديدة للقيام بنفس الموضوع فحاول أن تبحث وبالتأكيد ستتعلم الكثير من هذه الطرق.

1) أولاً قم بإضافة ال Reference المسمى System.Managment

2) بعد ذلك قم بالإستيراد عن طريق هذه الجملة Imports System.Managment

3) في حدث تحميل الفورم قم بكتابة الكود التالي ( تستطيع إختصار هذا الكود للنصف كما تلاحظ فأنت لا تحتاج للبحث أولاً عن جميع درايفات السيدي ومن ثم عمل مقارنة بل تستطيع عمل ذلك مباشرة ولكنني وضعت الكود كما هو حتى ترى كيف نسترجع جميع الدرايفات):

Dim CDs() As String
        Dim numb As Integer

        Dim HMS As New SelectQuery("Win32_CDROMDrive")
        Dim SD As New ManagementObjectSearcher(HMS)
        Dim info As ManagementObject
        For Each info In SD.Get
            ReDim Preserve CDs(numb)
            CDs(numb) = info("Id").ToString.Trim(":")
            numb += 1
        Next


        Dim boOK As Boolean
        Dim startingLet As String = Application.StartupPath.Substring(0, 1)


        For x As Integer = 0 To CDs.GetUpperBound(0)
            If startingLet = CDs(x) Then
                boOK = True
                Exit For
            End If
        Next

        If Not boOK Then
            MessageBox.Show(" أنسخ هذا الملف على السيدي حتى يعمل، أوكي؟", "HMS is angry", MessageBoxButtons.OK)
            Me.Dispose()
        End If

ومرفق أيضاً البرنامج، تفضل:

WindowsApplication11.zip

تم تعديل هذه المشاركة بواسطة HMS في 28 أغسطس 2005 في 04:20

Learn Japanese :>>> http://www.nouben.com/

#7

الف الف شكر اخي الكريمHMS

و اعتذر بشدة عن تأخري في الرد .. ولكن ذلك بسبب مرضي بنزلة برد

سوف اجرب الحل بأذن الله والف شكر لك يا اخي

جزاك الله خير الجزاء

#8

معافى اخي الكريم slow_night

احب ان اضيف الى ما ذكر بانه ان اردت استخدام هذه الطريقة في برنمج تخطط لطرحه في الاسواق مثلا فستجد بانها جدا ضعيفة امام محاولات القرصنة الرقمية.

راجع مقال مثبت في قسم الفيجوال بيسك باسم الاخ hanysaad (حان الوقت الان لحماية...)

وبالتوفيق

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

شكراً اخي xacker علي هذه الاضافة

بأذن الله سوف ارجع لكل المقالات في هذا المجال ...

و ليوفقنا الله لما فيه الخير

جزاك الله خيراً

هذا الموضوع مغلق.

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

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

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

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

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