binary 2 56a6d2195f9b58b7d0e4f743

Oletko koskaan yrittänyt avata tiedostoa editorissa vain löytääksesi sen sisältävän lukukelvotonta binaarisisältöä? Linuxin «strings»-komento mahdollistaa ihmisten luettavien merkkien tarkastelun missä tahansa tiedostossa. «Strings»-komennon käytön päätarkoitus on selvittää, minkä tyyppistä tiedostoa tarkastelet, mutta voit myös käyttää sitä tekstin purkamiseen. Jos sinulla on esimerkiksi tiedosto patentoidusta ohjelmasta, joka tallentaa tiedostot vieraassa binäärimuodossa, voit käyttää «merkkijonoja» tiedostoon lisäämäsi tekstin purkamiseen.

Esimerkki Strings-komennon käytöstä

Loistava tapa osoittaa merkkijonokomennon teho on luoda asiakirja LibreOffice Writer -ohjelmalla. Avaa LibreOffice Writer, kirjoita tekstiä ja tallenna se tavallisessa ODT-muodossa. Avaa nyt pääteikkuna (paina CTRL, ALT ja T samanaikaisesti) ja käytä sitten cat-komentoa listataksesi tiedoston seuraavasti: cat yourfilename.odt | Järvi

type=»code»> (Korvaa «omatiedostonimi.odt» luomasi tiedoston nimellä) Näet koko seinän lukukelvotonta tekstiä.

Selaa tiedostoa painamalla välilyöntinäppäintä. Näet satunnaisesti koko tiedoston osan kirjoittamastasi tekstistä. Strings-komentoa voidaan käyttää näyttämään vain ne osat, jotka ovat ihmisen luettavissa. Yksinkertaisimmassa muodossaan voit suorittaa seuraavan komennon: strings yourfilename.odt | Järvi

type=»code»> Kuten ennenkin, näkyviin tulee tekstimuuri, mutta vain tekstiä, jonka voit lukea ihmisenä. Jos olet onnekas, voit nähdä tekstisi. Avain on kuitenkin ensimmäisellä rivillä: mimetypeapplication/vnd.oasis.opendocument.text

type=»code»> Tiedämme, että tiedostotyyppi on LibreOffice Writer ODT -tiedosto kahdesta syystä:

  1. Loimme tiedoston
  2. Pääte on .ODT

Linux strings -komento odt-tiedosto

Oletetaan, että et luonut tiedostoa tai löysit tiedoston palautetulta asemalta, eikä tiedostolla ole tunnistetta. Windowsin palautus palauttaa usein tiedostot, joiden nimi on 0001, 0002, 0003 jne. Se, että tiedostot palautettiin, on hienoa, mutta yrittää selvittää, millaisia ​​tiedostoja ne olivat, oli painajainen. Merkkien käyttäminen antaa sinulle taistelumahdollisuuden selvittää tiedostotyyppi. Tietäen, että tiedosto on opendocument.text-tiedosto, voit tallentaa sen ODT-tunnisteella ja avata sen LibreOffice-kirjoittimessa. Jos et tiennyt, ODT-tiedosto on pohjimmiltaan pakattu tiedosto. Jos nimeät tiedostonimesi.odt:n uudelleen muotoon yourfilename.zip, voit avata sen arkistotyökalussa ja jopa purkaa tiedoston.

Vaihtoehtoinen käyttäytyminen

Oletusarvoisesti strings-komento palauttaa kaikki tiedoston merkkijonot, mutta voit muuttaa sen toimintaa palauttamaan merkkijonoja tiedoston alustus- ja ladatuista tietoosioista. Mitä tämä tarkalleen ottaen tarkoittaa? Kukaan ei näytä tietävän. On järkevää olettaa, että käytät merkkijonoja yrittääksesi selvittää tiedostotyypin tai etsiäksesi tiettyä tekstiä tiedostosta. Jos strings-komennon suorittaminen oletuskäyttäytymisellä ei tuota toivomaasi tulosta, kokeile suorittaa jokin seuraavista komennoista nähdäksesi, onko sillä eroa: strings -d tiedostonimi

type=»code»> tai merkkijonot –data tiedostonimesi

Man-sivulla todetaan, että yllä oleva komento voi auttaa vähentämään merkkijonojen palauttaman roskapostin määrää. «Strings»-komento voidaan asettaa toimimaan päinvastoin, jolloin miinus d -kytkin on oletustoiminto. Jos järjestelmässäsi on näin, voit palauttaa kaikki tiedot seuraavalla komennolla: strings -a yourfilename

type=»code»>

Muotoile tulos

Voit saada tulosteen tekstin näyttämään tiedoston nimen jokaisen tekstirivin vieressä. Voit tehdä tämän suorittamalla jonkin seuraavista komennoista: strings -f yourfilename

type=»code»> tai strings –print-filename yourfilename

Tulos näyttää nyt tältä: tiedostonimi: tekstinpala

tai tiedostonimesi: toinen teksti

Osana tulostetta voit myös näyttää siirtymän, josta teksti näkyy tiedostossa. Voit tehdä tämän suorittamalla seuraavan komennon: strings -o yourfilename

