bueno... estuve mirando tu programa y logré hacerlo funcionar (al parecer no quiere funcionar desde "Archivos de prog...", tonces lo copié a C y le puse un nombre de menos de 8 caracteres), la cosa es que lo que hace es muy simple, llama al segundo programa para que haga los cambios con los 2 argumentos, pero que pasa si falta uno? funciona correctamente (va en realidad vi que solo modifica unos datos pero no pone el mencionado argumento) como podes probar esto? lo abrís con el olly, y cuando va a llamar a "winexec" te vas a "Follow in Dump" de eax (el argumento a ser enviado) y eliminas el 2º argumento haciendo doble clic sobre el espacio y pones 0, te queda así:
00A66D0C 63 73 61 69 6E 74 2E 65 78 65 20 43 3A 5C 63 61 csaint.exe C:\ca
00A66D1C 6D 62 69 6F 00 44 45 4D 4F 53 54 52 41 43 49 4F mbio DEMOSTRACIO
00A66D2C 4E 5F 4E 4F 5F 46 41 4C 4C 41 5F 30 34 31 34 2D N_NO_FALLA_0414-
00A66D3C 34 33 34 38 37 31 31 4348711
y entonces que pasa si el cartel no existe?
abrís el programa con un editor hexadecimal, buscás el cartelito y cuando lo encontrás remplazás la primera letra con 00
00076a00h: FF FF FF FF 22 00 00 00 00 45 4D 4F 53 54 52 41 ; ÿÿÿÿ"....EMOSTRA
00076a10h: 43 49 4F 4E 5F 4E 4F 5F 46 41 4C 4C 41 5F 30 34 ; CION_NO_FALLA_04
y listo... cuando quiera unir el segundo argumento este va a ser nulo... prueba esto y dime que onda...
S2
00A66D0C 63 73 61 69 6E 74 2E 65 78 65 20 43 3A 5C 63 61 csaint.exe C:\ca
00A66D1C 6D 62 69 6F 00 44 45 4D 4F 53 54 52 41 43 49 4F mbio DEMOSTRACIO
00A66D2C 4E 5F 4E 4F 5F 46 41 4C 4C 41 5F 30 34 31 34 2D N_NO_FALLA_0414-
00A66D3C 34 33 34 38 37 31 31 4348711
y entonces que pasa si el cartel no existe?
abrís el programa con un editor hexadecimal, buscás el cartelito y cuando lo encontrás remplazás la primera letra con 00
00076a00h: FF FF FF FF 22 00 00 00 00 45 4D 4F 53 54 52 41 ; ÿÿÿÿ"....EMOSTRA
00076a10h: 43 49 4F 4E 5F 4E 4F 5F 46 41 4C 4C 41 5F 30 34 ; CION_NO_FALLA_04
y listo... cuando quiera unir el segundo argumento este va a ser nulo... prueba esto y dime que onda...
S2