Hex-editori
Heksaeditori ( eng. hex-editor ), heksadesimaalieditori on sovellus tietojen muokkaamiseen, jossa tiedot esitetään " raa'assa muodossa " - tavujonona . Se voi olla joko erillinen sovellus tai toisen, monimutkaisemman sovelluksen komponentti, kuten disassembler , debugger , integroitu kehitysympäristö jne.
Tavujen arvon esittämiseen käytetään heksadesimaalilukujärjestelmää ( eng . hex adecimal ) , joka näkyy editorin otsikossa. Heksadesimaalilukujärjestelmän valinta johtuu seuraavista tekijöistä:
tekijät
- 8-bittiset tavut sisältävät alustat ovat suosituimpia . Tällaisissa alustoissa tavu voi ottaa 2 8 = 256 arvoa välillä 0 - 255. Heksadesimaalimuodossa kirjoitettu luku 256 10 on pyöreä kolminumeroinen luku - 100 16 .
- Se, että tämä numero on kolminumeroinen, tarkoittaa, että ei vaadita enempää kuin 2 numeroa edustamaan mitään lukua välillä 0-255 .
- Se, että tämä numero on pyöreä, tarkoittaa, että esittämiseen käytetään kaikkia mahdollisia numeroyhdistelmiä, eikä käyttämättömiä jää (esimerkiksi desimaalijärjestelmässä numeroita 256-999 vastaavat yhdistelmät jäävät käyttämättä ).
- Heksadesimaalijärjestelmää käytettäessä käy ilmi, että oikea numero vastaa tavun neljää alinta bittiä ja merkinnän vasen numero vastaa ylempää 4 bittiä. Siksi kaikki 4-bittisten lohkojen toiminnot, jotka on kohdistettu tavurajalle, voidaan yksinkertaistaa operaatioiksi vastaavilla numeroilla.
- 16 - numerojärjestelmän vähimmäiskanta , jossa kaksi numeroa riittää tallentamiseen. Pienemmillä järjestelmillä tarvittaisiin jo kolme (tai enemmän) numeroa, ja vain 256-kantainen numerojärjestelmä tarjoaisi mahdollisuuden mahtua yhteen numeroon, mikä on käytännössä täysin mahdotonta sen suuren numeromäärän vuoksi.
Ilmeisesti esimerkiksi alustoilla, joissa on 9-bittinen tavu, käytettäisiin kolminumeroisia
oktaalilukuja , ja toiminnaltaan samanlaista sovellusta kutsuttaisiin Oct-editoriksi.
Hex-editorin näyttämät ja muokkauksen sallimat tiedot voivat olla:
Käyttöliittymä
Heksa-editori näyttää tiedot matriisina , jonka jokainen solu vastaa yhtä tavua , joka on kirjoitettu heksadesimaalimuodossa kaksinumeroisena numerona (jossa tarvittaessa nolla ). Matriisisarakkeiden lukumäärä on kahden potenssi, yleisimmin 16 tai 8 saraketta, joskus 4. Rivien määrä riippuu näytettävän/muokattavan tavun määrästä. 16 sarakkeen tapauksessa yksi rivi vastaa yhtä kappaletta .
Lisäksi käytetään usein lisäelementtejä:
- Matriisin vasemmalla puolella näkyy numeroiden viivain (esitetty sinisellä kuvassa): jokainen rivi vastaa numeroa, joka ilmaisee tämän rivin ensimmäisen tavun osoitteen / offsetin. Osoitevaihe on yhtä suuri kuin sarakkeiden lukumäärä.
- Matriisin yläpuolella näkyy toinen numerorivi (kuvassa vihreänä): jokaisen sarakkeen yläpuolella näytetään tämän sarakkeen tavun siirtymä suhteessa vastaavan rivin ensimmäiseen tavuun. i-: nnettä riviä vastaavan luvun ja -saraketta vastaavan luvun summa on jtavun osoite/offset (i;j)annetun rivin ja otetun sarakkeen leikkauspisteessä.
- Matriisin oikealla puolella voidaan näyttää samat tiedot, mutta eri tulkinnassa. Yleisimmin käytetty vaihtoehtoinen tietojen näyttö ASCII -tekstina (näkyy kuvassa fuksialla ), jonka tavut, joiden arvot vastaavat ei-tulostettavia merkkejä, näytetään pisteinä ( ·). Monet editorit antavat sinun valita mielivaltaisen koodauksen tekstin näyttötilalle. Variantti, jossa tiedot näytetään tekstinä, löytyy yleiskäyttöisistä Hex-editoreista. Editoreissa, jotka ovat osa erikoisohjelmaa, kuten debuggeri, ovat yleensä käytettävissä muita tiloja, kuten purkamisluettelo, osoitevihjeet ja muut sovelluskohtaiset tilat.
Useimmat editorit mahdollistavat muokkaamisen sekä vasemmalla että oikealla (jos saatavilla). Tässä tapauksessa tehtävät muutokset ovat johdonmukaisia [1] .
Yksinkertaisten editorien avulla voit muuttaa vain valittujen tavujen arvoa yksitellen. Advanced - muokkaa tavukokoelmia kiinteinä lohkoina [2] , etsi sekvenssien tai sekvenssimallien mukaan.
Hex-editorit levykuvien muokkaamiseen voivat sisältää toimintoja vaurioituneen tiedostojärjestelmän tai vahingossa poistettujen tiedostojen
palauttamiseksi .
Käyttö
Hex-editoria käytetään muun kuin tekstin muokkaamiseen, kun olemassa olevan tiedon muokkaamiseen erikoistunutta ohjelmaa ei ole saatavilla tai sen käyttö on aiheetonta tai ei-toivottua. Esimerkkinä voisi olla muutosten tekeminen käännettyyn ohjelmaan kääntämättä sitä uudelleen. Hex-editorin avulla voit siis muuttaa ohjelmakoodiin kytkettyjen merkkijonojen ja numeeristen vakioiden arvoja, jos määrität niiden sijainnin oikein.
Jos Hex-editorissa on disassemblerin toiminnot tai kohdeohjelma on jo etukäteen purettu toisella työkalulla ja offset on tiedossa, voit tehdä muutoksen suoraan ohjelmakoodiin ja muuttaa sen toimintaa. Tätä käytetään virheiden korjaamiseen , hakkerointiin , huijaamiseen ja manuaaliseen säätämiseen .
Koska Hex-editori on melko monipuolinen työkalu, sen kaikkia käyttövaihtoehtoja ei ole mahdollista kuvailla.
Galleria
-
KDE:n mukana toimitettu ilmainen hex-editori KHexEdit (kdeutils)
-
Tarkastele PSP :tä 32-bittisen Windowsindebug mukana tulevassa apuohjelmassa .
-
Hex-editori sisältyy OllyDbg -debuggeriin avoimella tavulohkon muokkausikkunalla
.
Katso myös
- Erilaisten hex-editorien toimintojen vertailu (en)
- winhex
- DMDE
Muistiinpanot
- ↑ Toisin sanoen vasemmalle puolelle tehdyt muutokset näkyvät välittömästi oikealla puolella ja päinvastoin.
- ↑ Muokkaa esimerkiksi 8 tavua kaksinkertaisena tarkkuuden liukulukulukuna .