Delta OFFSET

B

alguien podría decirme exactamente por qué hay que hay que poner el siguiente código:

call Delta

Delta:
pop ebp
sub ebp,Offset Delta

al principio de un virus? sé que es porque al infectar un archivo los datos quedan desplazados y con el delta offset se calcula dicho desplazamiento, pero no acabo de ver cómo eso lo calcula.al hacer el pop ebp, estamos metiendo la dirección de retorno, es decir, la dirección de la instrucción "pop ebp" si le restamos el offset de delta, q tb es la dirección de la instrucción "pop ebp", ¿no debería dar siempre cero?

PD: pregunta con fines totalmente autodidácticos

AtollOndrao_

El Delta offset... que tiempos xD
Está claro que se hace para que se corrija el desplazamiento de los datos que usamos en cada una de las infecciones. Si fuera una dirección fija funcionaría (infectaría) una vez y no más.

Lo que dices es cierto, ebp=0, pero nada más compilado el virus. Luego eso varía una vez que va infectando.

P.D.: Propósitos didáticos... ya ya ;)

P.D.: Esa técnica la pillan los antivirus actuales "isi" aunque tiene sus variantes bien curiosas.

B

weno ya, ese es el metodo mas simple, pero si no lo entiendo con ese ya me diras como lo entendere con los demas. tonces, al infectar un archivo, q es q la etiqueta delta offset se desplaza? o es el call el q se desplaza? y xq?

Usuarios habituales