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

فكرة حلوة علشان لغلق البرنامج بعد 30 يوم بالملفات

مغلق
بدأه MohamedAliSalim في 18 سبتمبر 2006 · 24 رد · 2,361 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذه فكرة حلوة اردت انا اقولها لك

وهي غلق برنامجك بعد 30 يوم من استعماله

والفكرة دي حلوة في ايه ؟؟

بعد 30 يوم سوف يغلق البرنامج حتى لو المستخدم رجع التاريخ الى الخلف

يعني لو عمل ايه مش هاينفع يرجع البرنامج يشتغل تاني

الا في حالة واحدة بس

لو عرف اسماء ال13 ملف اللي احنا هانعملهم

وطبعا انت ممكن تزود هذه الملفات بدل من 13 ممكن تخليهم 50 وانت وراحتك

ممكن تعمل 20 في system32

و 20 في system

علشان العملية تبقى مضونة شوية يعني

وطبعا استحالة المستخدم يعرف هذه الملفات اللي بين الوفات الملفات الخاصة بالنظام نفسه ( الويندوز )

المهم دعونا اقول لكم الفكرة

عند تحميل اول فورمة للمبرنامج

سوف يتم انشاء 6 ملفات للفحص فقط وملف واحد سوف يتم كتابة التاريخ به

و 6 ملفات للغلق ( اي لغلق البرنامج بعد انتهاء المدة )

كلهم في system32

++++++++++++++++++++++++++++++++++++++++

اولا سوف احكي لكم الموضوع بالبرمجة البلدي

----------------------------

لو ملفات الغلق موجودة كلها

طلع رسالة

مدة البرنامج التجريبية انتهت قم بشراء النسخة الأصلية

انهاء البرنامج

لو احد هذه الملفات ناقصة

طلع رسالة

تم التلاعب بملفات نظام البرنامج وسوف يتم انهاء البرنامج في الحال

انهاء البرنامج

انشاء ملفات الغلق من جديد

لو مش موجدين كلهم ( يبقى البرنامج معداش ال 30 يوم علشان المستخدم استحالة يجد ال6 ملفات )

كمل عادي

************************************************

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

انشاء هذه الملفات مع كتابة في اخر ملف التاريخ بتاع النهاردة

ولو لقاهم بالفعل

شوف هل احد هذه الملفات مفقود ولا لأ ( حذف بواسطة المستخدم )

لو يوجد بالفعل احد هذه الملفات مفقود

طلع رسالة

تم التلاعب بملفات نظام البرنامج ولا يمكن فتح البرنامج نهائيا

انهاء البرنامج

اذا كانو موجدين كلهم والحمد لله

اقراء الملف الأخير اللي هو بتاع التاريخ وشوف هل التاريخ بتاع النهاردة اصغر منه ولا لأ

لو اصغر

طلع رسالة بتقول

تم التلاعب بتاريخ الجهاز كمحاولا لتشغيل البرنامج بعد غلقه

انهاء البرنامج

اما اذا لم يكن اصغر منه

زود على التاريخ اللي في الملف الأخير شهر واحد وبعدين

هل تاريخ النهاردة اكبر منه

لو اكبر

طلع رسالة بتقول

انتهت المدة التجريبية الخاصة بالبرنامج

انشاء الملفات الستة الأخرى الخاصة بالغلق

انهاء البرنامج

لو مش اكبر كمل عادي

++++++++++++++++++++++++++++++++++++++++++++++++++

حد فهم حاجة ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

هذه الأكواد المستخدمة

----------------

ضع فوق خالص في الجينرال يعني هذا الكود

Public winPath As String

وهو خاص بمعرفة مسار الويندوز علشان هاننسخ الملفات فيه

تعالى عن حدث التحميل للفورمة واكتب الكود ده

winPath = Environ$("windir")

winPath = winPath & "\System32"

ده علشان نغير قيمة المتغير بدل من مسار الويندوز الى مسار النظام

ثم

