CheckSumMappedFile
#1
كود :
function CheckSumMappedFile(BaseAddress:Pointer;FileLength:LongWord;var HeaderSum,CheckSum:LongWord):PImageNtHeaders cdecl; asm push ebx push esi push edi mov edx, BaseAddress xor esi, esi mov eax, edx cmp word ptr [eax], 'ZM' jnz @L8 mov esi, [eax+3Ch] add esi, edx cmp dword ptr [esi], 'EP' jz @L0 xor esi, esi jmp @L8 @L0:xor eax, eax mov ecx, edx xor edx, edx jmp @L3 @L1:movzx ebx, word ptr [ecx] add eax, ebx mov ebx, eax shr ebx, 10h test ebx, ebx jz @L2 movzx ebx, ax shr eax, 10h add ebx, eax mov eax, ebx @L2:add ecx, 2 inc edx @L3:mov ebx, FileLength inc ebx shr ebx, 1 cmp edx, ebx jb @L1 mov edx, eax shr edx, 10h add dx, ax mov eax, edx movzx eax, ax mov ecx, [esi+58h] mov edx, ecx cmp dx, ax ja @L4 movzx ebx, dx sub eax, ebx jmp @L5 @L4:movzx eax, ax movzx ebx, dx sub eax, ebx and eax, 0FFFFh dec eax @L5:mov ebx, edx shr ebx, 10h movzx edi, ax cmp ebx, edi ja @L6 shr edx, 10h sub eax, edx jmp @L7 @L6:movzx eax, ax shr edx, 10h sub eax, edx and eax, 0FFFFh dec eax @L7:add eax, FileLength mov edx, CheckSum mov [edx], eax mov eax, HeaderSum mov [eax], ecx @L8:mov eax, esi pop edi pop esi pop ebx end;
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم