في الاسمبلي يعطيك بايتات وعناوين البايتات في area
والعناوين كيف با نسوي!!
العنوان هل هو ضروري ام لا؟
كود :
cmp al,$1b
movz ebx,byte [ebx+address of byte]
jmp adress[ebx*4*address of jmp]
jmp adress
code
jmp adress
code
jmp adress
code
jmp adress
code
jmp adress
code
jmp adress
retn
هذا مثال
ما احل؟؟
وعليكم السلام ورمضان كريم
هذا مثال للتوضيح
انضر الى 10274AD4
هذا هو المشكلة كيف استبدلة با lable
لاحظ العناوين في الاسفل
كيف اربطهم با (JMP DWORD PTR DS:[EAX*4+10274AD4)jmp
كود :
CMP EAX,8
JA L028
JMP DWORD PTR DS:[EAX*4+10274AD4]
L003:
MOV DWORD PTR DS:[ECX+650],1
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L006:
MOV DWORD PTR DS:[ECX+650],2
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L009:
MOV DWORD PTR DS:[ECX+650],4
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L012:
MOV DWORD PTR DS:[ECX+650],8
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L015:
MOV DWORD PTR DS:[ECX+650],10
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L018:
MOV DWORD PTR DS:[ECX+650],20
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L021:
MOV DWORD PTR DS:[ECX+650],40
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L024:
MOV DWORD PTR DS:[ECX+650],80
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
L027:
MOV DWORD PTR DS:[ECX+650],100
L028:
MOV DWORD PTR DS:[ECX+648],EDX
RETN 4
DD L003
DD L006
DD L009
DD L012
DD L015
DD L018
DD L021
DD L024
DD L027
eax*4+10274ad4
العنوان 10274ad4 يشير الى قائمة عناوين القفز المشار بالابل
كود :
DD L003
DD L006
DD L009
DD L012
DD L015
DD L018
DD L021
DD L024
DD L027
- عناوين غير ثابتة , كل مرة يتم تحميل البرنامج الى الذاكرة يأخذ va مختلفة !!,إستخدم الـ label .
نعم حليتها باستخدام
label