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

منع تغيير اسم البرنامج

مغلق
بدأه mina في 18 مارس 2003 · 17 رد · 8,056 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إلى إخواني في هذا المنتدى

هل من الممكن أن نمنع المستخدم من تغيير اسم برنامج معمول بالدلفي ؟:eek: و هل يمكن منع حذف هذا البرنامج و أي ملف تابع له ؟;)

#2

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

If Application.ExeName='What do you want.exe" then

Application.Terminate;

#3

شكراً لك يا أخ Barca و لكن في هذه الحالة يتوقف البرنامج عن العمل و لن يعمل إلا بعد أن نعيد اسمه الأصلي ، و لكن إذا لم نسمح للمستخدم بالأساس أن يغير هذا الاسم فلن تكون لدينا مشكلة من هذا النوع !!;:(

#4

put this code in the main form oncreate event

if application.exename <> 'example.exe' then

  begin

    application.exename := 'example.exe';

  end;
#5

يمكن أن نجعل البرنامج يعمل دائما دون أن يوجد في قائمة ALT+CTRL+DEL

و لدى تنفيذه مرة أخرى بفحصه هل هو موجود قيد التنفيذ الان فان الform

التي نريد يتم انشائها :P:rolleyes:

#6

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

**** اللهم انصر اخواننا في العراق واقهر الجبناء الامريكان ****

**** كم كان املي ان تكون العراق على يمين الجزائر وفلسطين على

شمالها ** كي نعلم من يجاورهم معي التضحية والشهادة و حرارة الدم والانف والرجولة ...........................

اخواننا مالنا الا الدعاء اللهم اسالك النصر الكبير

#7

شكراً للجميع على تعاونهم معي ، و لكن أود أن أستفسر من الأخ زكيري عن الذي قصده بحماية بكلمة سر ؟ هل قصدت أن يدخل المستخدم كلمة سر قبل نتفيذ البرنامج ؟ أم كلمة سر تمنعه من حذفه ؟؟:(:)

#8

الأخ Barca

ما قصدك يمكن أن نجعل البرنامج يعمل دائما دون أن يوجد في قائمة ALT+CTRL+DEL

أي لايمكن انهائه من القائمة (انهاء المهمة )

#9

نعم وبالامكان أن ارسل لك الكود اذا رغبت بالامر على الايميل و هذا هو بريدي الالكتروني

Barca933@hotmail.com

ثم بعد أن يكتمل نضعه في المنتدى للجميع

#10

لا ... يمكن تخلي البرنامج ما بيتغير اسمه ..

شوف مثلا برنامج

SubSeven (mobman)

كل الاصدارات من 2 وطالع ما بيتغير اسم الملف الكلاينت ابدا .. الي بيتغير هوي اسم السيرفر فقط .. جرب !!!!

وهذا يعني انو يمكن مع اني مش قادر افهم بنوب كيف عم بتصير منطقية والبرنامج مش شغال ..!!

معقول بيسجل قيمة بالريجستري مثلا !!!!!

الله اعلم .. بس والله لو حد يعرف شي عن هال الموضوع يخبرنا عشان

فعلا حركة احترافية موت

تحياتي الحارة

#11

تكرم عينك دكتور نحنا كم دكتور هاكر عنا الكود لعيونك بنحضره

بس الموضوع قديم شوي

على فكرة ضفتك على ماسنجري

اقبلني بليز

#12

السلام عليكم

Barca :

اقتباس
يمكن أن نجعل البرنامج يعمل دائما دون أن يوجد في قائمة ALT+CTRL+DEL

Red star :

اقتباس
ما قصدك يمكن أن نجعل البرنامج يعمل دائما دون أن يوجد في قائمة ALT+CTRL+DEL

أي لايمكن انهائه من القائمة (انهاء المهمة )

Barca :

اقتباس
نعم وبالامكان أن ارسل لك الكود اذا رغبت بالامر على الايميل

اخ Barca :

هل المقصود ان لديك طريقه تخفي الـ Process من قائمه الـ Processes الموجوده في Windows Task Manager .

ملحوظه :هنا لا أقصد اخفاء thread وذلك عن طريق dll injection او hook او غيرها من الطرق ..

هناك طريقه تعتمد على Hook Native API Function وفيها نقوم بعمل hook للداله NtQuerySystemInformation ... قرأت عن الطريقه من قبل لكن لم أجربها .

-----

Reda :

اقتباس
تكرم عينك دكتور نحنا كم دكتور هاكر عنا الكود لعيونك بنحضره

هل أفهم من ذلك ان لديك طريقه ناجحه تمنع المستخدم من تغيير اسم ملف ما .

قبل قليل جربت عمل hook للداله MoveFileA و استطعت التحكم في عدم تغيير اسم ملف معين . بالطبع لابد من معرفه الدوال التي وظيفتها تغيير اسم الملفات .

بنظره سريعه على كود الدالتين MoveFileA ,MoveFileW بعد عمل DisAsm للملف Kernel32.dll وجدت انهما تستدعيان الداله MoveFileWithProgressW والتي بدورها تستدعي NtSetInformationFile والاخيره Native API function ;) ...

