Página 1 de 1
error al ejecutar el .exe
Publicado: 09 Oct 2013, 19:11
por jonuba
Hola
hace bastante tiempo pare de usar autoit y hoy volvi a usarlo y me encuentro con el problema
Autoit Error Unable to open the script file.
lo unico que tiene el archivo que compilo es
MsgBox(4096, "Prueba", "Esta caja desaparecerá en 10 segundos", 10)
si no compilo el archivo fuciona prefectamente pero si compilo y intento ejecutar me aparece el error
desactive ativirus y cortafuego de windows sigue sin funcionar
se me olbida algo o que pasa?
Re: error al ejecutar el .exe
Publicado: 09 Oct 2013, 19:14
por arkcrew
Me da a mi que está tirándote algún error raro al compilar, prueba a compilar desde la herramienta que trae externa, suele poner "Compile Script to" o similares, y debes tenerla en el folder de programas referente a autoit o en "C:\Program Files (x86)\AutoIt3\Aut2Exe" o tu ruta de instalación.
Prueba a compilar asi a ver si te funciona, en caso afirmativo, será algún error en el compilador.. de ser así, instala el Scite en su ultima versión y reinstala autoit (todo esto con privilegios de administrador)
Saludos!
Re: error al ejecutar el .exe
Publicado: 09 Oct 2013, 19:20
por jonuba
no fuciona sigue dando el mismo error
Re: error al ejecutar el .exe
Publicado: 12 Oct 2013, 23:59
por jonuba
Bueno despues de mucho probar encontre posiblemente el problema y el problema esta en los antivirus aunque estaban desactivados supongo que como ya lo habian detectado no dejaban ejecutar el archivo.
ahora bien como comparto mis ejecutables con otras personas si solo con escribir una linea de codigo en autoit se bloquea todo
MsgBox(4096, "Prueba", "Esta caja desaparecerá en 10 segundos", 10)
esta linea y avira free significan Virus
supongo que a alguien mas le pasara
Re: error al ejecutar el .exe
Publicado: 13 Oct 2013, 00:33
por Dany
al finalizar tu aplicación puedes notificarla a la empresa de antivirus que la detecta y decir que es un falso positivo.
esto sucedo mucho porque Autoit es muy usado para crear malwares.
saludos
Re: error al ejecutar el .exe
Publicado: 13 Oct 2013, 11:57
por Jonny
No sé si AutoIt será muy usado para crear malware. Pero no lo creo, porque el problema es, que AutoIt, es detectado muchas veces como falso positivo, por su diseño interno.
El problema está en qué, autoIt no es realmente compilado, sino semicompilado, y en el .exe que se genera al "compilar" un script, se incluye también el intérprete de AutoIt.
Al ejecutar el .exe, lo que ocurre es que se ejecuta en memoria el intérprete y éste analiza el código del programa para trabajar, como si se estuviera ejecutando el script, sin compilar.
Esto, para los antivirus, es una técnica de malware (ejecutar programas en memoria, desde un .exe). Por eso, no saben distinguir si un ejecutable hecho con AutoIt es malware, o no.
Lo curioso es, que con programas compilados en Python por ejemplo, esto no ocurre, siendo que el "compilado" de Python es más o menos parecido, aunque el código fuente se protege menos; o al menos, se protegía menos.
Yo creo, que no sería tan difícil hacer que los antivirus no detecten los .exe hechos con AutoIt como código malicioso.
Podrían los desarrolladores de AutoIt, llegar a un acuerdo con los desarrolladores de al menos, los principales antivirus por ejemplo, de forma que los ejecutables creados con AutoIt, tuvieran una especie de firma digital que únicamente conocieran los desarrolladores de autoIt y de los antivirus (encriptada, por supuesto) Para, que los antivirus pudieran saber que se trata de un programa hecho en AutoIt.
Quien dice una "firma digital", dice: Una cabecera de archivo, ETC.
En definitiva, algún mecanismo, para que los antivirus supieran que el ejecutable está hecho con AutoIt.
Pero no haría falta, pues creo que el intérprete de AutoIt está firmado por sus desarrolladores.
Pues bien, bastaría con: Cuando se detecte que un .exe quiere ejecutar un programa en memoria, comprobar si está firmado. Si lo está, comprobar la firma; Que, si es de los desarrolladores de AutoIt, significa que es el intérprete de e´ste.
Si se trata del intérprete de AutoIt, se permite la ejecución. Si no, se procede con el método de protección que tenga preestablecido el antivirus, para estos casos.
Todo esto estaría más que bien. Porque, si hay que andar notificando a cada desarrollador de antivirus, que has hecho un programa, y que no es malware... Y cada vez que lo actualizas hay que volver a hacerlo...
Salu2!
Re: error al ejecutar el .exe
Publicado: 13 Oct 2013, 13:45
por arkcrew
Buenas,
A ver, la culpa de que autoit salte como falso positivo no es cosa de firmas internas, la culpa es del compilador, si seleccionais que use el UPX para comprimir, generalmente eso va a hacer que os salten los antivirus ya que es el mismo empaquetador que se usa en casi todos los troyanos.
Sabiendo eso, sólo tenéis que empaquetarlo con cualquier otro y olvidaros del problema.
Saludos!
Re: error al ejecutar el .exe
Publicado: 13 Oct 2013, 15:54
por Dany
@arkcrew No es culpa del UPX.
Compila un script que contenga innetread & ShellExecute si usar el UPX y veras unos resultados mas o menos como estos
https://www.virustotal.com/es/file/2168 ... 1381672152
aunque dejar indetectable los ejecutables no es tan difícil.
@Jonny lo que dices es muy ineficiente ya que enotnces harian muchos malwares en autoit y no serian detectados.
saludos
Re: error al ejecutar el .exe
Publicado: 13 Oct 2013, 21:57
por Jonny
Efectivamente. Yo no dije que la culpa fuera de firmas internas, las propuse como solución, para evitar los falsos positivos.
Más que UPX, el problema está en empaquetar un script, en un .exe, por lo del intérprete.
Hombre, lo ineficiente sería un antivirus, que únicamente se basara en si un programa ejecuta otro en memoria, para determinar que es malware.
Yo sólo hice referencia a lo que tiene que ver con el mecanismo de ejecución que usa AutoIt, pero por supuesto, los antivirus, una vez comprobado si se trata de un ejecutable de AutoIt o no, independientemente de que lo sea, deberían comprobar muchas otras cosas, para determinar que se trata de malware. Así (que es como debería funcionar un antivirus) aunque el programa esté hecho en AutoIt, si es malware, puede saltar el antivirus. Pero, si no lo es, se puede permitir la ejecución, sin crear tantos falsos positivos.
En definitiva, es el pez que se muerde la cola: Si un antivirus comprueba si un programa crea ganchos de teclado, ratón, eventos de sistema (por ejemplo)... y salta, puede tratarse también de un falso positivo... Pero esto creo, que es un problema que prácticamente no tiene solución, salvo que los que se dedican a hacerlos, dejen de hacer programas maliciosos...
Salu2!
Re: error al ejecutar el .exe
Publicado: 13 Oct 2013, 22:55
por Dany
claro por lo mismo aun se utiliza la técnica mas vieja que es deteccion por firma de rutinas. aunque ahora han implementado muchas cosas nuevo por ejemplo los emuladores.
saludos
Re: error al ejecutar el .exe
Publicado: 21 Oct 2013, 22:29
por jonuba
hola
ya no entiendo nada al final hice esto con el antivirus puesto
MsgBox (1,"hola", "hola mundo")
luego me voy a compilar con el compilador de autoit en source pongo holamundo.au3 y en destination pongo holamundo.exe luego ejecuto holamundo.exe y me aparece el error de antes Autoit Error Unable to open the script file.
en cambio si hago los mismos pasos pero con el unico cambio de poner en destination holamundo.exe pongo holamundo sin la extencion y luego renombro el archivo pero solo poniendo la extencion resulta que funciona
esto me funciono con la UPX activado y sin