pues digamos que puedes agregar una nueva sección con topo (es una herramienta que agrega una sección llena de ceros), luego le das un jmp al lugar lleno de ceros y luego buscar
siep, eso ya lo hice, de hecho intente primero hacerlo sin agregar mas bytes... pero me lo detectaba, y luego agregandole mas bytes pues lo mismo... me detectaba el offset donde lo habia puesto el Entrypoint... solo ese.
pero el tema de inmunizar algo no es solo por su entrypoint, aveces van varias cosas:
1) dlls que carga
2) sectores donde el codigo realmente es la rutina
3) accesos de memoria donde escribe y es detectado
4) presion indirecta de estar mirando algo
5)md5 de la muestra o de las secciones
Efectivamente, pero a mi me alertaba todo el rato en el Entrypoint aunque lo cambiase.
Pero tengo unas dudas sobre eso:
2) sectores donde el codigo es la rutina? no entiendo :O
5) md5 de las secciones? el md5 que cogen no es el del archivo entero? :O
para cambiar el entrypoint de una aplicacion solo necesitas saber la direccion y restarle la imagebase y conocer bien que tipo de stub realmente usas
Tenia en cuenta lo de sacar el Entrypoint.. pero a que te refieres con "conocer el tipo de stub que uso"? De hecho ahora mismo no lo estoy probando con un Stub (no se porque puse eso en el titulo, supongo que para relacionarlo de alguna forma), sino con el Crypter en si, el que hace uso del Stub para cifrar el archivo que le metas... y claro, he conseguido quitar la firma del Bitdefender del Stub pero al no conseguir quitar la firma que es detectada en el Cliente.... pues lo que cifro me sale detectado por Bitdefender debido a este... (pero no se supone que el cliente no tiene nada que ver con el archivo ya una vez cifrado?)
si no quieres hacer jmp puedes cambiar como
push lugar
ret
tambien funcionará como salto
si sabes mas de registros, puedes intentar cosas un poco mas movidas como
mov esi,lugardestino
jmp esi
tools existen , aun mas, los packers suelen intentar cambiar todos los entrypoint a su stub...asi que porque no podras?
mmm... pues habia pensado en intentar poner otra instruccion que no fuese un JMP o un JE/JNZ... pero al no tener muy clara la razon por la que me detectaba siempre el Entrypoint, preferi no gastar tiempo tontamente.
Ademas, no se porque me detecta el offset del Entrypoint... ahi solo ha una llamada de las que hay en VB al principio. Es decir, porque me detecta ese Entrypoint y no el de otro archivo en VB que tambien lo tiene? :S
Muchas gracias Apuromafo