Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
765 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

compiler un batch en .com ou en .exe

n°1421030
webding
Posté le 06-08-2006 à 20:38:20  profilanswer
 

Reprise du message précédent :

Elmoricq a écrit :

C'est la citation d'un film. Peu importe.
 
La ligne de commande n'a pas grand chose à voir avec le script. Tu peux écrire ton script python, perl, vbs ou whatever à coup de type >> fichier_script.ext si ça t'amuse, ou avec edit, notepad, etc.
Comme sous Unix tu peux utiliser ed si tu aimes le masochisme, c'est ton choix. [:dawa]


 
Avec les lignes de commande dos je fait des script batch fichier.bat

mood
Publicité
Posté le 06-08-2006 à 20:38:20  profilanswer
 

n°1421032
Elmoricq
Modérateur
Posté le 06-08-2006 à 20:38:36  profilanswer
 

Tiens, tu pourrais pas créer/demander une sous-catégorie "collector", pour y mettre certains topaques ? [:dawa]

n°1421036
Elmoricq
Modérateur
Posté le 06-08-2006 à 20:39:42  profilanswer
 

webding a écrit :

Avec les lignes de commande dos je fait des script batch fichier.bat


 
Ah, pardon. Je ne souhaitais pas insulter le masochisme, c'est un style de vie certainement très intéressant, et je respecte les différences.
Je te prie de bien vouloir ne pas prêter attention à mes piques à ce sujet.
 
D'avance, merci.  [:daria]

n°1421040
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-08-2006 à 20:41:34  profilanswer
 

Elmoricq a écrit :

Tiens, tu pourrais pas créer/demander une sous-catégorie "collector", pour y mettre certains topaques ? [:dawa]


ça existe déjà [:god]
http://forum.hardware.fr/hardwaref [...] 4373-1.htm


---------------
J'ai un string dans l'array (Paris Hilton)
n°1421041
webding
Posté le 06-08-2006 à 20:42:23  profilanswer
 

Bon je te laisse là, je suis venu ici pour demander de l'aide sur des scripts moi, pas debatre sur les préfférences des uns et des autres.
 

n°1421057
pains-aux-​raisins
Fatal error
Posté le 06-08-2006 à 20:55:36  profilanswer
 

Elmoricq a écrit :

Il dit qu'il ne voit pas le rapport.


Il me fait penser à des personnes qui ne veulent pas remettre à jour leur connaissance et adopter des outils et techniques plus modernes et finalement plus productives (VBS et python par exemple).
 
Il maîtrise une technique deprecated pour ne pas dire obsolète et n'entend pas en changer même s'il doit faire des contorsions mentales même pour des traitements basiques. Mais ça lui convient car il pense capitaliser sur ses longues années d'expérience sur ce "langage". Pourquoi changer tant que ce langage est supporté par Windows et que je pense être productif avec ?
Oui, on pourrait se demander pourquoi. Il doit en effet avoir un catalogue d'outils étoffés écrits en Batch.
 
Cependant, il ne voit pas l'avantage des langages OSA (c'est bien ça le buzz ?) comme Python par exemple ou tout simplement le VBS qui reprend la simplicité du Batch en ajoutant des possibilités de modularité, de calcul mathématique et de structures de contrôle beaucoup plus évolué que Batch. Un développement normal prendrait selon moi 1/4 de temps en moins en VBS qu'en Batch. On peut accéder à des fonctionnalités systèmes inaccessibles en Batch, etc...
 
