Termux mataki-mataki (Sashe na 2)

В kashi na karshe mun saba da ainihin umarni na Termux, saita haɗin SSH zuwa PC, mun koyi yadda ake ƙirƙira sunan mai suna kuma mun shigar da kayan aiki masu amfani da yawa. A wannan karon dole mu kara gaba, muna tare da ku:

  • koyi game da Termux: API
  • shigar Python da nano, kuma rubuta "Sannu, duniya!" in Python
  • koyi game da rubutun bash kuma rubuta rubutun ta amfani da Termux: API
  • ta amfani da rubutun bash, Termux: API da Python za mu rubuta wani tsari mai sauƙi

Tun da yanzu mun fahimci abin da umarnin shigarwa ke yi, to daga mataki na gaba ba zan bayyana kowane aiki a cikin irin wannan dalla-dalla ba, amma inda akwai matsaloli, tabbas zan yi bayani.

Ina amfani da laƙabi da yawa, don haka an nuna gajerun da aka yi amfani da su a wannan ɓangaren a nan:

alias updg='apt update && apt upgrade'
alias py='python'

An shirya shirin, za ku iya farawa! Kuma ba shakka, kar a manta game da "Magic Tab" (Duba Kashi na 1).

Mataki 4

Diving Down the Termux: API Rabbit Hole

API nawa ya haɗu a cikin wannan kalmar don zuciyar mai rikodin

Idan ba mu taɓa batun Termux: API ba, to, duk matakanmu za a iya rage su zuwa sauƙi mai sauƙi na wasu ƙasida kamar "Linux for Dummies", kamar yadda aka lura da kyau a cikin sharhin zuwa kashi na farko.

Da farko, shigar da Termux: API daga Kasuwar Google Play (ba ya cutar da sake farawa Termux daga baya):

Termux mataki-mataki (Sashe na 2)

Na gaba, muna buƙatar shigar da kunshin API a cikin na'urar wasan bidiyo na Termux:

updg # Не забываем про alias’ы
apt install termux-api

Don gwaji Ina amfani da Android 5.1.1, don masu Android 7 suna buƙatar "kare" Termux: API ta zuwa 'Settings'> 'Protected Apps', in ba haka ba API kira kamar termux-battery-status, zai rataya. (Cm. aikin wiki)

Yanzu yana da kyau a yi nazari sosai kan damar da aka samu. Ana iya samun sabon kuma mafi cikakken bayanin Termux: API a aikin wiki. Zan yi ƙoƙarin zaɓar mafi kyawun gani da ban sha'awa, wanda zai ba ni damar cika hannuna don aiki mai zaman kansa a nan gaba.

Wasu Termux: Misalan API

  • termux-baturi-halin
    Yana dawo da yanayin baturin
    Termux mataki-mataki (Sashe na 2)
  • termux-haske
    Yana saita hasken allo daga 0 zuwa 255
    Termux mataki-mataki (Sashe na 2)
  • termux-toast
    Yana nuna sanarwar toast na ɗan lokaci
    Termux mataki-mataki (Sashe na 2)
  • wutar lantarki
    Ya haɗa da hasken tocila
    Termux mataki-mataki (Sashe na 2)
  • termux-wifi-scaninfo
    Yana dawo da bayanai game da binciken ƙarshe na cibiyoyin sadarwar Wi-Fi
    Termux mataki-mataki (Sashe na 2)

Yana da sauƙin ganin cewa ƙimar dawowa sune kirtani, ƙamus, jerin ƙamus, gabaɗaya, nau'ikan bayanai waɗanda Python ke aiki da su sosai, don haka mataki na gaba shine saita shi.

Mataki 5

Sanya Python da nano

Don shigar da Python, rubuta a cikin tasha:

updg
apt install python
apt install python2

Yanzu muna da 2 da 3 Python shigar.

Yayin aiki akan labarin, na gano wani editan rubutun nano wanda na fi so fiye da vim, bari mu shigar da shi:

apt install nano

Yana da sauƙin amfani fiye da vim, kuma nano yana da ƙarin haɗin haɗin mai amfani. A kan na'urar Android, vim har yanzu ya fi dacewa.

HelloWorld a cikin Python a Termux

Gabaɗaya, yana yiwuwa a yi ba tare da wannan abu ba, amma sanya Python a cikin Termux kuma ba rubuta HelloWorld ba, a ganina, munanan ɗabi'a ne.

