shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Criar executável a partir de script...


From: Eri Ramos Bastos
Subject: Re: [shell-script] Criar executável a partir de script...
Date: Thu, 15 Feb 2018 22:53:01 +0000

Desculpem ressuscitar essa thread antiga, mas recentemente achei uma biblioteca interessante para golang e hoje resolvi escrever uma prova-de-conceito.
Espero que seja útil para alguém:

https://github.com/ebastos/binshell/



On Tue, 26 Sep 2017 at 17:12 Fernando Mercês address@hidden [shell-script] <address@hidden> wrote:


O shc é o cara pra isso, mas tem pelo menos duas abordagens aí:

1. Escrever um parser que vai gerar código de uma linguagem compilada (C por exemplo) a partir de shell. Isso seria o terror. rs
2. Passar o conteúdo de um script para o interpretador do shell, a partir de um compilado.

Na abordagem 2, um código embrionário seria:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {

char buff[] = "echo 3+3|bc\n" \
                 "for i in {1..5}; do" \
                 "   echo $i\n" \
                 "done\n" \
                 "pwd\n";

system(buff);

return 0;
}

Ao compilar e executar, você tem a seguinte saída:

$ gcc -o a a.c
$ ./a
6
1
2
3
4
5
/tmp

Funciona, mas tem maneiras melhores. Ao invés de usar um buffer de char, poderia ler de um arquivo (o script), ao invés de usar a system(), criar um pipe para o binário do bash com o a popen [1], etc. Ou simplesmente usar o shc. O.o

A necessidade é esconder o código do script? Ter mais performance? Qual a treta? rs

Abraço.

[1] http://man7.org/linux/man-pages/man3/popen.3.html


Att,

@MercesFernando
mentebinaria.com.br
---------------------------

2017-09-26 11:46 GMT-03:00 Gilberto Nunes address@hidden [shell-script] <address@hidden>:
 

Bom dia amigos

Eu ia perguntar aqui na lista como criar um executável binário, a partir de um shell...
Mas antes fiz uma pesquisa no google e achei isso:


Pode ajudar mais alguém... A propósito se alguém souber método diferente, compartilha aí

Abraço


---
Gilberto Ferreira

Consultor TI Linux | IaaS Proxmox, CloudStack, KVM | Zentyal Server | Zimbra Mail Server







reply via email to

[Prev in Thread] Current Thread [Next in Thread]