
Na última parte, nos reunimos com os comandos básicos do Termux, configuramos uma conexão SSH com um PC, aprendemos a criar alias e instalamos vários utilitários úteis. Desta vez, precisamos dar um passo adiante, você e eu:
- Aprenda sobre o Termux: API
- instale o Python e o nano e também escreva "Olá, mundo!" em python
- aprendemos sobre scripts bash e escrevemos um script usando o Termux: API
- usando um script bash, Termux: API e Python, escreveremos um programa simples
Como agora entendemos o que os comandos de entrada fazem, do próximo passo não descreverei cada ação com tanto detalhe, mas onde houver dificuldades, explicarei definitivamente.
Costumo usar alias, portanto, as abreviações usadas nesta parte são mostradas aqui:
alias updg='apt update && apt upgrade' alias py='python'
O plano está pronto, você pode começar! E, claro, não se esqueça da “Guia Mágica” ( Veja a Parte 1 ).
Etapa 4
Mergulhando na toca do coelho Termux: API
API quanto nesta palavra para o coração do codificador mesclado
Se você não tocou no tópico da Termux: API, todas as nossas etapas podem ser reduzidas a uma simples recontagem de alguns folhetos, como o Linux for Dummies, como foi corretamente observado nos comentários da primeira parte.
Primeiro, instale a Termux: API no Google Play Market (depois que não for necessário reiniciar o Termux):

Em seguida, precisamos instalar o pacote da API no console do Termux:
updg
Para experimentos, uso o Android 5.1.1. Para os proprietários do Android 7, preciso "proteger" o Termux: API, acessando Configurações> Aplicativos protegidos, caso contrário, as chamadas de API, como o termux-battery-status
, serão termux-battery-status
. (Veja o wiki do projeto )
Agora, ele analisa de perto os recursos adquiridos. A descrição mais recente e detalhada do Termux: API pode ser encontrada no wiki do projeto . Vou tentar escolher o mais visual e interessante, o que me permitirá ter um trabalho independente no futuro.
Alguns exemplos de Termux: API
- status-da-bateria-termux
Retorna o status da bateria

- termux-brightness
Define o brilho da tela de 0 a 255

- brinde termux
Mostra uma notificação pop-up temporária

- tocha termux
Acende uma lanterna

- termux-wifi-scaninfo
Retorna informações sobre a última verificação de redes Wi-Fi

É fácil ver que os valores retornados são cadeias de caracteres, dicionários, dicionários, em geral, os tipos de dados com os quais o Python funciona muito bem; portanto, o próximo passo é instalá-lo.
Etapa 5
Instale o Python e o nano
Para instalar o Python, escrevemos no terminal:
updg apt install python apt install python2
Agora, temos 2 e 3 Python instalados.
Durante o trabalho neste artigo, descobri outro editor de texto nano que mais gostei do que o vim, vamos instalá-lo:
apt install nano
Usá-lo é mais fácil do que o vim, e o nano possui uma interface mais amigável. Em um dispositivo Android, o vim é ainda mais conveniente.
HelloWorld em Python no Termux
Em geral, você poderia ficar sem esse item, mas colocar o Python no Termux e não escrever o HelloWorld, na minha opinião, de maneiras ruins.
Meu objetivo não é ensinar Python a ninguém, para quem não conhece pode simplesmente copiar o código (ou começar a aprender por conta própria, há literatura suficiente), e quem conhece pode fazer isso sozinho. E mostrarei "silenciosamente" uma maneira de inserir texto no terminal sem um editor.
cat >hello-world.py

Se durante o processo de entrada você não notou um erro e já pressionou Enter, não poderá ir para a linha acima. Para fazer isso, termine a entrada pressionando Ctrl + D (geralmente você pode finalizar Ctrl + Z) e repetir tudo desde o início. Como usamos '>', o arquivo será completamente reescrito. Por esse motivo, não recomendo usar esse método de entrada se você não tiver certeza de que escreverá o código imediatamente sem erros.
Etapa 6
Scripts Bash
Os scripts Bash são uma ótima maneira de automatizar o trabalho com o terminal. O script é um arquivo com a extensão .sh (a extensão é opcional) contendo um conjunto de comandos do terminal, alguns dos quais já estudamos. Aqui está uma lista da maioria dos comandos , tudo deve funcionar, mas observe que esta é uma lista para Linux "adulto", e não para o Termux, mas isso é ótimo para scripts bash .
Usando scripts, você pode automatizar quase todas as ações monótonas. Vamos escrever o script bash mais simples que exibe o valor da variável que ele criou; usarei o gato novamente, você pode usar um editor de texto normal e aqueles que desejam se treinar podem usar o eco.
cat >test.sh export str=", !"

