All pastes #566742 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-06-14 16:33 UTC
rendered paste body
		mov		eax, dword ptr[HashAddress]		; Move hash address into EAX
		mov		byte ptr ds:[eax], 0E9h		; Move E9 byte (Long jump used for code-cave) into value of EAX (Hash address)
		inc		eax		; Incriment EAX (So that we move past E9 byte we just wrote)
		sub		edx, dword ptr[HashAddress]		; Adjust offset for E9 jump
		sub		edx, 5		; Adjust offset for E9 jump
		mov		dword ptr ds:[eax], edx		; Move location of CRC bypass codecave into EAX (Hash address+1) to complete jump
		add		eax, 4		; Add 4 bytes onto EAX (pointing it to the return address)
		mov		dword ptr[HashAddress], eax		; Now move EAX into hash address so code-cave can use it.
		retn	0Ch