Page 1 sur 2
[R] Problème de codage d'une fonction DOS en Autoit.
Posté : mar. 19 janv. 2016 21:27
par Boulanza
Bonjour,
J'ai un souci lors de codage d'une fonction dos en Autoit.
"Ultimate Packer for eXecutables (UPX)" sous DOS elle marche très bien:
C:\upx.exe -9 TEST.DLL
Codée en autoit ça ne marche pas.
NB: Le script se lance normalement sans message d'erreur.
Pour cela je sollicite votre aide. Merci
Code : Tout sélectionner
Local $fileDll = @ScriptDir&("\TEST.dll")
Local $program = @ScriptDir&"\upx.exe"
Local $Appli3 = "-9"
Local $param = $program&" "&$Appli3
Local $fonction= ($param&" "& $fileDll)
MsgBox(0, "test", $fonction)
Run($fonction,"","",@SW_HIDE)
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 21:57
par jguinch
Essai avec Run(@ComSpec & " /k " & $fonction) et dis-nous ce qui s'affiche dans la fenêtre DOS.
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 22:09
par Boulanza
Merci pour votre aide...
Tout simplement c:\>
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 22:31
par jguinch
Qu'affiche ConsoleWrite($fonction) ?
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 22:53
par Boulanza
En exécutant msdos voici se qui s'affiche sur l'écran noir:
c:\>upx.exe -9 TEST.dll
UPX est un outil incroyablement parfait pour compresser les .Dll et les .exe. En plus de cela, il a une utilité inédite primordiale en faveur aux scripts compilés par AutoIt (après compression sous UPX), je ne peux dire plus: à vous de découvrir....!!???
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 23:08
par jguinch
Non, c'est impossible que ça t'affiche ça, puisque TEST.DLL devrait être précédé du chemin que tu as défini à @ScriptDir.
Et ça, ça marche ?
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 23:11
par Boulanza
Je vous assure que c'est le résultat lors de l'execution de cmd.
jguinch télécharger UPX et faites le test vous allez être surpris...
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 23:13
par jguinch
Upx fonctionne très bien chez moi, depuis toujours.
Ca devient désespérant...

Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 23:17
par Boulanza
Run(@ScriptDir & '\upx.exe -9 "' & @ScriptDir& '\TEST.dll"')
Résultat du test: Sans effet !!
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 23:26
par orax
Et ceci ?
Code : Tout sélectionner
#include <WinAPI.au3>
$iRet = RunWait(@ScriptDir & '\upx.exe -9 "' & @ScriptDir & '\TEST.dll"')
If @error Then
ConsoleWriteError(_WinAPI_GetLastErrorMessage() & @CRLF)
Else
ConsoleWrite("upx a retourné le code : " & $iRet & @CRLF)
EndIf
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 23:31
par Boulanza
Non plus !!
Pas de message d'erreur.
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mar. 19 janv. 2016 23:49
par Boulanza
jguinch, vous faites allusion à: "Ultimate Packer for eXecutables (UPX)" sous DOS?
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mer. 20 janv. 2016 00:52
par orax
Mon code retourne forcément quelque chose dans la console. Il faut l'exécuter depuis SciTE.
Re: [..] Problème de codage d'une fonction dos en Autoit.
Posté : mer. 20 janv. 2016 08:00
par jguinch
Je confirme que ça marche avec
RunWait(@ScriptDir & '\upx.exe -9 "' & @ScriptDir & '\Test.exe"'), en utilisant UPX que j'ai téléchargé ici :
http://upx.sourceforge.net/#downloadupx
Le problème se situe entre le clavier et le fauteuil

Re: [..] Problème de codage d'une fonction DOS en Autoit.
Posté : mer. 20 janv. 2016 09:26
par Boulanza
Bonjour,
J'ai téléchargé deux versions: upx391d et upx391w du lien:
http://upx.sourceforge.net/#downloadupx.
J'ai testé sur Windows 10 avec:
RunWait(@ScriptDir & '\upx.exe -9 "' & @ScriptDir & '\Test.exe"')
ne marche pas: pas de réaction.
Je vais testé sur Windows 7 puis je reviens vers vous.
Cordialement.
Re: [..] Problème de codage d'une fonction DOS en Autoit.
Posté : mer. 20 janv. 2016 10:05
par Boulanza
Bonjour,
Oui, cher jguinch vous avez raison :
RunWait(@ScriptDir & '\upx.exe -9 "' & @ScriptDir & '\Test.exe"')
Marche parfétement sous upx391w sur Win : xp, vista, 7 et 8.1 mais pas sur w 10.
Pour mes testes j'ai utilisé UPX: 'MS-DOSupx391d.zip DOS/i386' qui ne marche pas sous Windows en ligne de commande, autrement il marche parfaitement sous Win 10.
Merci infiniment à vous tous pour votre aimable compréhension.
Cordialement.
Re: [R] Problème de codage d'une fonction DOS en Autoit.
Posté : mer. 20 janv. 2016 13:48
par Boulanza
Bonjour,
Je reviens encore une fois vers vous, mais cette fois pour résoudre un petit problème de compréhension de
" et
' , comme décrit ci-dessous:
Code : Tout sélectionner
Local $program = @ScriptDir&"\upx.exe"
Local $Appli3 = "-9"
Local $Source = "MonDossier"
Local $DirFile = "\Test.dll"
$Resultat = $Source&$DirFile
là ça marche avec [color=#0000FF]"[/color] en plus, svp pourquoi ?
RunWait(@ScriptDir & '\upx.exe -9 [color=#0000FF]"[/color]' & @ScriptDir & '\'&$Resultat)
là ça ne marche pas du tout:
RunWait($program&" "&$Appli3 &" "& @ScriptDir&"\"&$Resultat)
Je vous prie de me dire pourquoi ça ne marche pas.
Merci pour votre attention.
Re: [..] Problème de codage d'une fonction DOS en Autoit.
Posté : mer. 20 janv. 2016 21:46
par Boulanza
votre aide svp
Re: [..] Problème de codage d'une fonction DOS en Autoit.
Posté : mer. 20 janv. 2016 22:15
par jguinch
Quand le chemin contient des espaces, il faut le mettre entre double quotes :
upx.exe -9 "d:\mes programmes\fichier.dll" : OK
Si tu ne mets pas les doubles quotes, ta commande verra plusieurs paramètres :
upx.exe -9 d:\mes programmes\fichier.dll : Pas OK
Re: [..] Problème de codage d'une fonction DOS en Autoit.
Posté : mer. 20 janv. 2016 23:18
par Boulanza
Ma question est:
1- là ça marche avec " en plus, svp pourquoi ?
RunWait(@ScriptDir & ' \upx.exe -9 " ' & @ScriptDir & '\'&$Resultat)
2- là ça ne marche pas du tout pourquoi svp?
RunWait($program&" "&$Appli3 &" "& @ScriptDir&"\"&$Resultat)