Ba na nufin koya wa kowa Python, don haka waɗanda ba su sani ba za su iya yin kwafin code ɗin kawai (ko su fara koyo da kansu, tunda akwai isassun adabi), waɗanda suka sani suna iya yin wani abu da kansu. Kuma zan "ƙarƙashin ɓoye" har yanzu ina nuna hanyar shigar da rubutu a cikin tashar ba tare da edita ba.

cat >hello-world.py     
# Если не указывать источник (напоминаю cat 1.txt > 2.txt)
# то cat будет брать данные из стандартного потока ввода,
# проще говоря вводимое с клавиатуры.

str = ‘Hello, world!’ # присваиваем переменной str значение "Hello, world!"
print (str) # выводим на экран значение из переменной str

# Ctrl + D закончить ввод и записать файл (hello-world.py)

py hello-world.py # запускаем файл (py это alias от python)

Termux mataki-mataki (Sashe na 2)

Idan baku lura da kuskure ba yayin aiwatar da shigarwa kuma an riga an danna Shigar, to ba za ku iya zuwa layin da ke sama ba, don yin wannan, ƙare shigarwar ta latsa Ctrl + D (zaku iya katse Ctrl + gabaɗaya). Z) kuma maimaita komai daga farkon. Tun da muka yi amfani da ''>' to za a sake rubuta fayil ɗin gaba ɗaya. Don haka, ban ba da shawarar yin amfani da wannan hanyar shigar ba sai dai idan kun tabbata cewa za ku rubuta lambar nan da nan ba tare da kurakurai ba.

Mataki 6

Rubutun bash

Rubutun Bash babbar hanya ce don sarrafa aikin tashar ku. Rubutun fayil ne tare da tsawo na .sh (tsarin na zaɓi ne) yana ɗauke da saitin umarni na ƙarshe, wasu waɗanda muka riga muka yi nazari. nan jerin mafi yawan umarni, duk abin da ya kamata ya yi aiki, amma lura cewa wannan jerin jerin "adult" Linux ne, ba Termux ba, amma kawai babban abu akan rubutun bash.

Tare da taimakon rubutun, zaku iya sarrafa sarrafa kusan duk ayyukan da ba su dace ba. Bari mu rubuta rubutun bash mafi sauƙi wanda ke nuna ƙimar daga madaidaicin da ya ƙirƙira, Zan sake amfani da cat, zaku iya amfani da editan rubutu na yau da kullun, kuma waɗanda musamman suke son horar da kansu na iya amfani da amsawa.

cat >test.sh

export str="Привет, Хабр!"
# export создает переменную str
# и присваивает ей значение "Привет, Хабр!"
# Не ставьте пробелы до и после ‘=’

echo $str # Для обращения к переменным перед ними ставится ‘$’

# Ctrl + D

# ./test.sh для запуска скрипта, но если это сделать сейчас то будет ошибка
# для избавления от ошибки нужно сделать файл test.sh исполняемым

chmod +x test.sh
# chmod изменяет права доступа (+ добавить / - убрать)
# ‘+x’ означает что мы делаем файл исполняемым

./test.sh # Запускаем выполнение нашего скрипта

Termux mataki-mataki (Sashe na 2)

Rubutun Bash tare da Termux: API

Bari mu rubuta wani abu daban da sanannen HelloWorlds, amma kamar mara amfani. Rubutun mu zai kasance:

  1. aiwatar da buƙatar API na termux-battery-status
  2. ajiye bayanan da aka karɓa zuwa gwajin fayil.txt
  3. buga bayanai daga fayil zuwa allo
  4. aiwatar da shirin hello-world.py da aka rubuta a baya
  5. rubuta bayanan da aka karɓa daga shirin zuwa gwajin fayil.txt
  6. buga bayanai daga fayil zuwa allo
  7. matsar da bayanai daga fayil zuwa allo
  8. nuna abubuwan da ke cikin allo
  9. nuna saƙon bugu tare da bayanai daga allon allo

Da farko, ƙirƙiri babban fayil don aiki kuma kwafi hello-world.py a can azaman test.py, ƙirƙirar fayilolin test.sh da test.txt a cikin wannan babban fayil:

mkdir bashscript

cat hello-world.py >> bashscript/test.py

cd bashscript/

touch test.sh test.txt # touch создает файлы

