Portál AbcLinuxu, 13. května 2025 03:18
Pěkný den všem.
Udělal jsem script.sh v shellu a rád bych ho dal na internet, ale nepřeji si, aby ho někdo upravoval. Vím, je to možná nemožné, stačí, aby ho nezvládly upravit alespoň neprofesionálové. Mám namysli nějaké kompilace nebo zkrátka jen zakódování obsahu scriptu. Tak, aby obyčejný člověk nemohl přečíst jak je script dělaný natož ho upravit. Počítám s tím, že zkušenější ajťáci nebo někde někdo to dokáži nějakým způsobem rozšifrovat a upravit, to mě ani tak netrápí.
Na internetu jsem našel různé base64 bash encodery, ale nepřišel jsem na to, co pak s tím hashem, dával jsem ho do echa různě, ale stále linux debian viděl ten hash prostě jako hash a ne jako shellový script.
Díky předem za váš.
Řešení dotazu:
Nemusím ti vykládat k čemu mi to bude že? Slušně jsem požádal o pomoc, místo zbytečných keců jsi měl pomoci. Ano jsem amatér a co takový amatér asitak umí udělat za script? Myslíš, že by amatérům scriptík byl hodný prodeje? Prosím, kdo mi nechcete pomoci, nespamujte mi tu. Děkuji za pochopení.
Řekl jsem co chci a tak přesně to potřebuji.
Možnosti jsou dvě buď script.sh převest třeba na script.deb ( jiný formát, který nebude běžně čitelný )
Druhá možnost je zakódovat obsah script.sh
Amatéra za urážku neberu, však jsem amatér. ;)
Promiň, že jsem po tobě vyjel, ale napsal jsem jak se věci mají a detaily, které ze mě taháš opravdu věcné nejsou.
Chci pouze, aby když si můj script někdo stáhne, aby neotevřel v textovém editoru a neviděl script.
Jo ale když otevřeš script.sh vidíš zdrojový kód, když otevřeš script.deb uvidíš ).f§ů.ů.§d.s)g.fs)g.)sfa.g)sfa.g§)ds-ag§).sad.g)§sad.g)§sad.g§).saf)§.v-sv1fsa981v95sad1v59sdav.sadů.v§)sad.v§)
:D
Nechápu tvoji odpověď a jak souvisí s tím, že chci znečitelnit obsah souboru script.sh. Obsah bude třeba: f9s5afdsa1f8dsa1f51dsa8f1dsa5f1sad1f89 Ale debian ho po spuštění uvidí jako: mkdir /var/www/fotky
Ale teraz k veci, skus sa poobzerat po shc. Teraz som skusal prekonvertovat jednoduchy script a funguje to.
shc -v -r -T -f script.sh
Půl hodinky jsem se s tím zlobil a nepovedlo se mi to rozchodit, myslel jsi to dobře, moc ti děkuji. Někdo jiný už mi poradil gzexe, které mi za 200kb script.sh udělal 18kb script.sh a v něm
"#!/bin/bash skip=44 tab=' ' nl=' ' IFS=" $tab$nl" umask=`umask` umask 77 gztmpdir= trap 'res=$? test -n "$gztmpdir" && rm -fr "$gztmpdir" (exit $res); exit $res ' 0 1 2 3 5 10 13 15 if type mktemp >/dev/null 2>&1; then gztmpdir=`mktemp -dt` else gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir fi || { (exit 127); exit 127; } gztmp=$gztmpdir/$0 case $0 in -* | */*' ') mkdir -p "$gztmp" && rm -r "$gztmp";; */*) gztmp=$gztmpdir/`basename "$0"`;; esac || { (exit 127); exit 127; } case `echo X | tail -n +1 2>/dev/null` in X) tail_n=-n;; *) tail_n=;; esac if tail $tail_n +$skip <"$0" | gzip -cd > "$gztmp"; then umask $umask chmod 700 "$gztmp" (sleep 5; rm -fr "$gztmpdir") 2>/dev/null & "$gztmp" ${1+"$@"}; res=$? else echo >&2 "Cannot decompress $0" (exit 127); res=127 fi; exit $res ?‹??Ę!qR??script.sh KMÎČWPňHÍÉÉW(Ď/ĘIQT? $±şŚ? "
nicméně funguje to stejně, jakoby tam bylo : echo " Hello wordl!"
#!/bin/sh shellcode='\x65\x63\x68\x6f\x20\x53\x68\x65\x6c\x6c\x20\x63\x6f\x64\x65\x2e\x0a' `printf $shellcode`Generovano pomoci:
echo 'echo Shell code.' | xxd -p - | sed 's/\(..\)/\\x\1/g'
gzexe -d
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.