If Dir$(winPath & "\blockfile1.dll") = "" And _
   Dir$(winPath & "\blockfile2.dll") = "" And _
   Dir$(winPath & "\blockfile3.dll") = "" And _
   Dir$(winPath & "\blockfile4.dll") = "" And _
   Dir$(winPath & "\blockfile5.dll") = "" And _
   Dir$(winPath & "\blockfile6.dll") = "" Then

   Else

   If Dir$(winPath & "\blockfile1.dll") = "" Or _
   Dir$(winPath & "\blockfile2.dll") = "" Or _
   Dir$(winPath & "\blockfile3.dll") = "" Or _
   Dir$(winPath & "\blockfile4.dll") = "" Or _
   Dir$(winPath & "\blockfile5.dll") = "" Or _
   Dir$(winPath & "\blockfile6.dll") = "" Then
   MsgBox "تم التلاعب بملفات النظام الخاصة بالبرنامج سوف ينتهي البرنامج الأن ولا يمكن فتحة مرة اخرى", vbCritical, "ملفات النظام"
  creatblockfile
   End

   Else

   MsgBox "شكرا لإختيارك برنامجنا .. المدة التجريبية الخاصة بالبرنامج أنتهت , قم بشراء النسخة الأصلية", vbInformation, ""
   End
   End If
End If

ده علشان نشوف هل ملفات الغلق موجودة ولا لأ ونشوف حد فيهم ناقص و لا لأ

وكلمة creatblockfile

ده Function الخاص بإنشاء ملفات الغلق

اللي هايبقى مكتوب فيه

Public Function creatblockfile()
winPath = Environ$("windir")
winPath = winPath & "\System32"

Dim savedFile As New FileSystemObject
Dim savedFilePath As String