chmod +x test.sh

Yanzu, ta kowace hanya mai dacewa, rubuta rubutun zuwa fayil ɗin test.sh:

#!/bin/bash

# В начале каждого скрипта принято ставить #! (называется шебанг)
# после идет указание на шелл для которой написан скрипт

clear # очистим окно терминала

termux-battery-status > test.txt # пункты 1 и 2 из намеченного функционала

cat test.txt # пункт 3

python test.py > test.txt # пункт 4 и 5

cat test.txt # пункт 6

cat test.txt | termux-clipboard-set # пункт 7
# | это конвейер. переносит данные с выхода одного потока на вход другого

termux-clipboard-get # пункт 8

termux-clipboard-get | termux-toast # пункт 9

Yanzu, kasancewa a cikin babban fayil ɗin bashscript, muna rubutawa ./test.sh Mun lura a cikin tasha akan na'urar Android:

Termux mataki-mataki (Sashe na 2)

Don haka mun rubuta rubutun bash da aka tsara. Kuna iya tsoma shi tare da fitarwa zuwa na'ura mai ba da hanya tsakanin hanyoyin sadarwa na bayanai game da aiwatar da kowane aiki (ta amfani da echo), Zan bar wannan ga masu karatu.

Mataki 7

Mu yi wani abu mai amfani

Dangantaka mai amfani

Bari mu tsara sharuɗɗan tunani
Bayan ƙaddamarwa, aikace-aikacen ya kamata ya sanya layin bazuwar daga fayil ɗin akan allon allo kuma ya sanar da shi tare da saƙon tashi.

Za mu ɗauki rubutun bash a matsayin tushe, za mu fitar da layin bazuwar daga fayil ta amfani da faifan Python subroutine. Bari mu yi tsarin aikin rubutun:

  1. Run subbroutine
  2. Canja wurin sakamakon subbroutine zuwa allon allo
  3. Nuna saƙon bugu

Bari mu ayyana sunayen kundin adireshi da fayilolin aikace-aikacen:

  • rndstr babban fayil a cikin gida directory
    • source - fayil ɗin da za mu ɗauki layi
    • rndstr.py - ƙaramin layi wanda ke nuna layin bazuwar daga fayil ɗin tushen zuwa na'ura wasan bidiyo
    • rndstr.sh - fayil ɗin rubutun

Ƙirƙiri kundin adireshin aikace-aikace kuma matsa zuwa gare shi kuma ƙirƙirar fayiloli a wurin.

Za a iya haɗa maki biyu na farko na shirin rubutun ta bututu, sakamakon haka, ta amfani da Termux: API muna samun:

#!/bin/bash

python ~/rndstr/rndstr.py | termux-clipboard-set # 1 и 2 пункты плана работы

termux-toast "OK" # 3 пункт. Выводим всплывающее сообщение "ОК"

A cikin fayil ɗin tushen, zaku iya sanya kowane rubutu a hankali zuwa cikin layi, na yanke shawarar sanya aphorisms:

Jerin fayilolin tushen

Искренность не есть истина. Л. Лавель
Терпи и воздерживайся. Эпиктет
Благородно только то, что бескорыстно. Ж. Лабрюйер
Будь благоразумно отважным. Б. Грасиан
Доброта лучше красоты. Г. Гейне
Для великих дел необходимо неутомимое постоянство. Ф.Вольтер
Если ты хочешь, чтобы тебе всегда угождали, прислуживай себе сам. Б. Франклин
Чрезмерная скромность есть не что иное, как скрытая гордость. А. Шенье
Очень умным людям начинают не доверять, если видят их смущение. Ф. Ницше
Бедность указывает на отсутствие средств, а не на отсутствие благородства. Д. Боккаччо
Нужно остерегаться доведения скромности до степени унижения. А. Бакиханов
Кто отказывается от многого, может многое себе позволить. Ж. Шардон
Когда нам платят за благородный поступок, его у нас отнимают. Н. Шамфор
Не получить вовсе - не страшно, но лишиться полученного обидно. Клавдий Элиан
Легче переносить терпеливо то, что нам не дано исправить. Гораций
Устаешь ждать, но насколько хуже было бы, если бы ждать стало нечего. Б. Шоу
Все приходит вовремя, если люди умеют ждать. Ф. Рабле
Своим терпением мы можем достичь большего, чем силой. Э. Берк
Надо уметь переносить то, чего нельзя избежать. М. Монтень
Кто в деле смел, тот слов не устрашится. Софокл
Я не люблю сражаться, я люблю побеждать. Б. Шоу
Затравленный и прижатый к стене кот превращается в тигра. М. Сервантес
Достойный человек не идет по следам других людей. Конфуций
Великий ум проявит свою силу не только в умении мыслить, но и в умении жить. Р. Эмерсон
Слава - товар невыгодный. Стоит дорого, сохраняется плохо. О. Бальзак
Сдержанность и уместность в разговорах стоят больше красноречия. Ф. Бэкон
Кто молчать не умеет, тот и говорить, не способен. Сенека Младший
Хорошие манеры состоят из маленьких жертв. Ф. Честерфилд
Добрый человек не тот, кто умеет делать добро, а тот, кто не умеет делать зла. В. Ключевский
Не произносите бесповоротных суждений! Августин
Ничего слишком! Солон

