• 0
xhacker

كيف يمكن حماية البرامج من تغيير التوقيت؟

سؤال

توجد بعض البرامج لتى تكسر الحماية الموضوعة على البرنامج عن طريق تغيير توقيت الويندوز! :(

فياريت كيفية حماية البرنامج منها!(يوجد مثال صغير مرفق مع المشاركة)

DateHack.zip.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

30 إجابة على هذا السؤال .

  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لدي فكره ...

يمكن انشاء مفتاح في الريجيستري اثناء عملية تنزيل البرنامج وتحفظ فيه تاريخ اليوم

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

ويتم حفظ التاريخ الجديد في الريجستري

اما لو قام البرنامج بمقارنة التاريخ الحالي مع التاريخ المحفوظ في الريجيستري ووجد ان التاريخ الحالي قبل التاريخ المحفوظ >>>>>

إذاً تم التلاعب في التاريخ ولا يسمح بتفعيل البرنامج

طبعا انت حافظ تاريخ اول يوم تم تشغيل البرنامج به لزوم المقارنه وانهاء فترة التجربه

تم تعديل بواسطه Asm4all
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الكلام ده معروف و انا ليا مشاركة فى هذا الصدد فى موضوع برنامجArmadillo و لكن الفكرة هى عن كيفية التغلب على هذه البرامج و البداية هى ان نعرف ما تفعله اصلا لتخدع البرنامج و بدون التأثير على تاريخ النظام الاساسى!

تم تعديل بواسطه xhacker
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طب افرض ان انا خليت التاريخ اللى انا هتلاعب بيه هو نفس التاريخ الذى نزلت به البرنامج!!

بذلك عندما يقوم البرنامج بالمقارنة سيجد ان التاريخ هو نفس التاريخ و ليس قبله (او بعده) و سيقبل العمل!

(ياريت تنزل البرنامج الاول عشان المسألة تبقى واضحة)

تم تعديل بواسطه xhacker
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

نتكلم بالبرمجه افضل

حنعمل مفتاح ( متغير في الريجستري) نسميه A ونحفظ فيه تاريخ أو مره تم تشغيل البرنامج

ونعمل مفتاح ونسميه B ونحفظ فيه تاني تاريخ التشغيل

بعد كده .....

عند تشغيل البرنامج يقوم بعمل الآتي :

1 - يقارن بين تاريخ اليوم والتاريخ المحفوظ في B

اذا كان تاريخ اليوم يسبق المحفوظ في B إذا تم التلاعب في التاريخ , ويتم غلق البرنامج

اذا كان تاريخ اليوم يساوي أو بعد التاريخ في B

@@@@@ نحفظ تارخ اليوم في B - بكده التاريخ اتغير ولو عدلته تاني ليوم تثبيت البرنامج حيعرف انه تم التعديل فيه @@@@@

2 -نقارن بين تاريخ اليوم والتاريخ المحفوظ في A

اذا وصل الفرق للمده المسموحه اغلق البرنامج

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الفكرة هى ان البرنامج بتاعى لما ييجى ياخد التاريخ من الويندوز هياخد تاريخ غلط (تاريخ اول مرة) مش تاريخ اليوم الصحيح

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

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

ياريت تعمل تجربة بسيطة جدا شان تتأكد من اللى انا بقوله

تم تعديل بواسطه xhacker
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كل البرامج اللي عندي بالسريال نامبر مش محتاج أعدل التواريخ

خلاص , لا تعتمد على التاريخ , اعتمد على عدد مرات التشغيل

تم تعديل بواسطه Asm4all
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

ملحوظه : لم أنظر بعد في كود السي المرفق مع البرنامج لذلك لا اعلم فكرة عمله

اعتقد والله اعلم ان البرنامج يخدع دالة النظام المسئوله عن جلب التاريخ من النظام , ويقوم بتمرير تاريخ ثابت

فما رأيك باخذ التاريخ بطريقه بدائيه لا علاقه لها بالنظام ؟

تأخذ التاريخ من الــ BIOS نفسه عن طريق دوال الادخال والاخراج , وبهذا تكون قد فلت من الكمين الذي اعده البرنامج لك

طبعا البرنامج يقوم بايقاف التاريخ نظريا ولكنه بالفعل يعمل في الــ BIOS

ها ما رأيك بهذه الفكره ؟؟؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الفكرة جميلة بس ياريت تقولى ازاى!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

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

أخي الكريم لا تكتفي بأخذ التاريخ م ن الوندوز

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

لا تكتفي فقط بالرجيستري، يمكم إستخدام ملف ini

وليكن خيالك و اسع

تم تعديل بواسطه DeltaAziz
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طب ازاى اتعامل مع ال BIOS؟؟؟؟؟؟؟؟؟؟

هى دى المشكللللللللللللللللللللللللللللة!

تم تعديل بواسطه xhacker
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

التعامل مع الــ BIOS يكون من خلال دوال الادخال والاخراج , حيث انك ستتعامل مع منفذ لعنوان معين في ذاكرة الــ BIOS وعنوان آخر لتقرأ منه البيانات

انا حاشرح بالأسمبلي ثم اعلق بالسي لأني لا أتذكر بيسيك حاليا للاسف :

mov dx,70h
mov al,07h
out dx,al
inc dx
in al,dx
mov month,al

dec dx
mov al,08h
out dx,al
inc dx
in al,dx
mov day,al

المثال خطوه خطوه

أولا نحدد عنوان مكان حفظ الشهور في ذاكرة الــ BIOS

وهو العنوان رقم 07

نخرج هذه القيمه على Address Bus الخاص بـالـ BIOS وهذا من خلال العنوان 0x70

outport(0x70, 7);

الآن نقرا من الــ Data Bus القيمه المحفوظه داخل العنوان الذي اخترناه وهو الشهر

عنوان الــ Data Bus هي 0x71

سنقوم بتخذين الناتج في متغير يسمى monthe

monthe = inport(0x71);

الآن نقرأ اليوم بنفس الطريقه ولكن عنوان اليوم هو 8

outport(0x70, 8);

ونحفظ الناتج في متغير اسمه day

day = inport(0x71);

ملحوظه هامه : النتيجه محفوظه بصورة BCD اي انك تقراها صحيحه وهي في صورة الهيكسديسيمال

بعد هذا تقوم بعملية المقارنه كما تحب

ارجو ألا اكون عقدت الأمور , وارجوا ممن يستطيع الترجمه الى البيسيك ليستفيد الجميع

احمد

تم تعديل بواسطه Asm4all
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكوووووووووووووووووووور و ياريت لو اى عضو يحوله للبيسك لتعم الفائدة!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

نفس يوم تنزيل البرنامج سواء من الويندوز او من Bios ، فما هو الحل؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

برامج تغيير التوقيت تخدع البرنامج إذا تعامل مع الويندوز ليأخذ التاريخ و ليس عندما يتعامل مع البيوس

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اعتقد في البيسيك مش حتفرق كثير عن السي

يعني على افتراض ان دوال التعامل مع المنافذ بهذا الاسم

Inp, outp

يكون الكود بهذا الشكل

outp &h070, 7
month = inp(&h071)
outp &h070, 8
day = inp(&h071)

مش فاكر بالضبط تمثيل الهيكس في البيسيك هل هو بهذه الصوره أم لا :(

عموما يمكنك تسجيل الساعه كمان وتعمل معاها نفس الحكايه لو التاريخ هو هو

ولو الراجل بيلعب في التاريخ بتاع الويندوز نفسه والوقت كمان , يبقى مفيش فايده واتحدى اي فكره تانيه , لأن البرنامج مش بيشم على ظهر ايده :blink:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هو لا يتلاعب فى التوقيت الاساسى للنظام !بل يتلاعب فى الويندوز بس !

و من البحث الذى كنت قد قمت به من فترة فلا يوجد اى برنامج يتلاعب فى التوقيت الاساسى بأستئناء برنامج XCopy NeverExpire الذى انقرض الان و لا يوجد حتى فى شبكات مشاركة الملفات!(و لكننى احتفظت بنسخة منه!! B))

تم تعديل بواسطه xhacker
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

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

حكيت طبعا حسب طبيعة عمل البرنامج أي أنه من الممكن أن تغير الحد الى 12 ساعات أو 8 ساعات أو .... .

طبعا هذا للتأكد من أن الوقت لم يغير أو يجمد .

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الفكرة جميلة ! مشكوووووووووووووور!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل:

لقد خطرت لي فكرة و انا أقرأ هذا الموضوع و هي كالتالي:

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

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

أرجو ان أكون قد وفقت في عرض الأفكار , و بإنتظار تعليقاتكم ...

و لكم مني جزيل الشكر,,, (h)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هى دى الافكار المحترفة بجد يا جماعة!

ياريت بقى نبتدى نعمل امثلة !

تم تعديل بواسطه xhacker
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اليكم هذه الفئه والتى تتي لمبرمجى VB ان يجلبوا اهم بيانات الBios

أرجو ان تفيد

Saif_Bios.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بس ياريت كمان الفورم مع نموزج للتطبيق!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

استخدامها مثل اى كلاس عادى :

dim Obios as SaifBios

set Obios = New SaifBios

'والأن اصبح لدينا نسخه من الكلاس فى الكائن Obios ونستطيع استخدام كل خصائصه وهى ليست تاريخ البيوس فقط بل جميع مايلى:

____________________________

SystemBiosCopyRight

VideoBiosDate

SystemBiosDate

SystemBiosExtraInfo

SystemBiosVersion

VideoBiosCopyRight

VideoBiosVersion

___________________________

مثلا :Msgbox Obios.SystemBiosDate ستعطيك رساله بتاريخ البيوس للوحة الرئيسية بجهازك

وهكذا مع الباقى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .