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

Kill process

مغلق
بدأه Ahmadte1 في 16 أبريل 2007 · 35 رد · 5,053 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

برمجت برنامج بسيط لإنهاء المهام

هذا البرنامج لا يستطيع إنهاء مهام النظام

عند تحميل البرنامج ل olly يستطيع إنهاء أي شيء

السؤال ما هي الصلا حيات التي يمنحها olly

وكيف يمكن أن أعطيها لبرنامجي فورا لينهي أي process

طبعا التعليمات واضحة إذا تتبعتم البرنامج

البرنامج مكتوب ب masm

اكتب اسم ال process

process.rar

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#2

المرفق عبارة عن Exe ؟!!

لماذا لا تضع الكود خصوصاً أن ما يعمله البرنامج شئ معروف و أنت لم تضف أي شئ جديد (إستعمال ToolHelp و TerminateProcess)

الصلاحيات التي ستحتاجها :SeDebugPrivilege ...

راجع MSDN ..

Enabling and Disabling Privileges

---

أيضاً وضح هذه العبارة أكثر

اقتباس
هذا البرنامج لا يستطيع إنهاء مهام النظام

هل أصبحت قادر على إغلاق كل مهام النظام أم بعضها ؟

تم تعديل هذه المشاركة بواسطة cipher في 17 أبريل 2007 في 11:12

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

===

اقتباس

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

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

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

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

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

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

===

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

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

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

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

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

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

#3

هذا الكود

.386 
.model flat,stdcall 
option casemap:none 
WinMain proto :DWORD,:DWORD,:DWORD,:DWORD 
include \masm32\include\windows.inc 
include \masm32\include\user32.inc 
include \masm32\include\kernel32.inc 
includelib \masm32\lib\user32.lib 
includelib \masm32\lib\kernel32.lib 
.data 
ClassName db "DLGCLASS",0 
MenuName db "MyMenu",0 
DlgName db "MyDialog",0 
AppName db "Our First Dialog Box",0 
processnameerr db "Enter Process Name",0
error db "error",0 
found db "I found this process do you want to kill it",0

.data? 
hInstance HINSTANCE ? 
CommandLine LPSTR ? 
buffer db 512 dup(?) 
uprocess PROCESSENTRY32<> 
processn db 512 dup(?)
hSnapShot dd ?
r dd ?
.const 
IDC_EDIT		equ 3000 
IDC_BUTTON	  equ 3001 
IDC_EXIT		equ 3002 
.code 
start: 
	invoke GetModuleHandle, NULL 
	mov	hInstance,eax 
	invoke GetCommandLine
	mov CommandLine,eax 
	invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT 
	invoke ExitProcess,eax 

WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD 
	LOCAL wc:WNDCLASSEX 
	LOCAL msg:MSG 
	LOCAL hDlg:HWND 
	mov   wc.cbSize,SIZEOF WNDCLASSEX 
	mov   wc.style, CS_HREDRAW or CS_VREDRAW 
	mov   wc.lpfnWndProc, OFFSET WndProc 
	mov   wc.cbClsExtra,NULL 
	mov   wc.cbWndExtra,DLGWINDOWEXTRA 
	push  hInst 
	pop   wc.hInstance 
	mov   wc.hbrBackground,COLOR_BTNFACE+1 
	mov   wc.lpszMenuName,OFFSET MenuName 
	mov   wc.lpszClassName,OFFSET ClassName 
	invoke LoadIcon,NULL,IDI_APPLICATION 
	mov   wc.hIcon,eax 
	mov   wc.hIconSm,eax 
	invoke LoadCursor,NULL,IDC_ARROW 
	mov   wc.hCursor,eax 
	invoke RegisterClassEx, addr wc 
	invoke CreateDialogParam,hInstance,ADDR DlgName,NULL,NULL,NULL 
	mov   hDlg,eax 
	invoke ShowWindow, hDlg,SW_SHOWNORMAL 
	invoke UpdateWindow, hDlg 
	invoke GetDlgItem,hDlg,IDC_EDIT 
	invoke SetFocus,eax 
	.WHILE TRUE 
		invoke GetMessage, ADDR msg,NULL,0,0 
		.BREAK .IF (!eax) 
	   invoke IsDialogMessage, hDlg, ADDR msg 
		.IF eax ==FALSE 
			invoke TranslateMessage, ADDR msg 
			invoke DispatchMessage, ADDR msg 
		.ENDIF 
	.ENDW 
	mov	 eax,msg.wParam 
	ret 
