Merhaba Arkadaşlar,
Yaptığım .sh uzantılı dosyayı derlemek istiyorum yani okunmayacak hale getirmek istiyorum benim bildiğim ( shc ) uygulaması var derliyo tamam güzel ama sadece derlediğim sunucuda çalışıyor. Başka bir sunucuya aktardığımda çalışmıyor. Location changed,, veya Saçma karekterlerde hatalar veriyor. Şimdiden Teşekkürler arkadaşlar.
shc --help
shc: invalid option -- '-'
shc parse: Unknown option
shc Version 3.9.5, Generic Shell Script Compiler
shc GNU GPL Version 3 Md Jahidul Hamid <jahidulhamid@yahoo.com>
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-o outfile] [-rvDUCABh] -f script
-e %s Expiration date in dd/mm/yyyy format [none]
-m %s Message to display upon expiration ["Please contact your provider"]
-f %s File name of the script to compile
-i %s Inline option for the shell interpreter i.e: -e
-x %s eXec command, as a printf format i.e: exec('%s',@ARGV);
-l %s Last shell option i.e: --
-o %s output filename
-r Relax security. Make a redistributable binary
-v Verbose compilation
-D Switch ON debug exec calls [OFF]
-U Make binary untraceable [no]
-C Display license and exit
-A Display abstract and exit
-B Compile for busybox
-h Display help and exit
Environment variables used:
Name Default Usage
CC cc C compiler command
CFLAGS <none> C compiler flags
Please consult the shc man page.
-r Relax security. Make a redistributable binary
Ne tür bir kodu saklamak istediğin sana kalmış fakat bu yöntemle derlenmiş kodun tamamen okunamaz olmayacağını bilmeni isterim. Sadece okumak isteyen için, işi biraz zora koşmuş olursun.
Alıntı yapılan: mhmtkrktr - 08 Haziran 2017 - 22:12:40
shc --help
shc: invalid option -- '-'
shc parse: Unknown option
shc Version 3.9.5, Generic Shell Script Compiler
shc GNU GPL Version 3 Md Jahidul Hamid <jahidulhamid@yahoo.com>
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-o outfile] [-rvDUCABh] -f script
-e %s Expiration date in dd/mm/yyyy format [none]
-m %s Message to display upon expiration ["Please contact your provider"]
-f %s File name of the script to compile
-i %s Inline option for the shell interpreter i.e: -e
-x %s eXec command, as a printf format i.e: exec('%s',@ARGV);
-l %s Last shell option i.e: --
-o %s output filename
-r Relax security. Make a redistributable binary
-v Verbose compilation
-D Switch ON debug exec calls [OFF]
-U Make binary untraceable [no]
-C Display license and exit
-A Display abstract and exit
-B Compile for busybox
-h Display help and exit
Environment variables used:
Name Default Usage
CC cc C compiler command
CFLAGS <none> C compiler flags
Please consult the shc man page.
-r Relax security. Make a redistributable binary
Ne tür bir kodu saklamak istediğin sana kalmış fakat bu yöntemle derlenmiş kodun tamamen okunamaz olmayacağını bilmeni isterim. Sadece okumak isteyen için, işi biraz zora koşmuş olursun.
Biliyorum dostum unshc ile geri getirebiliyolar fakat .sh yerine ayarlarıyla oynamasınlar diye derlemek istiyorum. Peki * bir şey daha sorucam iznin olursa örnek ./test.sh.x çalıştırınca sudo komutunu almadığım için
./test.sh.x: Operation not permitted
Killed
gibi hata veriyor bunu sudo komutunu almadan çalıştırabilirmiyiz?
Oturumu yönetici (root) olarak açmadığın sürece, yetki istenen yerde her şekilde yetki vermeni isteyecektir. İçeriği ve amacı bilmeden yorumlaması zor.
Örneğin belirli komutlar için sudoers içerisinde parolasız çalışsın (NOPASSWD) yetkisi tanımlanabilir. Betik gibi dosyalar içinde olabileceği söyleniyor fakat ben o özelliği kullanamamıştım. https://www.sudo.ws/man/1.8.15/sudoers.man.html (https://www.sudo.ws/man/1.8.15/sudoers.man.html)
Diğer taraftan sistem belirli bir şifreyi kullanıyorsa (ki önceki soru farklı kullanıcılar olduğunu gösteriyordu) şifre, yetki istenen yerin başına farklı bir yerden çağırılabilir.
sudo -kSp '' komut <<<$(echo şifre)
# veya
sudo -kSp '' komut <<<$(cat /şifrenin_tutulduğu_dosya)
# ve de daha genel olsun dersen
echo şifre | sudo -S echo
Bu durum da, aksi belirtilmediği sürece (varsayılan) 5 dakika boyunca, yetki betik içerisinde ki tüm komutlar için verilmiş olur.
Diğer bir çözüm şifreyi kullanıcıya gui üzerinden sormak. Bunun için örneğin; dialog, xdialog, gtkdialog, zenity, yad veya kullanılan sistemin kendi notifikasyonu kullanılabilir.
dialog --title " Kullanıcı Şifrenizi Giriniz" --clear --insecure --passwordbox "" 7 32
Kullanım amacını bilmeden fikir yürütmek zor ;-)