Título: Problema al desplazar el EOF Publicado por: Binary_Death en 29 Agosto 2013, 20:40 pm Bueno... estoy haciendo un crypter, como dije en mi anterior post, e intento añadir una sección al ejecutable para añadir una rutina que añadiré como una TLS Callback function.
Al crear una nueva sección, hago que apunte al final del ejecutable indicado por el PointerToRawData+SizeOfRawData de la última sección, ese será el valor del PointerToRawData de mi nueva sección. Claro que, ahí puede haber un EOF Data, así que miramos si lo hay y si lo hay lo copiamos tantos bytes más abajo como indique el SizeOfRawData de mi nueva sección. ¿Hasta aquí va bien? De acuerdo, pues aquí dejo un fragmento de código en ensamblador que hace lo dicho: Código: mov esi, [ebx].PointerToRawData EAX y EBX son punteros a estructuras IMAGE_SECTION_HEADER EAX apunta a la estructura de la nueva sección, la sección que estamos creando. EBX apunta a la estructura de la anterior sección, lo que por el momento es la última, la que tiene un PointerToRawOffset mayor. Por lo demás, el dwFileSize es el tamaño total del fichero obtenido con GetFileSize() y lpMappedFile es la dirección de inicio de la vista del fichero de mapeo. EDIT: Solucionado. Da una rabia estarte horas por tonterías... |