savedFilePath = (winPath & "\blockfile1.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)

savedFilePath = (winPath & "\blockfile2.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\blockfile3.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\blockfile4.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)

savedFilePath = (winPath & "\blockfile5.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)

savedFilePath = (winPath & "\blockfile6.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)



End Function

وبعدين تكتب

If Dir$(winPath & "\chekfile1.dll") = "" And _
   Dir$(winPath & "\chekfile2.dll") = "" And _
   Dir$(winPath & "\chekfile3.dll") = "" And _
   Dir$(winPath & "\chekfile4.dll") = "" And _
   Dir$(winPath & "\chekfile5.dll") = "" And _
   Dir$(winPath & "\chekfile6.dll") = "" And _
   Dir$(winPath & "\datefile.dll") = "" Then

	creatfilestocheck

	Else

   If Dir$(winPath & "\chekfile1.dll") = "" Or _
   Dir$(winPath & "\chekfile2.dll") = "" Or _
   Dir$(winPath & "\chekfile3.dll") = "" Or _
   Dir$(winPath & "\chekfile4.dll") = "" Or _
   Dir$(winPath & "\chekfile5.dll") = "" Or _
   Dir$(winPath & "\chekfile6.dll") = "" Or _
   Dir$(winPath & "\datefile.dll") = "" Then
   MsgBox "تم التلاعب بملفات النظام الخاصة بالبرنامج سوف ينتهي البرنامج الأن ولا يمكن فتحة مرة اخرى", vbCritical, "ملفات النظام"
   creatblockfile
   End
   Else
   checkerfordate
End If





End If

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

وكلمة creatfilestocheck

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

وهذا هو كود ال Function

Public Function creatfilestocheck()
winPath = Environ$("windir")
winPath = winPath & "\System32"

Dim savedFile As New FileSystemObject
Dim savedFilePath As String




savedFilePath = (winPath & "\chekfile1.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile2.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile3.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile4.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile5.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile6.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)



savedFilePath = (winPath & "\datefile.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)
Stream.Write (Date & vbCrLf)

End Function

ولو في احد هذه الملفات ناقص

طلع رسالة ( الموجودة في الكود ) وانشئ ملفات الغلق

وكلمة creatblockfile دي Function زي ما قلنا من قبل

ولو كلهم موجدين ومفيش اي ملفات ناقصة والحمد لله

checkerfordate

افحص التاريخ

والكلمة السابقة checkerfordate دي ال Function الخاصة بذلك

اللي مكتوب فيها

Public Function checkerfordate()
winPath = Environ$("windir")
winPath = winPath & "\System32"

Dim loadedFile As New FileSystemObject
Dim rdlin As Date
Set Stream = loadedFile.OpenTextFile((winPath & "\datefile.dll"), ForReading, False, TristateFalse)

rdlin = (Stream.ReadLine())

If Date < rdlin Then
MsgBox "تم التلاعب بتاريخ الجهاز كمحاولة لتشغيل البرنامج بعد إنتهاء المدة التجريبة , سوف يتم غلق البرنامج نهائياً", vbCritical, ""
creatblockfile
End
End If



T = DateAdd("m", 1, rdlin)

Dim chdate As Date

chdate = T

If Date > chdate Then
MsgBox "انتهت المدة التجريبية للبرنامج , قم بشراء النسخة الأصلية", vbCritical, ""
creatblockfile
End
End If

End Function

بس كدة

طبعا انت مش هاتخلي اسماء الملفات كدة

غيرهم بأسماء مختلفة علشان المستخدم ما يعرفهمش

حد فهم حاجة ؟؟؟ حد فهمني ؟؟

يبقى الكود كامل هايبقى كدة

Public winPath As String


Private Sub Form_Load()
winPath = Environ$("windir")
winPath = winPath & "\System32"



If App.PrevInstance = True Then

MsgBox "لا يمكن تشغيل أكثر من نسخة من البرنامج"
Unload Me
Exit Sub
End If



If Dir$(winPath & "\blockfile1.dll") = "" And _
   Dir$(winPath & "\blockfile2.dll") = "" And _
   Dir$(winPath & "\blockfile3.dll") = "" And _
   Dir$(winPath & "\blockfile4.dll") = "" And _
   Dir$(winPath & "\blockfile5.dll") = "" And _
   Dir$(winPath & "\blockfile6.dll") = "" Then

   Else

   If Dir$(winPath & "\blockfile1.dll") = "" Or _
   Dir$(winPath & "\blockfile2.dll") = "" Or _
   Dir$(winPath & "\blockfile3.dll") = "" Or _
   Dir$(winPath & "\blockfile4.dll") = "" Or _
   Dir$(winPath & "\blockfile5.dll") = "" Or _
   Dir$(winPath & "\blockfile6.dll") = "" Then
   MsgBox "تم التلاعب بملفات النظام الخاصة بالبرنامج سوف ينتهي البرنامج الأن ولا يمكن فتحة مرة اخرى", vbCritical, "ملفات النظام"
  creatblockfile
   End

   Else

   MsgBox "شكرا لإختيارك برنامجنا .. المدة التجريبية الخاصة بالبرنامج أنتهت , قم بشراء النسخة الأصلية", vbInformation, ""
   End
   End If
End If





If Dir$(winPath & "\chekfile1.dll") = "" And _
   Dir$(winPath & "\chekfile2.dll") = "" And _
   Dir$(winPath & "\chekfile3.dll") = "" And _
   Dir$(winPath & "\chekfile4.dll") = "" And _
   Dir$(winPath & "\chekfile5.dll") = "" And _
   Dir$(winPath & "\chekfile6.dll") = "" And _
   Dir$(winPath & "\datefile.dll") = "" Then

	creatfilestocheck

	Else

   If Dir$(winPath & "\chekfile1.dll") = "" Or _
   Dir$(winPath & "\chekfile2.dll") = "" Or _
   Dir$(winPath & "\chekfile3.dll") = "" Or _
   Dir$(winPath & "\chekfile4.dll") = "" Or _
   Dir$(winPath & "\chekfile5.dll") = "" Or _
   Dir$(winPath & "\chekfile6.dll") = "" Or _
   Dir$(winPath & "\datefile.dll") = "" Then
   MsgBox "تم التلاعب بملفات النظام الخاصة بالبرنامج سوف ينتهي البرنامج الأن ولا يمكن فتحة مرة اخرى", vbCritical, "ملفات النظام"
   creatblockfile
   End
   Else
   checkerfordate
End If





End If

end sub

Public Function creatfilestocheck()
winPath = Environ$("windir")
winPath = winPath & "\System32"

Dim savedFile As New FileSystemObject
Dim savedFilePath As String




savedFilePath = (winPath & "\chekfile1.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile2.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile3.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile4.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile5.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\chekfile6.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)



savedFilePath = (winPath & "\datefile.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)
Stream.Write (Date & vbCrLf)

End Function

Public Function checkerfordate()
winPath = Environ$("windir")
winPath = winPath & "\System32"

Dim loadedFile As New FileSystemObject
Dim rdlin As Date
Set Stream = loadedFile.OpenTextFile((winPath & "\datefile.dll"), ForReading, False, TristateFalse)

rdlin = (Stream.ReadLine())

If Date < rdlin Then
MsgBox "تم التلاعب بتاريخ الجهاز كمحاولة لتشغيل البرنامج بعد إنتهاء المدة التجريبة , سوف يتم غلق البرنامج نهائياً", vbCritical, ""
creatblockfile
End
End If



T = DateAdd("m", 1, rdlin)

Dim chdate As Date

chdate = T

If Date > chdate Then
MsgBox "انتهت المدة التجريبية للبرنامج , قم بشراء النسخة الأصلية", vbCritical, ""
creatblockfile
End
End If

End Function

Public Function creatblockfile()
winPath = Environ$("windir")
winPath = winPath & "\System32"

Dim savedFile As New FileSystemObject
Dim savedFilePath As String

savedFilePath = (winPath & "\blockfile1.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)

savedFilePath = (winPath & "\blockfile2.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\blockfile3.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)


savedFilePath = (winPath & "\blockfile4.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)

savedFilePath = (winPath & "\blockfile5.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)

savedFilePath = (winPath & "\blockfile6.dll")
Set Stream = savedFile.CreateTextFile(savedFilePath, True, False)



End Function

بس كدة

لو حد عاوز يستفسر عن شئ يقولي

سلامي لكم جميعا

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#2

؟؟؟؟؟؟؟؟؟؟؟

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#3

:blink:

ولماذا لا تستخدم SaveSetting , GetSetting بدلاً من كل هذه الأكواد ؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!

:angry: :wacko:

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

feed.1.gif

#4

السلام عليكم

اولا مشكور أخى على هذا الشرح ولكن

أخى الكريم انا مؤيد لرأى الأخ GHOST2010

GHOST2010 كتب:
ولماذا لا تستخدم SaveSetting , GetSetting بدلاً من كل هذه الأكواد ؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!

انت ليه عامل اللفه ديه كلها

تم تعديل هذه المشاركة بواسطة GENIUS-IT في 18 سبتمبر 2006 في 18:09

Never Give Up You Are Programmer

Being Genius Is The Step Before Madness

Artificial Intelligence Is No Match For Natural Stupidity

#5

انا استعملت اللي انت بتقولوا عليهخ ده من قبل ولكن قمت بتقديم التاريخ بعد 30 يوم

ولم يحدث شي ورجعت للوراء ولم يحدث شئ

وقعد الغبط التاريخ ولم يحدث شئ

هو نفع مرة واحدة بس لما فصلت اقدم التاريخ يوم بيوم

امل لما قمت بتقديمه عدة شهور فقد السيطرة

ورجعتهة كما مان وزودته ولم يحدث شي

وفكرت في هذه الفكرة

كفايا ان انا فاهمها وعاملها خطوة خطوة بايدي

ولم اأخذها كوبي وبيست من غير ما افهمها ولا فاهم خطوة واحدة فيها

تم تعديل هذه المشاركة بواسطة MohamedAliSalim في 18 سبتمبر 2006 في 19:55

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#6

فكره حلوه..والحل المتاح هوه عمل الفورمات :D ده على حد علمى ...ممكن تعملها فى ملف dll وتنفذها فى كل برامجك..واصل ابداعك

مدونة مهندس ميكانيكى

“Any fool can make things bigger, more complex, and more violent”

#7

فكرتك جميله زيك كده اخى MohamedAliSalim الى الامام دائما

#8

شكرا اخي half angel على حسن التعبير

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#9

طب لو المستخدم ظل يغير تاريخ الجهاز ويعمل علي تاريح يوم معين علي طول هل سيعمل البرنامج

#10
اقتباس
كفايا ان انا فاهمها وعاملها خطوة خطوة بايدي

طبعا دي أهم حاجة :lol: ومادامت الطريقة عاجباك لا تتنازل عنها إلا إذا إقتنعت بغيرها

اقتباس
انا استعملت اللي انت بتقولوا عليها ده من قبل ولكن قمت بتقديم التاريخ بعد 30 يوم

ولم يحدث شي ورجعت للوراء ولم يحدث شئ

وقعد الغبط التاريخ ولم يحدث شئ

هو نفع مرة واحدة بس لما فصلت اقدم التاريخ يوم بيوم

امل لما قمت بتقديمه عدة شهور فقد السيطرة

ورجعتهة كما مان وزودته ولم يحدث شي

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

اتمنى يكون الأمر بالنسبة إليك واضح ;)

سلاااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااام

تم تعديل هذه المشاركة بواسطة بلال حمدي في 19 سبتمبر 2006 في 03:40

#11

الفكرة عجبتنى وسأجربها

الفكرة عجبتنى وسأجربها

#12

يمكن كسر هذه الطريقة في دقائق...

كيف ؟

هناك برامج خاصة تنفذ قبل تثبيت البرنامج وتسجل كل الملفات الموجودة

ثم يتم اللعب بالبرنامج قيلا بتغيير تاريخ الجهاز بحيث يتوقف البرنامج عن العمل

ينفذ نفس البرنامج الخاص الأول ويقارن الملفات الموجودة بالسابقة

النتيجة قائمة بالملفات المضافة

تحذف و....البرنامج يعمل :lol:

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#13

السلام عليكم

شكرا لكم جميعا على المناقشة الجميلة في الموضوع

ولي شوية تعليقات يجب ان اقولها

اقتباس
طب لو المستخدم ظل يغير تاريخ الجهاز ويعمل علي تاريح يوم معين علي طول هل سيعمل البرنامج

اولا يا اخ yasserstars

مافيش حد هايقدر يعمل اللي انت بتقول عليه ده

ثانيا معظم قواعد البيانات تعتمد على التاريخ بشكل اساسي

امتى اتسجل امتى خرج سواء بقى كان طالب او منتج او الة او اي شيئ

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

وهو عبارة عن منبه لعملية صيانة على الة معينة او مجموعة من الألات فاللعب في التاريخ ليش في صالح المستخدم

اقتباس
طبعاً إنت أكيد عملت حاجة غلط ,, سوف تضع النصوص الخاصة بالتاريخ وغيره في الرجستري والمفروض إن أكواد إختبار التاريخ والحسابات واحدة

انا قمت بتجربة الحكاية دي مثلما قال الأخ GHOST2010

ولكن انظر فيما بعد

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

بمعنى ان انا شلت الكود واشتغل البرنامج ووضعت الكود مرة اخرى فتم غلق البرنامج بدون حتى يمر دقيقة واحدة على تشغيله

اقتباس
الفكرة عجبتنى وسأجربها

شكرا لكي يا اخت ماجدة

اقتباس
يمكن كسر هذه الطريقة في دقائق...

كيف ؟

هناك برامج خاصة تنفذ قبل تثبيت البرنامج وتسجل كل الملفات الموجودة

ثم يتم اللعب بالبرنامج قيلا بتغيير تاريخ الجهاز بحيث يتوقف البرنامج عن العمل

ينفذ نفس البرنامج الخاص الأول ويقارن الملفات الموجودة بالسابقة

النتيجة قائمة بالملفات المضافة

تحذف و....البرنامج يعمل

ماتنساش يا اخي انك وانت بتصتب البرنامج بتاعك اكيد في ملفات كتيرة هاتتنشئ في ملف النظام ( هذه الملفات يحتاجها البرنامج لكي يشتغل بطريقة صحيحة )

فاذا حذفت كل الملفات الجديدة اللي نزلت في النظام فانت كدة بتقضي على البرنامج ومش هايطلعلك اساسا الرسالة بتاعة الغلق اللي انت كاتبها في الكود ده هايطلعلك

Error او run time error لأن هذه الملفات تعتبر ملفات اساسية للبرنامج

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

GHOST2010

GENIUS-IT

FemTo

half angel

yasserstars

بلال حمدي

majdah taher

dj-siba

على ردودكم

................

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#14

السلام عليكم

أخى الكريم MohamedAliSalim

انا عايز أوضحلك حاجه انا مش معترض على

طريقتك بل بالعكس انا شكرتك عليها قبل كل شىء

ثانيا انا هقولك حاجه هتنفعك فى الطريقه دى لو مكنتش تعرفها

انت ممكن تحذف الملفات ديه من مجلد System32

windows\system32\timedate.cpl

windows\system32\dllcache\timedate.cpl

وبكده المستخدم مش هيقدر يعدل التاريخ والوقت من الوندوز

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

Never Give Up You Are Programmer

Being Genius Is The Step Before Madness

Artificial Intelligence Is No Match For Natural Stupidity

#15
اقتباس
انت ممكن تحذف الملفات ديه من مجلد System32

windows\system32\timedate.cpl

windows\system32\dllcache\timedate.cpl

وبكده المستخدم مش هيقدر يعدل التاريخ والوقت من الوندوز

إحذف النظام كامل أحسن ...

التلاعب بملفات النظام شئ غير صحيح ..

على الأغلب النظام إن كان WINXP سيتحقق من وجود تلك الملفات ...

يبدو أنكم تتعاملون مع مستخدمين أغبياء ..

حذف تلك الملفات لا يمنع من تعديل التاريخ والوقت ..

إحدى الطرق إستعمال الأمرين time , date في الـ command prompt ..

كمبرمج يمكن تغيير الوقت باستعمال Win32 API أو ما تتيحه لك بئية التطوير من دوال مغلفة لتوابع الـ WIN32 API ..

بالنسبة لطريقة الحماية فلا أظن أنها ستكون صعبة على crackers متمرس ...

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#16

السلام عليكم

أخى الكريم cipher

بالنسبه لو كان النظام WinXP

فأنه بالفعل سوف يتحقق من وجود الملفات ولكن

لو أغلقت الرساله التى سوف تظهر فلن تظهر مره أخرى

ثانيا انا بحثت فى موضوع منع التعديل فى التاريخ والوقت وملقيتش حل

يايريت لو عندك حل دلنى عليه

Never Give Up You Are Programmer

Being Genius Is The Step Before Madness

Artificial Intelligence Is No Match For Natural Stupidity

#17

طريقة جيدة ولكن ؟؟؟؟ تعتبر من الطرق الجيدة لصعوبة تتبعها والحصول علي الملقات اذا ما ربطت عمل جميع الملفات مع بعضها البعض فيعتمد كل ملف علي صحة الاخر ، وهي افضل من الطرق التي ذكرها الاخ العزيز GHOST2010 لان الدوال GetSetting و SaveSetting jr تقوم بحفظ البيانات تحت مجلد خاص لبرامج فيجوال بيسك في الرجيستري وهو HKEY_CURRENT_USER\Software\VB and VBA Program Settings ، نعود مرة اخري للطريقة الاولي حيث يوجد طريقة سهلة لكسرها وهي بطريقة برنامج DeepFreez والكل يعرفه انه بمجرد انشاء اي ملف علي جهاز الحاسوب وبمجرد اعادة التشغيل يعود لوضعه الطبيعي وبذلك سيعمل البرنامج للابد .

ولكن في النهاية تعتبر طريقة من طرق الحماية .

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

تم تعديل هذه المشاركة بواسطة prof_1982 في 19 سبتمبر 2006 في 21:05

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

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

#18

شكرا اخي GENIUS-IT على هذه المعلومة بس هل انت متأكد فعلا ان النظام XP مش هايعمل عليها Check وهو بيفتح ولو لم يجدها سوف يطلع رسالة خطأ مثلما قال الأخ cipher

اما بالنسبة للأخ cipher

هل عندك طريقة او كود منع المستخدم من تغير التاريخ والوقت

شكرا لك يا اخ prof_1982

بالنسبة للديب فريز DeepFreez فعلا هايشيل الملفات الجديدة اللي دخلت على النظام بنجاح

بس مش هايشيلها لوحدها

قما قلت من قبل سوف يتم حذف ملفات اساسية لبرنامجك

لأن حضرتك وانت بتصتب برنامجك ( المشروع ) على اي جهاز اخر سوف يضع ملفات خاصة به في ملفات النظام

ده بطبيعة الحال

معظم البرامج اللي بتتصتب بتنسخ بعض الملفات الخاصة بها واللي محتاجاها علشان البرنامج يشتغل صح في النظام

واكيد هاتشوف الملفات دي بأي برنامج تحزيم

يعني بإختصار برنامج DeepFreez هايشيل البرنامج بأكمله وليس الملفات اللي احنا ها ننشئها

صح ؟؟؟

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#19

السلام عليكم

أخى الكريم MohamedAliSalim

أولا بالنسبه لموضوع الرساله فهى هتطلع أول ما تحذف الملفات

لكن لو اغلقتها مش هتظهر تانى

بالنسبه لل deep freez

انت لو نزلت برنامجك على الجهاز وبعد ما نزلته نزلت deep freez

ده هيمنع من التعديل على الملفات وبكده البرنامج هيفضل زى ماهو

مش هيتغير فيه حاجه وهيفضل شغال

Never Give Up You Are Programmer

Being Genius Is The Step Before Madness

Artificial Intelligence Is No Match For Natural Stupidity

#20

وكن في حال تم تنزيل برنامجك وتشغيل الـdeepFreez بعد تنزيل البرنامج و قبل تشغيل برنامجك في هذه الحالة سينجح في كسر حمايته ، لانه سيحذف كافة الملفات اللتي سيتم انشائها البرنامج لاحقا .

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

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

#21

آآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآه

انا الأن سوف احارب الديب فريز ده علشان مش بحبه

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#22

يا جماعة الحل كله انك تقوم بحفظ البيانات في قاعدة البياانات وطبعا ولا ديب فرييييييييز ولا غيره يقدر يحزف الا انكتب في قاعدة البيانات وطبعا لازم تستخدم طريقة MFS وهي احد طرق تشفير قاعدة البيانات وطبعا بتعتبر من اقوي الطرق علي الاطلاق ما في حد لها اليوم قدر انه يكسر قاعدة البيانات او انه يخترقها لانها اشهر واعتا طرق التشفير حيث تقوم بتشفير كلمات المرور لقاعدة البيانات في حدود 32 حرف ابجدي وعلامات ورموز وطبعا ما في حدا هيقدر يدخلها خالص ولا تقول ليا فريز ولا حاجة من الا انتوا بتتكلموا عليها دي وطبعا هتحفظ التاريخ في قاعدة البيانات وكل مرة يفتح فيها البرنامج يروح يقارن التاريخ الاول ولو في مشاكل يعطي رسالة تحزير وخلا انتهت المسكطلة بس مع احترامي للاخوة الاعضاء ما ااعتقدش ان طريق الملفات تصلح وده راي وبالنسبة لطريقة التشفير سوف اتكلم عنها بطريقة موضحة ومفصلة بس افضي لاني مشغول جدا الوقت هيدي وانا تحت امركك كلكوااااااااااااااااااااا

#23

شكرا اخي Max bayne على ردك

وانا فعلا فكرت في الكرة دي اللي هي التخزين في قاعدة البيانات بس مش بعرف احميها خالص

بعرف بس احميها بطريقة تانية

ولكن ممكن تشرحلى الطريقة بتاعتك

وممكن احد الأعضاء يكون عنده الديب فريز ده ويقولي على اسم المجلد الرئيسي بتاعه وبعض الملفات علشان هابدأ اقول للبرنامج انه لو وجد هذه الملفات لم يعمل البرنامج إلا بعد إزالة برنامج ديب فريز

وشكرا

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#24

يا جدعان دعوني اشرح لكم ازاي برنامج الدييب فريز ما يقدرش يعمل حاجة

اول حالة لو برنامج الديب فريز متصتب الأول يعني متصتب من زمان فبل ما تقوم بتصتيب برنامجك

في هذه الحالة بعد اول ريستارت سوف يحذف برنامج الدييب فريز كل الملفات الجديدة اللى دخلت على النظام بأكمله سةاء في النظام 32 او في Program files يعني من الأخر هايشيل البرنامج بتاعك كله

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

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

ثم يقوم الديب فريز بحذف ملفات الغلق

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

وكمان كما قال بض الإخوة انه يوجد برنامج لجرد ملفات النظام الجديدة كلها

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

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

وشكرا

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#25
اقتباس
في هذه الحالة بعد اول ريستارت سوف يحذف برنامج الدييب فريز كل الملفات الجديدة اللى دخلت على النظام بأكمله سةاء في النظام 32 او في Program files يعني من الأخر هايشيل البرنامج بتاعك كله

صحيح هذا مايحدث لكن مستخدم البرنامج سيضع البرنامج مثلا على الـ D ولا يفعل الديب فريز على الD وبالتالي البرنامج لن يحذف لكن ملفات الحمايهالتي على الـC هي التي ستحذف وأي نصوص أخري في قاعدة بيانات ‘لى الـC أو الرجستري سوف تحذف وبالتالي يعمل البرنامج إلى الأبد في هذه الحالة يمكن مثلا وضع النصوص في ملف البرنامج لكن أيضا لن يخسر المستخدم شيئأ إذا وضع البرنامج على الـ C وكلما أراد إستخدامه عمل تنصيب له من جديد وفي الأول والأخير مهما إفتعلت من طرق للحمايه داخل كود البرنامج يمكن كسره بسهولة بالإسمبلي والموضوع هذا نوقش من قبل

هناك طرق أخري للحمايه

فكرة جميلة

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

سلااااااااااااااااااااااااااااااااااااااااااااااااااااام

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

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

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

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

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

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