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

حماية ملف فلاش

بدأه dagash في 1 مارس 2011 · 3 رد · 1,221 مشاهدة · في التصميم والفلاش والبرامج الرسومية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أسعد الله أوقاتكم .

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

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

العقبات التي تقف في طريقي ، هي هل يستطيع الفلاش أن يتعامل مع جهاز الكومبيوتر بحيث يستخلص رقم الهاردسك من خلال أوامر معينة ،،،؟

نقطة أخرى لا أدري عنها ، فحتى لو قمت بالحماية عن طريق الهاردسك تبقى ملفات الفلاش مكشوفة ( محتوى الإسطوانة ) ، هل يمكن قرائتها او تشغيلها ..؟

وإذا قمت بتصميم برنامج الفلاش بحيث أنه لا يعمل إلا بعد إدخال رقم معين ، هل يمكن تخطي هذه الطريقة ..؟ أو جعل الملفات كلها لا تعمل إلا بعد ان يتم فتحها بهذا الرقم ...؟

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

الرجاء ممن لديه أفكار اخرى مشاركتي بها ..

#2

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

أخى الفاضل امامك اكثر من حل يتيحها لك هذه الأداة

الحل الأول

بعد ماتخلص تعمل كلمة سر وبكده مش هايعمل play غير بوجود كلمة السر وتقدر تلم كل الملفات بتاعتك في ملف واحد عشان مايبقاش عندك أكثر من ملف

الحل الثاني وهو منع النسخ أصلا

الحل الثالث انك تربطه بموقع تحط فيه أرقام للتحديث ودي شغلانه ويمكن الناس تكون مش متصلع النت

الحل الرابع ان كل جهاز يكون ليه كلمة مرور برده زي كراك

وده كله متاح بالبرنامج

وهناك حل أخر انك تتاخد ملف الفلاش وتضيفه جوه مثلا الفيجوال بيسك OCX

وفيه داله اسمها getdrive type

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

بس دي عيبها لو عملها virtual او نسخها ع اطوانه تانية بتشتغل

أولا ده رابط البرنامج

http://www.alhnuf.com/119164.html

ودي الداله

Private Declare Function GetLogicalDrives Lib "kernel32" () As Long

Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias _

"GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Private Declare Function GetVolumeInformation Lib "kernel32" Alias _

"GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer _

As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, _

lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal _

lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _

(ByVal nDrive As String) As Long

Const DRIVE_UNKNOWN = 0

Const DRIVE_REMOVABLE = 2

Const DRIVE_FIXED = 3

Const DRIVE_REMOTE = 4

Const DRIVE_CDROM = 5

Const DRIVE_RAMDISK = 6

Private Sub VolFixedDiskInfo(ByVal drv As String, volfsname As String, _

voltype As String, parttype As String)

Dim fsflags As Long

Dim serial As Long

Dim maxlen As Long

Dim fsname As String * 255

Dim volname As String * 255

Dim drive As String

If Right(drv, Len(drv)) <> "\" Then drive = drv & "\"

Select Case GetDriveType(drive)

Case DRIVE_UNKNOWN: voltype = "Undetermined"

Case DRIVE_REMOVABLE: voltype = "Removable Drive"

Case DRIVE_FIXED: voltype = "Fixed Drive"

Case DRIVE_REMOTE: voltype = "Network Drive"

Case DRIVE_CDROM: voltype = "CD-ROM Drive"

Case DRIVE_RAMDISK: voltype = "RAM Disk"

Case Else: voltype = ""

End Select

If GetDriveType(drive) = DRIVE_FIXED Then

If GetVolumeInformation(drive, volname, 255, serial, maxlen, fsflags, fsname, 255) Then

volfsname = Left(volname, InStr(volname, Chr(0)) - 1)

parttype = Left(fsname, InStr(fsname, Chr(0)) - 1)

Else

volfsname = ""

parttype = ""

End If

Else

volfsname = ""

parttype = ""

End If

End Sub

Public Sub GetDrives()

Dim diskname As String: Dim disk() As String: Dim disknames As String * 255: Dim nDisk As Long: Dim voltype As String

Dim volfsname As String: Dim parttype As String: Dim NumberOfDrives As Long

For X = 0 To 26

DriveLetters(X) = ""

DriveRegistered(X) = True

DriveFull(X) = ""

DriveUserName(X) = ""

DriveForm(X) = ""

Next X

nDisk = GetLogicalDrives(): errd = GetLogicalDriveStrings(255, disknames)

If errd > 0 Then

disk = Split(disknames, Chr(0), nDisk)

For i = 0 To UBound(disk)

If Len(disk(i)) > 0 Then

If Asc(UCase(Left(disk(i), 1))) >= Asc("A") Then

VolFixedDiskInfo Left(disk(i), 2), volfsname, voltype, parttype

If voltype = "Removable Drive" Then

' UCase(Left(disk(i), 2))

diskL = UCase(Left(disk(i), 1))

diskL = Mid$(diskL, 1, 1)

DriveLetters(NumberOfDrives) = UCase(Left(disk(i), 1))

NumberOfDrives = NumberOfDrives + 1

End If

End If

End If

Next

End If

CurrentDriveNumber = NumberOfDrives

End Sub

#3
اقتباس
بعد ماتخلص تعمل كلمة سر وبكده مش هايعمل play غير بوجود كلمة السر وتقدر تلم كل الملفات بتاعتك في ملف واحد عشان مايبقاش عندك أكثر من ملف

هل يستطيع أحد قراءة الأكواد المكتوبة بــ action script ليحلل طريقة عمل البرنامج ...؟

اقتباس
الحل الثاني وهو منع النسخ أصلا

تبقى طريقة منع النسخ مرتبطة بأشياء أخرى كثيرة ، وفي الغالب لا تنفع ،إلا إذا ربطنا الإسطوانة بشيء يتعلق بكل جهاز كومبيوتر على حده ، كطريقة الحماية برقم الهاردسك .

اقتباس
العقبات التي تقف في طريقي ، هي هل يستطيع الفلاش أن يتعامل مع جهاز الكومبيوتر بحيث يستخلص رقم الهاردسك من خلال أوامر معينة ،،،؟

أعتقد أن الجواب على هذا السؤال هو لب الموضوع ..

#4

بالنسبة لكود الــ action script تمت حمايته باستخدام AS3Obfuscator .

هل من جديد بخصوص تعامل الفلاش مع الكومبيوتر .

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