Pour répondre contre ces arguments, cette population d'informaticiens avancera ensuite des critères subjectifs qui coupera court à toute discussion. Car les goûts et les couleurs, c'est bien connu, ça ne se discute pas... Le fin fond de l'histoire c'est que l'effort de formation aux nouveaux langages peut paraître improductif dans un premier temps puisqu'il s'agit de développer dans un nouveau langage les mêmes types de programmes qu'avant en plus de temps étant donné une moindre maîtrise. Evidemment, en un laps de temps assez court, les gains en retour sont très élevés pour ceux qui évoluent vers un langage plus puissant.
Le manque de temps est également ce qui empêche ces personnes. Mais cet argument n'apparaît que peu souvent même si c'est souvent le principal car il est synonyme quelque par d'incompétence à apprendre rapidemment quelque chose. Un cercle vicieux s'engage alors : je n'ai pas le temps => je ne me forme pas => j'ai de moins en moins de temps car de plus en plus de choses à faire (impératifs d'augmentation de la productivité dans les entreprises)

n°1421073
webding
Posté le 06-08-2006 à 21:02:05  profilanswer
 

pains-aux-raisins a écrit :

Il me fait penser à des personnes qui ne veulent pas remettre à jour leur connaissance et adopter des outils et techniques plus modernes et finalement plus productives (VBS et python par exemple).
 
Il maîtrise une technique deprecated pour ne pas dire obsolète et n'entend pas en changer même s'il doit faire des contorsions mentales même pour des traitements basiques. Mais ça lui convient car il pense capitaliser sur ses longues années d'expérience sur ce "langage". Pourquoi changer tant que ce langage est supporté par Windows et que je pense être productif avec ?
Oui, on pourrait se demander pourquoi. Il doit en effet avoir un catalogue d'outils étoffés écrits en Batch.
 
Cependant, il ne voit pas l'avantage des langages OSA (c'est bien ça le buzz ?) comme Python par exemple ou tout simplement le VBS qui reprend la simplicité du Batch en ajoutant des possibilités de modularité, de calcul mathématique et de structures de contrôle beaucoup plus évolué que Batch. Un développement normal prendrait selon moi 1/4 de temps en moins en VBS qu'en Batch. On peut accéder à des fonctionnalités systèmes inaccessibles en Batch, etc...
 