بعيدا عن Device Driver هل هناك طريقه ناجحه ؟!

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#13
اقتباس
كاتب الرسالة الأصلية : tmaaa

السلام عليكم

قبل قليل جربت عمل hook للداله MoveFileA و استطعت التحكم في عدم تغيير اسم ملف معين . بالطبع لابد من معرفه الدوال التي وظيفتها تغيير اسم الملفات .

بنظره سريعه على كود الدالتين MoveFileA ,MoveFileW بعد عمل DisAsm للملف Kernel32.dll وجدت انهما تستدعيان الداله MoveFileWithProgressW والتي بدورها تستدعي NtSetInformationFile والاخيره Native API function ;) ...

CIONO1

اخي tmaaa هل بفهم من هال الحكي انه تمكنت .. من منع تغيير اسم برنامج .. او ملف ما .. عن طريق الهوك !!! ولو كان الجواب اي .. ممكن توضحلنا اكثر ..

اخي reda

على عيني وعلى راصي .. بيشرفني ..

واخيرا .. انا خبرتي بالهوك لا تتعدى المقالات الي قرأتها للاخ tmaaa في المنتدى هذ وفي منتديات اخرى

لكن كان تصوري .. كالتالي ..

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

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

تحياتييييي

#14

Dr_HUS :

اقتباس
اخي tmaaa هل بفهم من هال الحكي انه تمكنت .. من منع تغيير اسم برنامج .. او ملف ما .. عن طريق الهوك !!! ولو كان الجواب اي .. ممكن توضحلنا اكثر ..

ما قمت به فقط منع تغيير اسم ملف معين , واعتمدت على عمل API hook للتابع MoveFileA .

كما ذكرت في ردي السابق التابع MoveFileA يستدعيMoveFileWithProgressW والتي بدورها تعتمد على NtSetInformationFile . لذا علينا اخذ كل الاحتمالات بالاعتبار او بالاصح التحكم بالتابع NtSetInformationFile .لكن العمليه تصبح صعبه مع NtSetInformationFile . الى الان احاول اعمل مثال على استخدامها لكن ما مشي الحال :'( .

تقدر تقول استعمال API Hook ما بيمشي الحال . (جربوا WDM )

سؤال تطفلي : في منتديات عربيه شرح فيها عن تقنيه Hook ؟

---

Barca ما زلت منتظرا ردك :D

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#15

انا لم ارى شرح للهوك .. غير الي انتا كتبتهم .. لكن حينما فلت في منتديات اخرى ..

قصدت منتديات الفريق العربي للبرمجة الاخرى ..

عشان انتا بتكتب باكتر من منتدى هون مش بس بالدلفي ..:D

تحياتيييييييييي

#16

جاءت لي الفكرة باستعمال الدلة SetWindowsHookEx

لمنع تنفيذ

application.exename

أحاول

لكنها فقط لمنع تغيير الاسم

لكنها لن تنفع إلا مع تطبيقنا

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

وليس من دوال البرنامج

لم اجربها

لكن اعرف بوجودها

اما طريقتك ciono1

حسب مافهمت انك تريد التحكم باي ملف

أو تريد منع نسخه نهائيا

فلا اعتقد ان لدي ادنى فكرة عنها

سانتظرك بفارغ الصبر

Ciono7

#17

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

الله اعلم

#18

هل توصل احدكم الى نتيجة ؟

d4baa0.gif

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

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