Uma pessoa gentil observou com razão que o comando de
export
é supérfluo se a variável for usada no mesmo script, pois levará a variável para o ambiente, ou seja, torne-a acessível fora do script, ocupando memória extra. Assim, depois de executar o
test.sh
podemos acessar a variável
$str
na linha de comando.
Script Bash com Termux: API
Vamos escrever algo diferente dos notórios HelloWorlds, mas igualmente inútil. Nosso script será:
- executar a solicitação da API termux-battery-status
- salve os dados recebidos no arquivo test.txt
- exibir dados de um arquivo na tela
- execute o programa hello-world.py escrito anteriormente
- escreva os dados recebidos do programa no arquivo test.txt
- exibir dados de um arquivo na tela
- transferir dados do arquivo para a área de transferência
- exibir o conteúdo da área de transferência
- exibir uma mensagem pop-up com dados da área de transferência
Primeiro, crie uma pasta para o trabalho e copie hello-world.py para lá como test.py, crie os arquivos test.sh e test.txt nesta pasta:
mkdir bashscript cat hello-world.py >> bashscript/test.py cd bashscript/ touch test.sh test.txt
Agora, de qualquer maneira conveniente, escrevemos o script no arquivo test.sh:
Agora, estando na pasta bashscript, escrevemos ./test.sh que observamos no terminal no dispositivo Android:

Então, escrevemos o script bash planejado. Você pode diluir com a saída para o console de informações sobre a execução de cada ação (usando eco), deixarei isso para os leitores.
Etapa 7
Vamos fazer algo útil
Relativamente útil
Formulamos os termos de referência
Após o início, o aplicativo deve colocar uma linha aleatória do arquivo na área de transferência e notificar sobre isso com uma mensagem pop-up.
Tomaremos como base um script bash, extrairemos uma linha aleatória de um arquivo usando uma rotina Python. Vamos fazer um plano de trabalho de script:
- Executar sub-rotina
- Transferir o resultado da rotina para a área de transferência
- Exibir mensagem pop-up
Nós decidiremos os nomes dos arquivos de diretório e aplicativo:
- pasta rndstr no diretório inicial
- source - o arquivo do qual pegaremos as linhas
- rndstr.py - uma rotina que gera para o console uma linha aleatória do arquivo de origem
- rndstr.sh - arquivo de script
Criamos o diretório do aplicativo e, depois de entrar nele, criamos arquivos lá.
Os dois primeiros pontos do plano de script podem ser combinados com um pipeline, como resultado, usando Termux: API, obtemos:
No arquivo de origem, você pode colocar qualquer texto logicamente dividido em linhas, decidi colocar aforismos:
Arquivo de bolsa de listagem . . . , . . . . . . . . , , . . , . . , . . , . . . . , . . , . . - , . , . , , . . , . . , . . , . . , . , . . . . . , . . - . , . . . . , , . . . , , , . . ! !
Resta criar uma rotina que extrai uma linha aleatória do arquivo de origem.
Vamos descrever o algoritmo do subprograma:
- Abra o arquivo de origem
- Contar o número de linhas em um arquivo aberto
- Fechamos o arquivo (não há nada para mantê-lo aberto demais)
- Gere um número inteiro aleatório dentro do número de linhas do arquivo de origem
- Abra o arquivo de origem
- Imprimimos uma linha sob o número do número gerado
- Feche o arquivo
Implementamos o algoritmo em Python (escrevo em Python 3.7):
import random
Depois que os arquivos são criados e gravados, você precisa conceder direitos de execução ao arquivo rndstr.sh
e criar um alias para inicialização rápida.
alias rnst="~/rndstr/rndstr.sh"
Agora, entrando rnst
no terminal rnst
obtemos um aforismo aleatório na área de transferência, que, por exemplo, pode ser usado em correspondência.
Então, escrevemos pelo menos algo útil. Relativamente útil.
PS
Na última etapa, deliberadamente não dei screenshots e não analisei detalhadamente algumas das ações, escrevendo apenas o conteúdo dos arquivos para que os leitores tivessem a oportunidade de trabalhar por conta própria.
Inicialmente, planejei mostrar como usar o nmap, sqlmap nesta série, mas sem mim já existem muitos artigos sobre esse tópico. Se você quiser que eu continue "Termux passo a passo", há uma pesquisa abaixo e nos comentários você pode sugerir o que mais escrever.