Pour répondre contre ces arguments, cette population d'informaticiens avancera ensuite des critères subjectifs qui coupera court à toute discussion. Car les goûts et les couleurs, c'est bien connu, ça ne se discute pas... Le fin fond de l'histoire c'est que l'effort de formation aux nouveaux langages peut paraître improductif dans un premier temps puisqu'il s'agit de développer dans un nouveau langage les mêmes types de programmes qu'avant en plus de temps étant donné une moindre maîtrise. Evidemment, en un laps de temps assez court, les gains en retour sont très élevés pour ceux qui évoluent vers un langage plus puissant.
Le manque de temps est également ce qui empêche ces personnes. Mais cet argument n'apparaît que peu souvent même si c'est souvent le principal car il est synonyme quelque par d'incompétence à apprendre rapidemment quelque chose. Un cercle vicieux s'engage alors : je n'ai pas le temps => je ne me forme pas => j'ai de moins en moins de temps car de plus en plus de choses à faire (impératifs d'augmentation de la productivité dans les entreprises)


 
Moi je n'ai pas envie d'apprendre un language comlexe pour  faire de simple opération c'est tout,  
 
J'ai essayer le VBS c'est plus évoluer que le batch, je sais, mais il n'y a pas d'équivalent à Set /p pour faire des menus de chois, il faudrais faire un formulaire avec des boutons mais la le code deviendrai long.
 
Si tu veux me faire mes scripts en VBS, je n'y vois pas d'inconvénian, mais pour les chose simple, je n'ai  tous simplement pas envie de refaire tous mes batch en VBS, ce qui est fait est fait.
 
Si tu arrive toi à apprendre un language en un labs de temps hyper réduit tant mieux pour toi, moi j'y vais a mon rytme.

Message cité 1 fois
Message édité par webding le 06-08-2006 à 21:03:18
n°1421084
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-08-2006 à 21:12:03  profilanswer
 

webding a écrit :

Moi je n'ai pas envie d'apprendre un language comlexe pour  faire de simple opération c'est tout,  
 
J'ai essayer le VBS c'est plus évoluer que le batch, je sais, mais il n'y a pas d'équivalent à Set /p pour faire des menus de chois, il faudrais faire un formulaire avec des boutons mais la le code deviendrai long.


bon allez, je veux bien faire un effort : tu me postes ici un de tes scripts batch que tu qualifies de "complexe", et je te ponds l'équivalent en VBS. par contre, pas tout de suite hein, j'ai pas trop que ça à faire, mais comme en ce moment le boulot est calme, je veux bien m'y coller pendant les creux, histoire de te prouver que tu es totalement à coté de la plaque


---------------
J'ai un string dans l'array (Paris Hilton)
n°1421092
gatsu35
Blablaté par Harko
Posté le 06-08-2006 à 21:17:32  profilanswer
 

+1 le batch est une chiotte sans nom
pour faire quelque chose c'est la croix et la bannière

n°1421093
webding
Posté le 06-08-2006 à 21:17:43  profilanswer
 

Quand je dit que mes script sont complexe, je ne parle pas complexe dans la programmation, mais long quoi, il y a une longue suite de condition if qui test des fichiers et des répertoires, des cmé dans le registre, un tats de boucle for qui vérifi certaines chaines de caractéres des toutes une série de fichier.txt, c'est surtout que mes batch sont long quoi.
 
C'est surtout pour ces boucle for, les refaires en vbs me prendrer un temps fou, j'en ai plus de 50 toutes différente les une des autres, puis il y a des double boucles, et même quelques triples.

Message cité 3 fois
Message édité par webding le 06-08-2006 à 21:18:48
mood
Publicité
Posté le 06-08-2006 à 21:17:43  profilanswer
 

n°1421094
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-08-2006 à 21:19:38  profilanswer
 

webding a écrit :

Quand je dit que mes script sont complexe, je ne parle pas complexe dans la programmation, mais long quoi, il y a une longue suite de condition if qui test des fichiers et des répertoires, des cmé dans le registre, un tats de boucle for qui vérifi certaines chaines de caractéres des toutes une série de fichier.txt, c'est surtout que mes batch sont long quoi.
 
C'est surtout pour ces boucle for, les refaires en vbs me prendrer un temps fou, j'en ai plus de 50 toutes différente les une des autres.


oui oui, poste donc un de ces fameux batch, je suis sur déja qu'on peut faire une jolie coupe franche dans ces fameuses boucles for


---------------
J'ai un string dans l'array (Paris Hilton)
n°1421096
Elmoricq
Modérateur
Posté le 06-08-2006 à 21:20:53  profilanswer
 

webding a écrit :

C'est surtout pour ces boucle for, les refaires en vbs me prendrer un temps fou, j'en ai plus de 50 toutes différente les une des autres, puis il y a des double boucles, et même quelques triples.


 
Oh mon dieu, il y a des doubles-boucles et, même accrochez-vous bien, parfois, des triples ! [:totoz]
 
Non, sérieusement, y a rien de compliqué... sauf si tes boucles font 2000 lignes chacunes, ce à quoi je répondrais que le temps du BASIC avec les lignes numérotées et les gosub est révolu, et que VBScript propose justement de créer ses propres méthodes. ;)

n°1421097
pains-aux-​raisins
Fatal error
Posté le 06-08-2006 à 21:21:09  profilanswer
 

webding a écrit :

Quand je dit que mes script sont complexe, je ne parle pas complexe dans la programmation, mais long quoi, il y a une longue suite de condition if qui test des fichiers et des répertoires, des cmé dans le registre, un tats de boucle for qui vérifi certaines chaines de caractéres des toutes une série de fichier.txt, c'est surtout que mes batch sont long quoi.
 
C'est surtout pour ces boucle for, les refaires en vbs me prendrer un temps fou, j'en ai plus de 50 toutes différente les une des autres, puis il y a des double boucles, et même quelques triples.


Ben dégrossi le tout avec des global search/replace (ptete même avec un chtit coup de regexps) et ensuite tu nettoies à la main. :o

n°1421101
webding
Posté le 06-08-2006 à 21:24:51  profilanswer
 

Elmoricq a écrit :

Oh mon dieu, il y a des doubles-boucles et, même accrochez-vous bien, parfois, des triples ! [:totoz]
 
