Ya te lo comenté por privado WHK, pero excelente trabajo
Si se me permite te daré algunas sugerencias que pueden resultar atractivas para la siguiente versión y alguna mejora que veo posible
He estado ojeando el código del stub y le veo algunas cosillas que podrías cambiar...
Usas un form, pero no lo utilizas, si lo quitas podrías ahorrarte unos pocos bytes ya que no hace falta:
http://en.allexperts.com/q/Visual-Basic-1048/Applicaciones-Windows-sin-formulario.htmSi cambias las firmas deja de funcionar o es que yo lo estoy haciendo mal?? Te aconsejo que utilices otro método, a mi parecer una buena idea sería esta:
-> Obtienes el final del stub gracias a sus datos en el PE, si quieres un ejemplo en VB aquí tienes uno mio:
http://e0n-productions.blogspot.com/2008/11/obtener-el-inicio-del-eof.html A partir de la dirección devuelta ya por esa función se encontrarían todos los datos necesarios.
-> En vez de usar firmas fijas (fácilmente detectables por un AV y poco dinámicas) puedes poner en el inicio del EOF una estructura por ejemplo así:
struct datosEOF
{
int NumeroCaracteresCuerpoMensaje; // Si es 0 pues no hay mensaje ;)
int NumeroCaracteresTituloMensaje; // Si es 0 lo mismo
}
Así leerías la estructura en modo binario desde el final de tu stub, con un CopyMemory te copiarías el título y el el cuerpo del mensaje de error y lo que sobrase sería el bat.
No se, me parece más dinámico y resultaría más fácil añadir datos en un futuro, de igual manera evita errores por firmas repetidas a lo largo del exe.
Pese a los bytes que te puedes ahorrar quitando el form del stub, VB no me parece un buen lenguaje para esto, hacerlo en C++ por ejemplo te resultaría igual de fácil y el stub pesaría un puñado de kb, claro eso siempre va a gusto del programador, si estás interesado no dudes en consultarme que te puedo hechar un cable.
Y bueno, no se me ocurre nada más, muy buien trabajo y el diseño gráfico elaboradísimo
Salu2