إلى إخواني في هذا المنتدى
هل من الممكن أن نمنع المستخدم من تغيير اسم برنامج معمول بالدلفي ؟:eek: و هل يمكن منع حذف هذا البرنامج و أي ملف تابع له ؟;)
إلى إخواني في هذا المنتدى
هل من الممكن أن نمنع المستخدم من تغيير اسم برنامج معمول بالدلفي ؟:eek: و هل يمكن منع حذف هذا البرنامج و أي ملف تابع له ؟;)
يمكن أن نفحص في بداية تشغيل البرنامج أن اسمه هو الاس الذي نرغب أن يكون وذلك كما يلي
If Application.ExeName='What do you want.exe" then
Application.Terminate;
شكراً لك يا أخ Barca و لكن في هذه الحالة يتوقف البرنامج عن العمل و لن يعمل إلا بعد أن نعيد اسمه الأصلي ، و لكن إذا لم نسمح للمستخدم بالأساس أن يغير هذا الاسم فلن تكون لدينا مشكلة من هذا النوع !!;:(
put this code in the main form oncreate event
if application.exename <> 'example.exe' then begin application.exename := 'example.exe'; end;
يمكن أن نجعل البرنامج يعمل دائما دون أن يوجد في قائمة ALT+CTRL+DEL
و لدى تنفيذه مرة أخرى بفحصه هل هو موجود قيد التنفيذ الان فان الform
التي نريد يتم انشائها :P:rolleyes:
اسف لا نستطيع منع المستخدم من تغيير اسم ملف تنفيدي بصفة عادية الا انه توجد بعض البرامج تضع له حماية بكلمة سر او ...
**** اللهم انصر اخواننا في العراق واقهر الجبناء الامريكان ****
**** كم كان املي ان تكون العراق على يمين الجزائر وفلسطين على
شمالها ** كي نعلم من يجاورهم معي التضحية والشهادة و حرارة الدم والانف والرجولة ...........................
اخواننا مالنا الا الدعاء اللهم اسالك النصر الكبير
شكراً للجميع على تعاونهم معي ، و لكن أود أن أستفسر من الأخ زكيري عن الذي قصده بحماية بكلمة سر ؟ هل قصدت أن يدخل المستخدم كلمة سر قبل نتفيذ البرنامج ؟ أم كلمة سر تمنعه من حذفه ؟؟:(:)
الأخ Barca
ما قصدك يمكن أن نجعل البرنامج يعمل دائما دون أن يوجد في قائمة ALT+CTRL+DEL
أي لايمكن انهائه من القائمة (انهاء المهمة )
نعم وبالامكان أن ارسل لك الكود اذا رغبت بالامر على الايميل و هذا هو بريدي الالكتروني
ثم بعد أن يكتمل نضعه في المنتدى للجميع
لا ... يمكن تخلي البرنامج ما بيتغير اسمه ..
شوف مثلا برنامج
SubSeven (mobman)
كل الاصدارات من 2 وطالع ما بيتغير اسم الملف الكلاينت ابدا .. الي بيتغير هوي اسم السيرفر فقط .. جرب !!!!
وهذا يعني انو يمكن مع اني مش قادر افهم بنوب كيف عم بتصير منطقية والبرنامج مش شغال ..!!
معقول بيسجل قيمة بالريجستري مثلا !!!!!
الله اعلم .. بس والله لو حد يعرف شي عن هال الموضوع يخبرنا عشان
فعلا حركة احترافية موت
تحياتي الحارة
تكرم عينك دكتور نحنا كم دكتور هاكر عنا الكود لعيونك بنحضره
بس الموضوع قديم شوي
على فكرة ضفتك على ماسنجري
اقبلني بليز
السلام عليكم
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 ...
أعيدوا لإسمي لونه المفضل
اقتباسكاتب الرسالة الأصلية : tmaaaالسلام عليكم
قبل قليل جربت عمل hook للداله MoveFileA و استطعت التحكم في عدم تغيير اسم ملف معين . بالطبع لابد من معرفه الدوال التي وظيفتها تغيير اسم الملفات .
بنظره سريعه على كود الدالتين MoveFileA ,MoveFileW بعد عمل DisAsm للملف Kernel32.dll وجدت انهما تستدعيان الداله MoveFileWithProgressW والتي بدورها تستدعي NtSetInformationFile والاخيره Native API function ;) ...
CIONO1
اخي tmaaa هل بفهم من هال الحكي انه تمكنت .. من منع تغيير اسم برنامج .. او ملف ما .. عن طريق الهوك !!! ولو كان الجواب اي .. ممكن توضحلنا اكثر ..
اخي reda
على عيني وعلى راصي .. بيشرفني ..
واخيرا .. انا خبرتي بالهوك لا تتعدى المقالات الي قرأتها للاخ tmaaa في المنتدى هذ وفي منتديات اخرى
لكن كان تصوري .. كالتالي ..
انه البرنامج لما يشتغل اول مرة بيحط قيمة بالريجستري تدل على اسمه مثلا او تمنع تغيير اسمه ... تصور فقط .. ولم اتمكن من تطبيقه ..
اما بعد.. على الرغم من ان الموضوع قديم .. لكن ذو اهمية .. لانه موضوع غير عادي .. ويا ريت لك من له خبرة يشاركنا ولو بفكرة ..
تحياتييييي
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 ...
أعيدوا لإسمي لونه المفضل
انا لم ارى شرح للهوك .. غير الي انتا كتبتهم .. لكن حينما فلت في منتديات اخرى ..
قصدت منتديات الفريق العربي للبرمجة الاخرى ..
عشان انتا بتكتب باكتر من منتدى هون مش بس بالدلفي ..:D
تحياتيييييييييي
جاءت لي الفكرة باستعمال الدلة SetWindowsHookEx
لمنع تنفيذ
application.exename
أحاول
لكنها فقط لمنع تغيير الاسم
لكنها لن تنفع إلا مع تطبيقنا
هناك طرق لمنع النسخ وتغيير الاسم لكن من الرجيستري فقط
وليس من دوال البرنامج
لم اجربها
لكن اعرف بوجودها
اما طريقتك ciono1
حسب مافهمت انك تريد التحكم باي ملف
أو تريد منع نسخه نهائيا
فلا اعتقد ان لدي ادنى فكرة عنها
سانتظرك بفارغ الصبر
Ciono7
بالظبط .. انا كان تخيلي انو الطريقة حتكون من الريجستري .. لكن برضو ما عارف انفزها .. ولا سبق وشفت شي مشابه
الله اعلم
هذا الموضوع مغلق.