Non, sérieusement, y a rien de compliqué... sauf si tes boucles font 2000 lignes chacunes, ce à quoi je répondrais que le temps du BASIC avec les lignes numérotées et les gosub est révolu, et que VBScript propose justement de créer ses propres méthodes. ;)


 
J'ai pas dit que mes boucle été compliquer, mais s'est long a faire c'est tout.

n°1421103
webding
Posté le 06-08-2006 à 21:25:31  profilanswer
 

pains-aux-raisins a écrit :

Ben dégrossi le tout avec des global search/replace (ptete même avec un chtit coup de regexps) et ensuite tu nettoies à la main. :o


 
Ben justement, je ne veut pas dégrossir

n°1421104
Elmoricq
Modérateur
Posté le 06-08-2006 à 21:25:39  profilanswer
 

La conversion serait longue, je te l'accorde. Mais si tu évalues le gain, en simplicité, maintenabilité, temps des futurs développements, etc... tu es largement gagnant.

n°1421105
webding
Posté le 06-08-2006 à 21:25:56  profilanswer
 

Harkonnen a écrit :

oui oui, poste donc un de ces fameux batch, je suis sur déja qu'on peut faire une jolie coupe franche dans ces fameuses boucles for


 
Je vais t'en donner une si tu y tien

n°1421107
webding
Posté le 06-08-2006 à 21:27:18  profilanswer
 

Celle-ci c'est pas moi qui l'ai faite par contre:
 
For /f "tokens=7 delims=\" %%i In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix"') Do echo For /f "skip=4 tokens=3 delims=   " %%%%j In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\%%i" /v Comments') Do echo  == %%%%j>> "%~dp0listPacks.bat"  
 Call "%~dp0listPacks.bat" & del "%~dp0listPacks.bat"

Message cité 1 fois
Message édité par webding le 06-08-2006 à 21:27:27
n°1421114
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-08-2006 à 21:37:01  profilanswer
 

euh...explique donc quel est le but de ce machin hein, parce que là je viens de perdre 3/10e à chaque oeil !


---------------
J'ai un string dans l'array (Paris Hilton)
n°1421117
webding
Posté le 06-08-2006 à 21:39:33  profilanswer
 

Cette double boucle for liste tous les hotfix (service pack et mise à jour) installer sur windows en lisant dans la base de registre puis derière les noms des mise ajour elle va ajouter les informations sur ces mise à jour contenu dans les valeurs Comments dans la clé HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix

n°1421130
pains-aux-​raisins
Fatal error
Posté le 06-08-2006 à 21:52:06  profilanswer
 

C'est quoi la boucle complexe là ?
Il y a juste un chtite boucle qui parcourre la liste de HotFix et une autre qui créer un sous Batch ( :heink: ) pour sans doute mettre à jour la base de registre. Rien de compliquer en soit mais complétement abscon en Batch.
Bon sur la mise en forme c'est zéro. N'écris jamais un code comme ça hein :o


Message édité par pains-aux-raisins le 06-08-2006 à 21:52:23
n°1421132
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-08-2006 à 21:53:40  profilanswer
 

webding a écrit :

Cette double boucle for liste tous les hotfix (service pack et mise à jour) installer sur windows en lisant dans la base de registre puis derière les noms des mise ajour elle va ajouter les informations sur ces mise à jour contenu dans les valeurs Comments dans la clé HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix


ok, j'essaie de te torcher ça demain dans la journée en VBS si personne d'autre ne l'a fait avant


---------------
J'ai un string dans l'array (Paris Hilton)
n°1421145
Elmoricq
Modérateur
Posté le 06-08-2006 à 22:12:44  profilanswer
 

webding a écrit :

Celle-ci c'est pas moi qui l'ai faite par contre:
 
For /f "tokens=7 delims=\" %%i In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix"') Do echo For /f "skip=4 tokens=3 delims=   " %%%%j In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\%%i" /v Comments') Do echo  == %%%%j>> "%~dp0listPacks.bat"  
 Call "%~dp0listPacks.bat" & del "%~dp0listPacks.bat"


 
 
 

' declaration des constantes/variables
const hotfixpath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix"
const HKLM = &H80000002
dim registry, subkeys, hotfixname
 
