OD de lenguaje sencillo para escribir secuestro de DLL (también conocido como parcheo estático)
VirtualAllocEx solicita memoria,
WriteProcessMemory escribe su código shell para cargar el dll,
CreateRemoteThread crea un hilo que apunta a su código shell.
Si insistes en usar tu método de parche estático,
De hecho, no creo que necesites usar ningún lenguaje simple, simplemente guarda la DLL que modificaste con OD y luego simplemente reemplace el archivo original.
Por supuesto, ¿para qué molestarse, a menos que desee utilizar este DLL o EXE en algún lugar especial? No puedes hacer esto.
Es más doloroso agregar Yi Language al ensamblador. No sé mucho sobre Yi Language.
Si insistes en usar la programación para resolver el problema, probablemente lo mencionaré. esta idea.
1. Busque 00 y encuentre un espacio vacío lo suficientemente grande.
2. Obtenga el OEP leyendo la estructura de PE. Si no comprende, consulte la estructura de PE.
3. Cambie el OEP a la vacante encontrada en el primer paso.
Esto implica la alineación de la dirección virtual del archivo (parece llamarse así), lo cual es más complicado. . No estoy seguro,
Dejaré que cada uno lo resuelva por su cuenta. Dirección LoadLibrary
Llame a eax
El quinto paso, el código de shell finaliza el jmp y vuelve al OEP original, lo que también implica problemas de alineación, así que estúdielo usted mismo.
Llame a eax
El quinto paso, el shellcode finaliza jmp y vuelve al OEP original, lo que también implica problemas de alineación, estúdielo usted mismo.