[source] gerar executavel bash e batch (b2x)

Iniciado por kodo no kami, Julho 18, 2017, 17:55:48 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

kodo no kami

e ae galera eu tinha codado essa source a uns meses, é um codigo bem simples que gera executavel de um batch script do windows ou do bash script do linux (não necessariamente o bash pode ser outro terminal linux tambem), para começar a gente baixa ele no github (podemos baixar o binario la em bin/b2x.zip ou source em src e compilar, no caso da compilação precisamos do compilador gcc e do nasm)

github b2x

http://i63.tinypic.com/25fn9mh.png

no meu caso como estou no linux e vou clonar tudo com o comando git

git clone https://github.com/hackerfts315/b2x.git

http://i63.tinypic.com/dqnes.jpg

depois de baixar temos o diretorio bin onde tem dois arquivos zip, o primeiro é o b2x.zip que tem dentro 4 arquivos sendo eles b2x.exe que seria o executavel do windows ja compilado, b2x.out seria o executavel do linux ja compilado, pe.dat seria o binario base que vai ser gerado do script e por fim elf.dat que é o binario base que vai gerar o executavel para o script do linux, no outro zip o dat.zip tem 2 arquivos o elf.dat e o pe.dat para não precisar compilar eles caso queira compilar apenas o executavel

http://i66.tinypic.com/2h8a2ib.jpg

no diretorio src temos todo codigo fonte do programa b2x.c e b2x.h gera o nosso executavel b2x (b2x.exe ou b2x.out dependendo da plataforma que voce compilar), elf.asm e pe.asm gera o elf.dat e  pe.dat, por fim temos o arquivo Makefile que facilita na compilação

http://i63.tinypic.com/akd535.jpg

para a gente compilar apenas usamos o comando make que sera gerado o executavel da nossa plataforma (necessario o gcc e ele deve esta nas variaveis de ambiente)

make

para a gente gerar o arquivo elf.dat é necessario que a gente tenha o nasm e que a gente esteja no sistema linux (nao é gerado o elf.dat no windows), para compilar e gerar ele usamos o comando make linux

make linux

para a gente gerar o pe.dat usamos o comando make windows, tambem é necessario que tenha o nasm e que a gente esteja no windows

make windows

podemos gerar elf.dat no windows ou pe.dat no linux porem precisamos do gcc compilando para a outra plataforma (cross compile), outra alternativa é instalar o gcc do windows no wine e compilar por ele ( caso não queira ter o trabalho de compilar voce pode baixar o dat.zip que tem os dois)

http://i66.tinypic.com/2mgma6b.jpg

com o nosso executavel e o dat da nossa plataforma basta executar o programa b2x pelo terminal, passar como argumento a plataforma que vamos gerar o script (windows ou linux ~ necessario que tenha .dat dela), o script que vamos criar o executavel e por fim o arquivo de saida, para testar vou gerar o executavel do seguinte script

#!/bin/sh
#isso e um comentario
echo testando 123
echo sei la
mkdir eof
cd eof
echo koneko kawaii > waifu.txt
cat waifu.txt


./b2x linux kodo.sh saida.out

http://i66.tinypic.com/2cdzyvc.jpg

no windows seria mesma coisa mudando apenas o comando "linux" para "windows" (nao cheguei a testar de fato em um windows e sim no wine então nao sei se tem algum bug)

b2x.exe windows kodo.bat kami.exe

outra coisa que tenho que citar que o executavel gerado é bem estatico chega a ser quase uma gambiarra, nao foi gerado toda a estrutura do executavel em runtime como deveria ser em uma compilação e sim usa um executavel como base (ta eu sou preguiçoso eu ja sei disso kkk), mesmo assim ta valendo eu acho ^^

by kodo no kami