draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 18 janv. 2007 à 17:00
Salut
Interessante votre discution ^^
Quels sont les api qui permettent de lire et d'agir sur ces structures ? J'ai tapé le nom des structures dans google et y a vraiment rien :(
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 18 janv. 2007 à 14:19
Si on peut utiliser les structures PE_FILE_HEADER + PE_OTIONAL_HEADER et tester/changer uniquement le flag PE_OTIONAL_HEADER.SubSystem. Passer de Windows GUI à Windows CUI (de 1 à 2)
@+
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 18 janv. 2007 à 10:36
Exact.... j'ai lu trop vite :$
y'a pas un moyen plus sur que d'attendre de tomber sur un 02 :S
je veux dire, si notre appli est deja en console, un user peu dégourdit pourrait vouloir en refaire une console, et modifier un autre 02 en 03 ...
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 18 janv. 2007 à 10:07
C'est justement pour ça qu'il y a Do Until ;p
@+
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 18 janv. 2007 à 09:24
Gaffe a ton :
Seek #1, 200
EB, c'est pas toujours 200....
je viens de générer un exe 'normal', et ce serait, pour celui là, 276....
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 18 janv. 2007 à 09:09
Merci EB, je n'en demandais pas tant ^^
cela dit, j'étais pleinement convaincu que tu savait quel parametre envoyer....
comme d'hab, parfait :p
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 18 janv. 2007 à 07:58
Oui c'est possible de changer les commandes passé a link le probleme c'est qu'il faut tout un mecanisme de crochetage ou bien un deuxieme executable qui appelera link c'est un peu lourd. Pour ma part je prefere largement un petit clic vite fait bien fait.
Mais c'est sur que tu peux faire ça dans ton addin suffit d'ajouter "/subsystem:console" à la chaine passé a link.exe
@+
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 18 janv. 2007 à 07:45
Pour les Apis, ok...
pour la transformation, je me dit même qu'un changement des settings passé en ligne de commande à Link pourrait suffir....
ton code est plus court que celui de MkConsole, pour sur...!!!
dire qu'il s'agit de changer juste un octet qui traine dans l'Header.... le code que j'ai pris semble faire bien plus... et beh !
j'ai pas cherché a entrer dans les détails, remarques, j'ai juste intégré ca dans un addIn, histoire de garder l'outil sous le coude :p
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 18 janv. 2007 à 00:27
Bon si je peux aider pour faire un programme console il suffit simplement d'utiliser les api genre ReadConsoleInput et WriteConsole pour ce qui est de la transofmation c'est encore plus simple :
- Tu compiles normallement ton exe
- Tu crée un petit projet vb avec les lignes suivante :
Sub Main()
Dim mData As Byte
Open Command$ For Binary Acces Read Write As #1
Seek #1, 200
Do Until EOF(1)
Get #1, , mData
If (mData = 2) Then
mData = 3
Put #1, Seek(1) - 1, mData
Exit Do
End If
Loop
Close #1
MsgBox "Fichier modifié avec succès", vbInformation
End Sub
- Puis Tu fait Shell "MonPetitProjet.exe MonProjetAConvertir.exe"
voila c'est fait ça marche en mode console
(tu peux mêmùe ajouter ça dans le shell pour le convertir en un clic, c'est ce que j'ai fait pour ma part)
@+
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 17 janv. 2007 à 19:16
18 janv. 2007 à 18:47
18 janv. 2007 à 17:34
Ce n'est pas très digest mais tout y est
@+
18 janv. 2007 à 17:00
Interessante votre discution ^^
Quels sont les api qui permettent de lire et d'agir sur ces structures ? J'ai tapé le nom des structures dans google et y a vraiment rien :(
18 janv. 2007 à 14:19
@+
18 janv. 2007 à 10:36
y'a pas un moyen plus sur que d'attendre de tomber sur un 02 :S
je veux dire, si notre appli est deja en console, un user peu dégourdit pourrait vouloir en refaire une console, et modifier un autre 02 en 03 ...
18 janv. 2007 à 10:07
@+
18 janv. 2007 à 09:24
Seek #1, 200
EB, c'est pas toujours 200....
je viens de générer un exe 'normal', et ce serait, pour celui là, 276....
18 janv. 2007 à 09:09
cela dit, j'étais pleinement convaincu que tu savait quel parametre envoyer....
comme d'hab, parfait :p
18 janv. 2007 à 07:58
Mais c'est sur que tu peux faire ça dans ton addin suffit d'ajouter "/subsystem:console" à la chaine passé a link.exe
@+
18 janv. 2007 à 07:45
pour la transformation, je me dit même qu'un changement des settings passé en ligne de commande à Link pourrait suffir....
ton code est plus court que celui de MkConsole, pour sur...!!!
dire qu'il s'agit de changer juste un octet qui traine dans l'Header.... le code que j'ai pris semble faire bien plus... et beh !
j'ai pas cherché a entrer dans les détails, remarques, j'ai juste intégré ca dans un addIn, histoire de garder l'outil sous le coude :p
18 janv. 2007 à 00:27
- Tu compiles normallement ton exe
- Tu crée un petit projet vb avec les lignes suivante :
Sub Main()
Dim mData As Byte
Open Command$ For Binary Acces Read Write As #1
Seek #1, 200
Do Until EOF(1)
Get #1, , mData
If (mData = 2) Then
mData = 3
Put #1, Seek(1) - 1, mData
Exit Do
End If
Loop
Close #1
MsgBox "Fichier modifié avec succès", vbInformation
End Sub
- Puis Tu fait Shell "MonPetitProjet.exe MonProjetAConvertir.exe"
voila c'est fait ça marche en mode console
(tu peux mêmùe ajouter ça dans le shell pour le convertir en un clic, c'est ce que j'ai fait pour ma part)
@+
17 janv. 2007 à 19:16
Vraiment cool comme addin :)
++