Mu kawai muna buƙatar ƙirƙira ƙaramin abu wanda ke fitar da kirtani bazuwar daga fayil ɗin tushen.
Bari mu rubuta algorithm na subroutine:

  1. Buɗe fayil ɗin tushe
  2. Ƙididdiga adadin layi a cikin buɗaɗɗen fayil
  3. Rufe fayil ɗin (babu wani abu da zai buɗe shi don ƙarin lokaci)
  4. Muna samar da madaidaicin lamba a cikin adadin layin fayil ɗin tushe
  5. Buɗe fayil ɗin tushe
  6. Muna fitar da layi a ƙarƙashin lambar da aka samar
  7. Rufe fayil ɗin

Muna aiwatar da algorithm a Python (na rubuta a ƙarƙashin Python 3.7):

import random  #  импортируем для генерации случайных чисел
import os  #  для получения пути

path = os.path.abspath(__file__)  #  получаем прямой путь до файла rndstr.py
path = os.path.dirname(path)  #  преобразуем в путь до директории
path = path  + '/source'  #  преобразуем в путь до файла source

f = open(path)  #  открываем файл
i = 0  #  обнуляем счетчик
for str in f: i+=1  #  считаем строки файла
f.close  #  закрываем файл

j = int(round(i * random.random()))  #  генерируем целое случайное число от 0 до i

f = open(path)  #  открываем файл
i = 0  #  обнуляем счетчик
for str in f:  #  перебираем строки из файла
    if i == j:  #  если счетчик строк равен сгенерированному числу
        print (str, end='')  #  выводим строку без перехода на новую
        break  #  выходим из цикла
    i+=1  #  увеличиваем счетчик на 1
f.close  #  закрываем файл

Bayan an ƙirƙiri fayilolin kuma an rubuta su, kuna buƙatar ba da izinin aiwatar da fayil ɗin rndstr.sh, kuma ƙirƙirar laƙabi don ƙaddamar da sauri.

alias rnst="~/rndstr/rndstr.sh"

Yanzu buga a Terminal rnst za mu sami bazuwar aphorism a kan allo, wanda, alal misali, ana iya amfani da shi a cikin wasiƙa.

Anan mun rubuta akalla wani abu mai amfani. Dangantaka mai amfani.

Zab

A mataki na ƙarshe, da gangan ban samar da hotunan kariyar kwamfuta ba kuma ban bincika dalla-dalla wasu ayyukan ba, rubuta kawai abubuwan da ke cikin fayilolin don masu karatu su sami damar yin aiki da kansu.

A kan wannan "Termux mataki-mataki", Ina tsammanin yana da daraja a gama. Tabbas, waɗannan matakan farko ne kawai, amma yanzu zaku iya ci gaba da kanku.

Da farko, na yi shirin nunawa a cikin wannan zagayowar yadda ake amfani da nmap, sqlmap, amma ba tare da ni ba, an riga an sami labarai da yawa akan wannan batu. Idan kana son in ci gaba da zagayowar "Termux mataki-mataki", to, akwai binciken da ke ƙasa kuma a cikin maganganun za ku iya ba da shawarar abin da za ku rubuta game da shi.

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Ci gaba "Termux mataki-mataki"?

  • A

  • Babu

Masu amfani 2 sun kada kuri'a. Ba a kauracewa zaben ba.

source: www.habr.com

Add a comment