' parcours des hotfix
Set registry = GetObject("winmgmts:root\default:StdRegProv" )
registry.EnumKey HKLM, hotfixpath, subkeys
 
for each hotfixname in subkeys
    on error resume next
    dim comment
 
    registry.GetStringValue HKLM, hotfixpath & "\" & hotfixname, "Comments", comment
 
    ' action à mener sur chaque hotfix
    WScript.Echo comment
next  
 


 
 
Remarque : je suis un total n00b en VBScript, alors il y a peut-être mieux comme méthode. Néanmoins on a là quelque chose d'assez propre qui parcours les sous-clefs d'un "répertoire" de la base de registres, et qui lit les valeurs. Et au lieu d'écrire ça dans un .BAT pour l'exécuter ensuite, je verrais plutôt l'appel à une méthode VBScript, ce qui serait nettement plus propre. Ici, pour l'exemple, je ne fais que montrer à l'exécution les clefs trouvées.
 
Remarque 2 : le "on error resume next" j'aime pas, mais j'ai la flemme de chercher un moyen de vérifier que la clef existe avant d'aller en chercher la valeur :o


Message édité par Elmoricq le 06-08-2006 à 22:14:19
n°1421148
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-08-2006 à 22:14:09  profilanswer
 

c'est tout de suite plus lisible quand meme :D
par contre, le On Error Resume Next, spas bien :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°1421149
Elmoricq
Modérateur
Posté le 06-08-2006 à 22:14:31  profilanswer
 

Je sais, cf. remarque 2 :D

n°1421152
webding
Posté le 06-08-2006 à 22:20:10  profilanswer
 

Oulah il affiche chaque valeur dans une fenêtre différente ce script, c'est mong tous ça, en plus ma double boucle ne faisait plus qu'une seule ligne, et la le script et un peut lon, il faut savoir que j'ai au moin une bonne cinquantaine de boucle dans mes batchs, l'affichage de l'invite de commande et quand même bien plu pratquen d'autent plus que l'on peut faire défiler le contenu, si on fait un vbs qui affiche 30 ligne d'information dans le fenêtre je me demande si l'écarn sera asser grand.
 
Si non merci pour la conversion batch vbs


Message édité par webding le 06-08-2006 à 22:21:23
n°1421155
Elmoricq
Modérateur
Posté le 06-08-2006 à 22:22:41  profilanswer
 

Fig. 2f : point missed.
 
 
edit :  le jour où tu es malade pour 1 mois et que tes chefs veulent prendre quelqu'un pour te remplacer en attendant, tu seras la cause de suicides par dizaines.


Message édité par Elmoricq le 06-08-2006 à 22:26:22
n°1421160
webding
Posté le 06-08-2006 à 22:31:17  profilanswer
 

Ben comme sa je serait devenu un assasin mais la justice ne pourat pas m'inculper de meutre.

n°1421162
big_dadi_f​at
Posté le 06-08-2006 à 22:33:46  profilanswer
 

alors le vbs est plus évoluer que le batch pour faire des scripte ?  
je veut un lien pour apprendre le vbs tout de suit et c'est un ordre  :na:  
 
 
 