WinMain endp 

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM 
	.IF uMsg==WM_DESTROY 
		invoke PostQuitMessage,NULL 
	.ELSEIF uMsg==WM_COMMAND 
		mov eax,wParam 
		.IF lParam==0 
				invoke DestroyWindow,hWnd 
		.ELSE 
			mov edx,wParam 
			shr edx,16 
			.IF dx==BN_CLICKED 
				.IF ax==IDC_BUTTON 
					invoke GetDlgItemText,hWnd,IDC_EDIT,addr processn,512
					.if eax==0
						invoke MessageBox,NULL,addr processnameerr , addr error,MB_OK
					.else
						invoke CreateToolhelp32Snapshot,TH32CS_SNAPALL,0
						mov hSnapShot,eax
						mov uprocess.dwSize,SIZEOF uprocess
						invoke Process32First,hSnapShot,addr uprocess
						mov r,eax
						.while r
							invoke lstrcmp,addr processn,addr uprocess.szExeFile
							.if eax==0
								invoke MessageBox,NULL,addr found,addr processn,MB_YESNO
								.if eax==6
									invoke OpenProcess,PROCESS_ALL_ACCESS,0,uprocess.th32ProcessID
									invoke TerminateProcess,eax,1

								.endif
							jmp endwhile
   							.endif
   							invoke Process32Next,hSnapShot,addr uprocess
   							mov r,eax
						.endw
						endwhile:

					.endif
				.ELSEIF ax==IDC_EXIT 
					invoke SendMessage,hWnd,WM_COMMAND,0,0 
				.ENDIF 
			.ENDIF 
		.ENDIF 
	.ELSE 
		invoke DefWindowProc,hWnd,uMsg,wParam,lParam 
		ret 
	.ENDIF 
	xor	eax,eax 
	ret 
WndProc endp 
end start

أريد إنهاء المهام مثل

MDM.EXE ALG.EXE LSASS.EXE

هذه المهام يعود التابع openprocess

ب NULL عند استدعائه وعند تتبع البرنامج ب olly

يعود الإستدعاء بالقيمة المناسبة

باختصار أريد أن أعرف كيف يمكنني أن أنهي مهام النظام

ببرنامجي دون استعمال olly

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#4

كما قال لك الاخ cipher

استخدم AdjustTokenPrivileges

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

at4re.gif

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

#5

dj في كل مكان ;)

على كل بدأت الفكرة تتوضح

وإن شاء الله اصل للحل

وأنتظر المزيد من المعلومات

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#6

ذكرت لك بانه يمكن الإطلاع على MSDN فهناك مثال بـ C++

Enabling and Disabling Privileges in C++

هذا جزء من كود بالاسمبلي يمكنك الإستفادة منه

include advapi32.inc
includelib advapi32.lib
;....
hToken dd ?
tkp TOKEN_PRIVILEGES<>
sdnv LUID <>
;......................................
EnableDebugPriv Proc
invoke GetCurrentProcess
invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,addr hToken
invoke LookupPrivilegeValue,0,CTEXT("SeDebugPrivilege"),addr sdnv
mov tkp.PrivilegeCount,1
m2m tkp.Privileges.Luid.LowPart,sdnv.LowPart
m2m tkp.Privileges.Luid.HighPart,sdnv.HighPart
mov tkp.Privileges.Attributes,SE_PRIVILEGE_ENABLED
invoke AdjustTokenPrivileges,hToken,FALSE,addr tkp,sizeof tkp,0,0
invoke CloseHandle,hToken
ret
EnableDebugPriv EndP

من الأفضل أن تستخدم نفس الكود الموجود في MSDN بعد تحويله إلى الأسمبلي ...

* عدلت في كود الأسمبلي

تم تعديل هذه المشاركة بواسطة cipher في 17 أبريل 2007 في 18:17

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

===

اقتباس

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

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

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

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

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

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

===

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

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

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

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

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

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

#7

سلمت يداك اخي سوف أجرب و أرد خبر

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#8

شكرا يا شباب

مشي الحال سأرفق الكود في المساء

إن شاء الله

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#9

الكود

process.rar

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#10

السلام عليكم

أخي الكريم

الله يعطيك العافية وبرنامج رائع وبصراحة كنت أبحث عنه

أود أن أطلب منك طلبك صغير وأكيد ليس بصعب عليه

أريد نفس البرنامج ولكن بدون نافذة إدخال وأريده أن يغلق كل برامج MSACCESS.EXE الموجودة في الذاكرة , لأن الأكسس يبقى في الذاكرة بعد الخروج منه ونضطر للدخول عن طريق task manager في كل مرة ليتم إغلاقه

وشكراً جزيلاً لك

قالَ رَسُولُ الله صلى الله عليه وسلم:

"مَنْ لم يَشْكُرِ النّاسَ لَمْ يَشكُرِ الله "

حديث حسن صحيح

#11

أخي ammar_zaid الكود مرفق

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

