Il y a quelque temps, j'ai écrit des scripts Bash pour mon école. Je pensais qu'il serait très intelligent de les "protéger", alors je les ai compilées avec Y a-t-il un moyen de récupérer les scripts à partir des binaires générés par SHC code>? J'ai regardé dans le code source de SHC code> dans un fichier binaire. Quelques semaines plus tard, j'ai perdu les scripts non pondérés et maintenant je n'ai que mes binaires. P>
SHC code> pour trouver un moyen de décompiler les binaires sans chance. P>
4 Réponses :
Juste une suppose .. Vous pouvez enregistrer des appels système en utilisant par exemple ou, vous pouvez demander auteur de shc fort> ( http://www.datsi.fi.upm.es/~frosal/sources/shc.html ). P>
ps p>
La rumeur a que quelqu'un a écrit Deshc ( http://www.linuxjournal.com/article/ 8256 ) P>
Utiliser SHC pour compiler vos scripts ne les protège pas. Vous n'obtenez pas plus de sécurité de cette façon. Le binaire compilé SHC décrypte et charge le script en mémoire lors du démarrage. Vous pourriez alors, juste après que vous ayez commencé le binaire, juste segfault-le et récupérez votre script de la CoreDump.
Voici un petit script nommé Test.sh: P>
... 4.0.37(2)-release BASH_VERSINFO BASH_VERSINFO release i686-pc-linux-gnu BASH_EXECUTION_STRING BASH_EXECUTION_STRING #! /bin/bash echo "starting script and doing stuff" sleep 1 echo "finished doing stuff" 1000 EUID EUID 1000 ...
Gardez-le simple! :) p>
Pour récupérer les scripts à partir des fichiers binaires générés à la SHC, enregistrez simplement la copie de l'exécutable du système SH d'origine, puis renommez le système de CAT exécutable sur Sh et exécutez le binaire généré SHC :) Donc, vous verrez la source déchiffrée du script shell dans la console. P>
Soyez prudent avec le remplacement du système sh, beaucoup peut aller mal ... vous voudrez peut-être faire cela dans un environnement chroot
Pourriez-vous élaborer cela plus
UNSHC, un script automatique à récupérer * .sh.x Fichier crypté crypté avec SHC Tool a été publié sur Github ici .
UNSHC est un outil permettant d'inverser le cryptage de tout script SHC crypté * .sh.x. Il est basé sur l'extraction automatique de toutes les données cryptographiques incorporées dans le * .sh.x en l'inversant automaticaly. Avec ces données cryptographiques (utilisées au cryptage), l'outil régénère le fichier * .sh initial en clairexuel. P>
Comment utiliser UNSHC: P>
[root@server:~/unshc]$ ./unshc.sh -h _ _ _____ _ _ | | | | / ___| | | | | | | |_ __ \ `--.| |_| | ___ | | | | '_ \ `--. \ _ |/ __| | |_| | | | /\__/ / | | | (__ \___/|_| |_\____/\_| |_/\___| --- UnSHc - The shc decrypter. --- Version: 0.6 ------------------------------ UnSHc is used to decrypt script encrypted with SHc Original idea from Luiz Octavio Duarte (LOD) Updated and modernized by Yann CAM - SHc : [http://www.datsi.fi.upm.es/~frosal/] - UnSHc : [https://www.asafety.fr/unshc-the-shc-decrypter/] ------------------------------ [*] Usage : ./unshc.sh [OPTIONS] <file.sh.x> -h | --help : print this help message -a OFFSET | --arc4 OFFSET : specify the arc4() offset arbitrarily (without 0x prefix) -d DUMPFILE | --dumpfile DUMPFILE : provide an object dump file (objdump -D script.sh.x > DUMPFILE) -s STRFILE | --stringfile STRFILE : provide a string dump file (objdump -s script.sh.x > STRFILE) -o OUTFILE | --outputfile OUTFILE : indicate the output file name [*] e.g : ./unshc.sh script.sh.x ./unshc.sh script.sh.x -o script_decrypted.sh ./unshc.sh script.sh.x -a 400f9b ./unshc.sh script.sh.x -d /tmp/dumpfile -s /tmp/strfile ./unshc.sh script.sh.x -a 400f9b -d /tmp/dumpfile -s /tmp/strfile -o script_decrypted.sh
Un lien vers une solution potentielle est toujours la bienvenue, mais s'il vous plaît
Considérant que c'est le site anglais unique, un lien vers l'information disponible uniquement en français semble inapproprié.
J'espère que vous apprendrez votre leçon et commencez à utiliser un système de contrôle de la version! (Git est un excellent)