Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[R] La meilleure façon de masquer le code d'un fichier batch
Auteur Message
Répondre en citant
Message [R] La meilleure façon de masquer le code d'un fichier batch 
Salut Smile
J'ai trouvé une méthode qui peut masquer le contenu du code source dans un éditeur normal comme notepad ou bien notepad++

Best way to obfuscate a Batch File ?

Code:
@echo off
if "%~1"=="" exit /b
if /i "%~x1" neq ".bat" if /i "%~x1" neq ".cmd" exit /b
for /f %%i in ("certutil.exe") do if not exist "%%~$path:i" (
  echo CertUtil.exe not found.
  pause
  exit /b
)
>"temp.~b64" echo(//4mY2xzDQo=
certutil.exe -f -decode "temp.~b64" "%~n1___%~x1"
del "temp.~b64"
copy "%~n1___%~x1" /b + "%~1" /b


Faites glisser et déposer votre fichier.bat ou bien .cmd à masquer sur obfuscate.bat. Il crée un nouveau fichier batch avec 3 underscores ajoutés au nom. Essayez de l'ouvrir dans un éditeur de texte. Vous devriez voir n'importe quel type de caractères chinois.
Si vous l'ouvrez dans un éditeur HEX, vous verrez comment cela fonctionne - il prépare une marque de commande d'octet FF FE (qui permet d'analyser le code comme UTF-16 LE dans un éditeur de texte) + CLS pour supprimer le message d'erreur que cmd .exe lancera.

Maintenant; ma question est la suivante :
Comment re-obtenir le code original du code masqué ? par programmation bien sûr !
Merci !



Dernière édition par Hackoo le Lun 31 Juil 2017 - 17:03; édité 1 fois

______________________________________________________
Mes Contributions en Téléchargement
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [R] La meilleure façon de masquer le code d'un fichier batch 
Et bien, un petit programme en C !
Code:
[lang=c]#include <stdio.h>
#include <stdint.h>

int main(void)
{
   /* FF FE + &cls */
   uint8_t s[7];
   fread(s, 7, 1, stdin);
   
   size_t c;
   uint8_t b[512];
   
   while ((c = fread(b, 1, 512, stdin)))
      fwrite(b, 1, c, stdout);
   
   return 0;
}
https://share.riseup.net/#MbYnQu2DJ11m8qZMwbjvPA
Utilisation:
Code:
test < obfuscated > unobfuscated





______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [R] La meilleure façon de masquer le code d'un fichier batch 
Un petit BAT suffit :


Code:
@echo off

(for /f "skip=1 delims=" %%a in (%1) do echo %%a) > unobfuscated.bat


Okay



Dernière édition par sachadee le Lun 31 Juil 2017 - 21:18; édité 2 fois

______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [R] La meilleure façon de masquer le code d'un fichier batch 
Meci à vous deux Wink
J'ai fait ce petit batch et il marche aussi Okay
Code:
@echo off
if "%~1"=="" exit /b
if /i "%~x1" neq ".bat" if /i "%~x1" neq ".cmd" exit /b
if exist "%~n1___%~x1" del "%~n1___%~x1"
for /f "skip=1 delims=" %%L in ('CMD /U /C Type "%~1"') do (
   echo %%L
   echo %%L >>"%~n1___%~x1"
)
pause>nul





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] La meilleure façon de masquer le code d'un fichier batch 
Bonjour à tous,
Obfuscate.bat m'intéresse mais quand je l'ouvre il se ferme directement Crying or Very sad
Quelqu'un a une idée d'où viendrait le problème ?




Répondre en citant
Message [R] La meilleure façon de masquer le code d'un fichier batch 
Hackoo a écrit:
Il prépare une marque de commande d'octet FF FE (qui permet d'analyser le code comme UTF-16 LE dans un éditeur de texte) + CLS pour supprimer le message d'erreur que cmd .exe lancera

J'ai remarqué que powerbatch (oui je l'utilise c'est pratique pour les accents en batch mddr) qu'il l'ouvrait normalement :

On y voit bien les deux caractères FF FE qui fait que les éditeurs comme notepad++ sublime text ou autre l'ouvre avec l'encodage UTF-16.

Mais j'avais juste une question, l'encodage pour lire le batch comme le fait powerbatch est le quelle ? J'ai lu plusieurs fois OEM 850 mais j'en suis pas sûr car quand je j'ouvre un script "obusqué" avec notepad et que je sélectionne OEM 850 ça ne change rien x)


sachadee a écrit:
Un petit BAT suffit :
Code:
@echo off
(for /f "skip=1 delims=" %%a in (%1) do echo %%a) > unobfuscated.bat

Okay

Mddr juste à ne pas lire la première ligne du coup et réecrire le reste dans un fichier au propre ^^


arnaud4651 a écrit:
Bonjour à tous,
Obfuscate.bat m'intéresse mais quand je l'ouvre il se ferme directement Crying or Very sad
Quelqu'un a une idée d'où viendrait le problème ?

Salut, en fait si tu regarde le code si %~1 est video il se ferme. (2ème ligne du code, if "%~1"=="" exit /b)
Le script attend donc des arguments ou paramètres qu'on lui envoi au démarrage, soit là par exemple un fichier
Du coup prends un fichier .bat que tu veux obusquer, et fait le glisser et lache le sur l'icone d'obuscate.bat et il te générera un tonscript___.bat Wink

Ça marche aussi si tu fais dans cmd :
Code:
C:\WINDOWS\system32>cd \users\ed\desktop
C:\Users\ed\Desktop> Obfuscate.bat tonscript.bat

(Obuscate.bat étant sur mon bureau, et mon dossier utilisateur ed)




______________________________________________________
Visiter le site web du posteur
Message [R] La meilleure façon de masquer le code d'un fichier batch 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch