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

ممكن مساعدة لمعرفة المشكلة في هذا الكود

مغلق
بدأه H7SE في 13 فبراير 2007 · 4 رد · 691 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
.386
.MODEL flat,stdcall
OPTION CASEMAP:NONE

Include windows.inc
include advapi32.inc
includelib advapi32.lib

.DATA
szTest				db 'Hello',0
szHKLM				db 'H7Default\HKEY_LOCAL_MACHINE',0
szHKCU				db 'H7Default\HKEY_CURRENT_USER',0

Ts			dd 0
LM			dd 0
CU			dd 0

.DATA?


.code
DllEntry proc hInstance:HINSTANCE, reason:DWORD, reserved1:DWORD
	.if reason==DLL_PROCESS_ATTACH
		call Hook
	.elseif reason==DLL_PROCESS_DETACH
		call UnHook
	.elseif reason==DLL_THREAD_ATTACH
	.else	   ; DLL_THREAD_DETACH
	.endif
	mov  eax,TRUE
	ret
DllEntry Endp

Hook proc

	invoke RegCreateKeyEx,HKEY_CURRENT_USER,addr szHKCU,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,addr CU,NULL
	invoke RegCreateKeyEx,HKEY_CURRENT_USER,addr  szHKLM,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,addr LM,NULL

		invoke RegOverridePredefKey,HKEY_CURRENT_USER,addr CU
		invoke RegOverridePredefKey,HKEY_LOCAL_MACHINE,addr LM

		invoke RegCreateKey,HKEY_CURRENT_USER,addr szTest,addr Ts

	ret
Hook endp

UnHook proc

	invoke RegOverridePredefKey,HKEY_CURRENT_USER,NULL
	invoke RegOverridePredefKey,HKEY_LOCAL_MACHINE,NULL

	invoke RegCloseKey,addr CU
	invoke RegCloseKey,addr LM

	ret
UnHook endp

End DllEntry

تم تعديل هذه المشاركة بواسطة H7SE في 13 فبراير 2007 في 07:55

#2

شكرا جزيلا لكل من حاول او نوي المساعدة

وجدت المشكلة وهي استخدام امر addr في هذه الاسطر

		invoke RegOverridePredefKey,HKEY_CURRENT_USER,addr CU
		invoke RegOverridePredefKey,HKEY_LOCAL_MACHINE,addr LM

والصحيح

		invoke RegOverridePredefKey,HKEY_CURRENT_USER,CU
		invoke RegOverridePredefKey,HKEY_LOCAL_MACHINE,LM

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

تم تعديل هذه المشاركة بواسطة Xacker في 14 فبراير 2007 في 09:35

#3
اقتباس
Parameters

hKey

[in] A handle to one of the following predefined keys:

hNewHKey

[in] A handle to an open registry key.

البارامتر الثاني قيمة, وليس عنوان تلك القيمة.

ADDR ستعيد العنوان الخاص بذلك المتغير Param الذي اسمه CU او LM وليس قيمته بينما هو عبارة عن قيمة يجب ارسالها كما هي

الحال نفسه في حال استخدمت MessageBox, هل تضع

invoke  MessageBox, addr hWnd, ....

؟

لا طبعا لان ما تحتاجه مقبض النافذة الرئيسية وهو ما يوجد في المتحول hWnd

اتمنى ان تكون الصورة قد توضحت, السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

افحمتني بمثال MessageBox :lol:

تم تعديل هذه المشاركة بواسطة H7SE في 15 فبراير 2007 في 07:39

#5
H7SE كتب:
افحمتني بمثال MessageBox :lol:

جيد, هذا ما أفعله هذه الأيام بالكثيرين.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

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

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