وسنساعدك طبعا ;)

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#12

السلام عليكم

حيلك حيلك :wacko:

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

إن استطعت أن تلبي طلبي فجزاك الله خيراً وإلا فجزاك الله خيراً

قالَ رَسُولُ الله صلى الله عليه وسلم:

"مَنْ لم يَشْكُرِ النّاسَ لَمْ يَشكُرِ الله "

حديث حسن صحيح

#13

هذا ما طلبت

ولكن ب vb

Project1.rar

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#14

ammar_zaid جرب المرفق

ACCESSkiller.rar

d4baa0.gif
#15

الأخ محمد عبد العزيز والأخ أحمد

أشكركم جزيل الشكر على هذه البرامج

السلام عليكم

قالَ رَسُولُ الله صلى الله عليه وسلم:

"مَنْ لم يَشْكُرِ النّاسَ لَمْ يَشكُرِ الله "

حديث حسن صحيح

#16

الف شكر للاخ قمر زايد

على المشاركة معكم والوصول لحل كنا نبحث عنه بقسم الاكسس

فالف شكر لجميع الاخوة الكرام بدون استثناء

ولكن عندي مشاركة بسيطة جدا

نظرا لقرب اكواد الاكسس مع الفيجول بيسك تقريبا - على حد علمي

فياليت يعطينا الاخ احمد المرفق الاخير مفتوح

حتى يمكننا وضعه في وحدة نمطية داخل الاكسس

بدلا من ان يكون ملف خارجي

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

#17

الأخ enjoy

زي ما يقول المثل وراك وراك والزمن طويل

لحقت تنسى اسمي

عمار زيد

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

على كلٍ خطر ببالي سؤال آخر للأخوة

إن كان بالإمكان أن ينهي عمل آخر برنامج أكسس تم فتحه بهذه الحالة لا يقوم بإغلاق البرامج كلها

عذراً اخواني أنا عارف إني طلبت أن يغلق جميع برامج الأكسس ولكن هذه الخاطرة جاءت متأخرة

شكراً لكم

وشكراً لأبو عبد الله على روحه المرحة

قالَ رَسُولُ الله صلى الله عليه وسلم:

"مَنْ لم يَشْكُرِ النّاسَ لَمْ يَشكُرِ الله "

حديث حسن صحيح

#18

صحيح كلامك اخوي عمار

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

لكني كنت اقصد ان الكود يتم تشغيلة في البداية قبل اي شي

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

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

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

وشكرا

#19

يمكن ان يتم ايقاف وغلق كل نسخ ACCESS الموجودة ثم يعيد تنفيذ ACCESS جديد

هل يفيدكم هذا ؟

d4baa0.gif
#20

اخي المشرف محمد عبدالعزيز

سؤالك في مكانه - لان البرنامج سيغلق جميع مايتعلق بالاكسس

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

ولكن لعدم استطاعتنا ايقاف او الغاء فقط البرنامج الذي توجد به مشكلة - او ان البرنامج يغلق نفسه فقط

فنقول (لامانع من التيمم لعدم وجود الماء)

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

#21

الفكرة، هناك اكثر من نسخة من ACCESS تعمل

هناك نسخة واحدة متوقفة او معلقة

هل المطلوب انهاء نسخة ACCESS المعلقة مع ترك ACCESS الاخرى التي تعمل ؟

تم تعديل هذه المشاركة بواسطة محمدعبد العزيز في 25 أبريل 2007 في 14:17

d4baa0.gif
#22

عليك نووووووووووور

هذا هو ما نريد أخي محمد

وأظن أن آخر نسخة تم تحميلها من access هي غالباً صاحبة المشكلة

شكراً لتفاعلك معنا , مع أننا أثقلنا عليك

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

قالَ رَسُولُ الله صلى الله عليه وسلم:

"مَنْ لم يَشْكُرِ النّاسَ لَمْ يَشكُرِ الله "

حديث حسن صحيح

#23

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

يا شباب نحن في قسم الأسمبلي لا تنسوا :D

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#24

السلام عليكم

أخ أحمد الله يعطيك العافية

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

وشكراً لصبركم علينا

أخوك عمار

قالَ رَسُولُ الله صلى الله عليه وسلم:

"مَنْ لم يَشْكُرِ النّاسَ لَمْ يَشكُرِ الله "

حديث حسن صحيح

#25
اقتباس
الفكرة، هناك اكثر من نسخة من ACCESS تعمل

هناك نسخة واحدة متوقفة او معلقة

هل المطلوب انهاء نسخة ACCESS المعلقة مع ترك ACCESS الاخرى التي تعمل ؟

الاخ المشرف محمد عبدالعزيز

هذا هو المطلوب اذا كان ممكن الحصول

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

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