type=»code»> Tulos näyttää suunnilleen tältä: 16573 your17024 text

type=»code»> Poikkeama on itse asiassa oktaalipoikkeama, vaikka järjestelmäsi merkkijonojen kokoonpanosta riippuen se voi helposti olla myös heksa- tai desimaalipoikkeama. Tarkempi tapa saada haluamasi siirtymä on käyttää seuraavia komentoja: strings -td tiedostonimi
merkkijonot -tiedostonimellesi
merkkijonot – tiedostonimi

Miinus t tarkoittaa, että siirtymä palautetaan, ja sitä seuraava merkki määrittää siirtymän tyypin (eli d = desimaali, o = oktaali, h = heksa). Oletusarvoisesti strings-komento tulostaa jokaisen uuden merkkijonon uudelle riville, mutta voit asettaa haluamasi erottimen. Jos haluat esimerkiksi käyttää putkisymbolia («|») erottimena, suorita seuraava komento: strings -s «|» tiedostonimesi

type=»code»>

Säädä merkkijonojen rajaa

Oletusarvoisesti strings-komento etsii neljän tulostettavan merkin merkkijonoa peräkkäin. Voit muuttaa oletusasetusta palauttamaan vain merkkijonon, joka sisältää kahdeksan tulostettavaa merkkiä tai 12 tulostettavaa merkkiä. Säätämällä tätä rajaa voit säätää tehoa saadaksesi parhaan mahdollisen tuloksen. Liian pitkän merkkijonon etsiminen saattaa jättää hyödyllisen tekstin pois, mutta liian lyhyen tekstin tekeminen voi aiheuttaa paljon enemmän sotkua. Voit säätää merkkijonorajoitusta suorittamalla seuraavan komennon: strings -n 8 tiedostonimi

type=»code»> Muutin yllä olevassa esimerkissä rajaksi 8. Voit korvata luvun 8 valitsemallasi numerolla. Voit myös käyttää seuraavaa komentoa tehdäksesi saman: strings –bytes=8 yourfilename

type=»code»>

Lisää välilyönti

Merkkijono-komento sisältää oletusarvoisesti välilyönnin, kuten sarkaimen tai välilyönnin, tulostettavana merkkinä. Joten jos sinulla on merkkijono, jossa lukee «kissa istui matolla», strings-komento palauttaa koko tekstin. Rivinvaihtomerkkejä ja rivinvaihtoja ei pidetä oletusarvoisesti tulostettavina merkeinä. Jos haluat saada merkkijonot tunnistamaan rivinvaihtomerkit ja rivimerkit tulostettaviksi merkeiksi, suorita merkkijonoja seuraavasti: strings -w tiedostonimi

type=»code»>

Vaihda salaus

Käytettävissä on viisi koodausvaihtoehtoa merkkijonojen kanssa:

  • s = 7-bittinen tavu (käytetään ASCII:lle, ISO 8859)
  • S = 8-bittinen tavu
  • b = 16-bittinen bigendian
  • l = 16-bittinen littleendian

Oletusarvo on 7-bittinen tavu. Suorita seuraava komento vaihtaaksesi koodauksen: strings -es yourfilename
merkkijonot –encoding=s tiedostonimi

Yllä olevassa komennossa määritin oletusarvon «s», joka tarkoittaa 7-bittistä tavua. Korvaa «s» valitsemallasi salauskirjaimella.

Nimeä binääritiedoston kuvaus uudelleen

Voit muuttaa merkkijonojen toimintaa käyttämään erilaista binaaritiedostojen kuvauskirjastoa kuin järjestelmässäsi. Tämä kytkin on tarkoitettu asiantuntijoille. Jos haluat käyttää toista kirjastoa, voit tehdä tämän suorittamalla seuraavan strings-komennon: strings -T bfdname

type=»code»>

Lue vaihtoehdot tiedostosta

Jos aiot käyttää samoja vaihtoehtoja joka kerta, sinun ei tarvitse määrittää kaikkia kytkimiä joka kerta, kun suoritat komennon, koska tämä vie aikaa. Voit luoda tekstitiedoston nanolla ja määrittää sen asetukset. Kokeile tätä terminaalissa suorittamalla seuraava komento: nano stringsopts

type=»code»> Kirjoita tiedostoon seuraava teksti: -f -o -n 3 -s «|»

type=»code»> Tallenna tiedosto painamalla CTRL + OFF ja poistu painamalla CTRL + X† Suorita merkkijonokomennot näillä valinnoilla suorittamalla seuraava komento: strings @ stringsopts yourfilename

type=»code»> Vaihtoehdot luetaan stringsopts-tiedostosta, ja sinun pitäisi nähdä kunkin merkkijonon tiedostonimi, offset ja «|» erottimena.

Hanki apua

Jos haluat lukea lisää merkkijonoista, suorita seuraava komento saadaksesi apua. strings –help

type=»code»> Tai lue käsikirja: man strings

type=»code»>

Selvitä, mitä versiota merkkijonoista käytät

Suorita jokin seuraavista komennoista löytääksesi käyttämäsi merkkijonon version: strings -v
kielet -V
merkkijonot — versio

Por Markus