euh quoi ? ne me laissez pas tout seul , je plaisantais  :(  
svp un bon lien pour débuter en vbs .
 
merci

Message cité 1 fois
Message édité par big_dadi_fat le 06-08-2006 à 22:34:06
n°1421165
webding
Posté le 06-08-2006 à 22:37:56  profilanswer
 

Tu peut poser des questions sur ce forum

n°1421166
pains-aux-​raisins
Fatal error
Posté le 06-08-2006 à 22:38:57  profilanswer
 

big_dadi_fat a écrit :

alors le vbs est plus évoluer que le batch pour faire des scripte ?  
je veut un lien pour apprendre le vbs tout de suit et c'est un ordre  :na:  
 
 
 
euh quoi ? ne me laissez pas tout seul , je plaisantais  :(  
svp un bon lien pour débuter en vbs .
 
merci


t'es un winner toi  :sarcastic:  
http://forum.hardware.fr/hardwaref [...] 7404-1.htm

n°1624924
code32
Posté le 16-10-2007 à 19:40:46  profilanswer
 

Salut j'ai essayé de transformer un .bat en .com avec turbobat puis le .com obtenu en .exe avec comtoexe. Le probléme est que avec la syntaxe suivante:
turbobat test.bat > test.com  
comtoexe test.com  
 
j'ai des excutable qui font rien!!!

n°1632814
darkwall_3​7
Posté le 29-10-2007 à 12:24:15  profilanswer
 

au pire si tu veux un exe tu n'as qu'a passer par le C et utliser la commande system qui interprète les commandes dos ! ça fait plus 'propre' un exe qu'un batch

n°1633228
Shinuza
This is unexecpected
Posté le 29-10-2007 à 19:50:27  profilanswer
 

Si c'est destiné a faire la même chose, y'a aucun intéret à convertir l'un vers l'autre.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1635112
darkwall_3​7
Posté le 01-11-2007 à 15:37:33  profilanswer
 

je dis pas le contraire ! il demande comment à partir de son batch obtenir un exe. Si lui il veut un *.exe et non pas un *.bat je ne lui raconte pas ma vie en lui parlant de vbs .... il utilise la commande system et point barre il a un exe après c'est son choix.

n°2166719
Gein-
Posté le 04-12-2012 à 18:17:32  profilanswer
 

Salut à tout le m... enfin personne, ouais ça fait 5 ans maintenant O_o !
 
J'voulais tout de même ajouter mon grain de sel.
J'ai trouvé ça marrant de voir comment s'est orientée la discussion, genre totalement à côté du sujet lol
Certains ont demandé à quoi ça pouvait bien servir de compiler un .bat...
Bah moi j'ai une réponse toute simple à vous apporter : à masquer le code.
 
J'sais plus où j'ai lu que le code reste visible dans des fichiers temporaires ou j'sais pas quoi m'enfin on s'en fout, qui penserait à aller fouiller là-dedans.
 
Moi j'ai des .bat (hé non même en 2012 toujours pas de VBS, désolé) dans lesquels je rentre des mots de passe, pour pas avoir à les tapper à chaque fois (ils sont longs voyez...) et j'aimerais bien que personne puisse voir ces mots de passe, même s'il squatte mon ordi à mon insu et qu'il fouille. Ok ce malheureux pourrait toujours copier mon .com ou mon .exe et s'en servir (à condition que ça serve ailleurs que sur ma machine) et ok si la personne s'y connait un peu, y'a toujours moyen de retrouver des mots de passe dans des .com ou des .exe.
 
Mais ça j'm'en fous, j'ai pas de données top secrètes sur mon ordi, donc tout ce que je veux c'est simplement "protéger" mes batchs, et pour ça, quoi de plus simple que de les compiler ?
 
J'vais pas me casser la tête à réécrire le code en C avec des commandes "system" et des "sprintf" à la pelle.
 
C'est sûr que le batch c'est pas clair, c'est chiant, mais c'est quand même SIMPLE pour faire des choses SIMPLES. Alors pourquoi s'en priver ?
D'ailleurs, z'allez ptet rire mais j'ai trouvé quelque chose qu'on peut faire facilement en batch qui est plus ou moins relou à refaire en bash (par exemple) : FOR /F "tokens=*" -> récupération de chaque ligne d'un texte, sans l'espace comme délimitation (enfin si, mais on prend tous les champs alors...)
En bash, y'a aucun moyen de modifier sa boucle for pour qu'elle fasse pareil (cad ne pas considérer l'espace comme une délimitation de champs). Faut passer par un while read < fichier, modifier l'IFS, utiliser des pipes (mais alors sous-processus et faut bidouiller pour récup certaines variables), ou encore utiliser des fichiers temporaires (et dans ce cas pas d'utilisation en parallèle du même script sans donner un nom unique au fichier, sinon corruption de ce dernier). Bah en batch, pas de question à se poser :O ! cetipakoulsa ?
 
Alors laissons-le tranquille ce petit batch, il est bien là où il est.
Qu'il existe ou non, ça m'empêchera pas d'aller tester d'autres langages.

n°2166724
Shinuza
This is unexecpected
Posté le 04-12-2012 à 19:11:11  profilanswer
 

Gein- a écrit :

Bah moi j'ai une réponse toute simple à vous apporter : à masquer le code.

Sauf que dans l'absolu tu masques rien du tout [:spamafote]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2166729
Gein-
Posté le 04-12-2012 à 19:23:55  profilanswer
 

Haha...
J'viens de voir ça en effet ^^'
C'est en effet pas des exécutables binaires mais des archives SFX, le .bat original (soit-disant "compilé" ) est bien dépaqueté dans les fichiers temporaires, et donc tout à fait lisible.
C'est trop pourri :D !
A la base j'voulais juste le transformer en .com mais j'trouve pas d'appli qui le fasse sur une archi 64bits ö_o
En .com tu crois que ça masquerait vraiment le code ?

n°2166733
Shinuza
This is unexecpected
Posté le 04-12-2012 à 19:32:43  profilanswer
 

Tout ce qui est compilé peut-être décompilé, donc non.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2166734
Gein-
Posté le 04-12-2012 à 19:38:36  profilanswer
 

Bon bah alors j'aurai pu commencer mon pavé un peu plus haut à la 14ème ligne X)
Après j'demande pas une protection inviolable, si le .com me fout pas de .bat temporaire avec le code en clair dedans, ça me va.
Vais quand même essayer (enfin, si j'trouve l'outil adéquat)
 
Merci Shinuza :) J'espère que t'as pas checké ce topic tous les jours pendant 5 ans :D (ta réponse était grave rapide héhé)


Message édité par Gein- le 04-12-2012 à 19:39:26
n°2166747
gilou
Modérateur
Modzilla
Posté le 04-12-2012 à 20:23:34  profilanswer
 

Avec un script en perl, j'utiliserais un obfuscator comme celui en http://liraz.org/obfus.html
 
Il transforme ceci (un script écrit a la va vite pour récupérer des pages webs dont la liste est contenue dans un fichier externe, avec un délai pour pas se faire bannir par le serveur):

Code :
  1. #!/usr/bin/perl
  2.  
  3. # error-check flags
  4. use strict;
  5. use warnings;
  6. # Use readable built-in names
  7. use English qw( -no_match_vars );
  8. use LWP::UserAgent;
  9. use HTTP::Request;
  10. use HTTP::Response;
  11. use HTTP::Status;
  12. use URI::Heuristic;
  13.  
  14. my %pages;
  15. my $i = 0;
  16.  
  17. open my $FILE, '<', "tagurls.txt"
  18.  or ( print("Can't open tagurls.txt for reading: $OS_ERROR\n" ) and exit 1);
  19. while (<$FILE> ) {
  20.  if (/title="(.*)"\s+href="(.*)"/) {
  21.    $pages{$i++} = {page => $1, url => $2};
  22.  }
  23. }
  24. close $FILE;
  25.  
  26. # print $i; -> 578
  27.  
  28.  
  29. my $connection_address = "http://192.168.1.64";
  30. my $connection_agent = "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)";
  31. my $http_engine = LWP::UserAgent->new();
  32. $http_engine->agent($connection_agent);
  33. $http_engine->timeout(45);
  34. my $fetch_delay = 10;
  35.  
  36. foreach $i (570..577) { # last i: 577
  37.  my $raw_url = $pages{$i}{url};
  38.  my $url = URI::Heuristic::uf_urlstr($raw_url);
  39.  my $request = new HTTP::Request(GET => $url);
  40.  $request->referer($connection_address);
  41.  my $response = $http_engine->request($request);
  42.  if ($response->code != RC_OK) {
  43.    print $response->status_line;
  44.    print "$pages{$i}{page} failed\n";
  45.  }
  46.  else {
  47.    my $data = $response->content;
  48.  
  49.    open my $FILE, '>', $pages{$i}{page}
  50.      or ( print("Can't open $pages{$i}{page} for writing: $OS_ERROR\n" ) and return 0);
  51.    binmode $FILE;
  52.    print $FILE $data;
  53.    close $FILE;
  54.    print "$pages{$i}{page} done\n";
  55.  }
  56.  sleep($fetch_delay);
  57. }


en ceci:
#!/usr/bin/perl
use strict;use warnings;use English("","\x2d\x6e\x6f\x5f\x6d\x61\x74\x63\x68\x5f\x76\x61\x72\x73" );use LWP::UserAgent;use HTTP::Request;use HTTP::Response;use HTTP::Status;use URI::Heuristic;my %OO0O0;my $OO000O0=0;open my $OO0O,"\x3c","\x74\x61\x67\x75\x72\x6c\x73\x2e\x74\x78\x74" or(print("\x43\x61\x6e\x27\x74\x20\x6f\x70\x65\x6e\x20\x74\x61\x67\x75\x72\x6c\x73\x2e\x74\x78\x74\x20\x66\x6f\x72\x20\x72\x65\x61\x64\x69\x6e\x67\x3a\x20$OOOO00\x0a" )and exit 1);while(<$OO0O> ){if(/title="\x28\x2e\x2a\x29"\s+href="\x28\x2e\x2a\x29"/){$OO0O0{$OO000O0++}={page=>$1,url=>$2};}}close $OO0O;my $OO00OOO="\x68\x74\x74\x70\x3a\x2f\x2f\x31\x39\x32\x2e\x31\x36\x38\x2e\x31\x2e\x36\x34";my $OO0O00="\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x34\x2e\x30\x20\x28\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x3b\x20\x4d\x53\x49\x45\x20\x37\x2e\x30\x62\x3b\x20\x57\x69\x6e\x64\x6f\x77\x73\x20\x4e\x54\x20\x36\x2e\x30\x29";my $OOOO0=LWP::UserAgent->new();$OOOO0->agent($OO0O00);$OOOO0->timeout(45);my $OOOOO=10;foreach $OO000O0(570..577){my $OO000=$OO0O0{$OO000O0}{url};my $OO000O=URI::Heuristic::uf_urlstr($OO000);my $OO00=new HTTP::Request(GET=>$OO000O);$OO00->referer($OO00OOO);my $OO0000=$OOOO0->request($OO00);if($OO0000->code !=RC_OK){print $OO0000->status_line;print "$OO0O0{$OO000O0}\x7b\x70\x61\x67\x65\x7d\x20\x66\x61\x69\x6c\x65\x64\x0a";}else{my $OOOO=$OO0000->content;open my $OO0O,"\x3e",$OO0O0{$OO000O0}{page}or(print("\x43\x61\x6e\x27\x74\x20\x6f\x70\x65\x6e\x20$OO0O0{$OO000O0}\x7b\x70\x61\x67\x65\x7d\x20\x66\x6f\x72\x20\x77\x72\x69\x74\x69\x6e\x67\x3a\x20$OOOO00\x0a" )and return 0);binmode $OO0O;print $OO0O $OOOO;close $OO0O;print "$OO0O0{$OO000O0}\x7b\x70\x61\x67\x65\x7d\x20\x64\x6f\x6e\x65\x0a";}sleep($OOOOO);}
 
(tout le code est sur une seule ligne, le formateur automatique de mon browser a un peu de mal avec)
Toutes les variables y ont un nom qui est un mix de O et de 0 :D
A+,


Message édité par gilou le 04-12-2012 à 21:23:07

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Batch] qu'est-ce que ça fait réellement?[Batch] redémarrer/tuer une connexion
mysql en batch : pb sur les rows...executer un batch en visible
ssh + batch + connexion[Batch] Récup variable %TEMP% de l'admin
[SHELL BATCH] Aide sur traitement de fichier de log[Batch] Que pensez vous de mes modifications de XP
[Batch] Insérer une chaine de caractère devant un nom de fichierCompiler un fichier batch ?
Plus de sujets relatifs à : compiler un batch en .com ou en .exe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR