Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Heksaeditori

Sivun loppuun

zorm [22.09.2005 18:31:18]

#

Selasin tuossa ohjelmointiputkan koodivinkkejä ja siellä oli PHP:lla kirjoitettu heksaeditori. Alkoi nyt kiinnostamaan että mihin, miten ja miksi heksaeditoria yleensä käytetään? onko se jokin tehokaskin työkalu?? :O

Meitsi [22.09.2005 18:42:35]

#

Sillä näet tiedoston sisällön heksana. Tavallisesti ohjelmat näyttävät tiedoston niinkuin nyt sattuvat muotoilemaan sen, mutta heksaeditori näyttää "datan raakana" ja voit muokata tiedostoa "suoraan". Heksaeditorin käyttä tosin vaatii hieman tietämystä käytössä olevasta merkistöstä ja tiedostojen rakenteesta... (Jos nyt ihan normaalia tekstiä muokkaat niin ongelmia ei ole, mutta jos haluat muokata binääriä niin vaikeaa voi olla)

zorm [22.09.2005 18:49:58]

#

Tietäisitkö onko olemassa hyviä tutoraaleja heksaeditorin käytöstä ja siitä miten esim binäärejä saa muokattua? Tuo heksaeditorilla binäärien muokkaaminen kullostaa aika kiinnostavalta!

Meitsi [22.09.2005 18:51:59]

#

Tutoriaaleja en tiedä, mutta binäärien muokkaaminen on kyllä vaivalloista. Binääreissä merkkien paikoilla on merkityksensä, joten jos haluat esim muokata ohjelman tekstejä, ja laitat tekstiksi liian pitkän/lyhyen tekstin, ohjelma ei toimi.

EDIT: Decompilointi on sitten ihan eri asia... Sen avulla voisi olla helpompaa...

pukki [22.09.2005 19:37:58]

#

Kun nyt paikalle satuin, niin pakko suositella disassemblointiin ohjelmaa nimeltä IDA. Ohjelmasta on saatavilla ilmainen versio, joka taitaa olla DOS-pohjainen, mutta varsin toimiva ja tehokas työkalu. Hihii.. se sanoi "kalu"..

Juujuu, menee jo vähän offtopiciksi, mut kuiteski.

Metabolix [22.09.2005 19:59:25]

#

Muistutetaan nyt vielä, että pääsääntöisesti kaupallisten ohjelmien disassemblointi on laitonta, kuten myös niiden muokkaaminen muuten. Ei tule mieleen montakaan lukemaani lisenssiä, joissa tuota ei olisi kielletty.

pukki [22.09.2005 20:05:59]

#

Tiedetään että on kiellettyä, mutta kukas saatana sitä tulee meille kotiin valvomaan jos minua nyt sattuu kiinnostamaan miten joku ohjelma jonkun jutun tekee. Moraalisesti en ainakaan näe asiassa mitään väärää, kun kyse on puhtaasti huvi- ja kokeilumielessä tehdystä pikku tutkimuksesta.
Mutta niin, laki on laki.

edit: ts. lisenssi on lisenssi. Tiedätte mitä tarkoitan.

tsuriga [22.09.2005 20:25:41]

#

Onkos asiasta ennakkopäätöstä?
http://www.finlex.fi/fi/laki/ajantasa/1961/19610404 artikla(?) /kohta 25 j § . Pitääpä olla vaikeasti sanottua asiaa.

Meitsi [22.09.2005 21:10:21]

#

Hmm, jotenkin ihmettelen miksi olisi disassemblointi kiellettyä, koska sehän on periaatteessa sama asia kuin purkaisi auton moottorin tutkiakseen miten se toimii... Kummallinen on laki...

EDIT:

Finlex kirjoitti:

Tietokoneohjelmia ja tietokantoja koskevia erityissäännöksiä (3.4.1998/250)
25 j § (24.3.1995/446)

Joka on laillisesti hankkinut tietokoneohjelman, saa valmistaa ohjelmasta sellaiset kappaleet ja tehdä ohjelmaan sellaisia muutoksia, jotka ovat tarpeen ohjelman käyttämiseksi aiottuun tarkoitukseen. Tämä koskee myös virheiden korjaamista.

Se, jolla on oikeus käyttää tietokoneohjelmaa, saa valmistaa ohjelmasta varmuuskappaleen, jos se on tarpeen ohjelman käytön kannalta.

Se, jolla on oikeus käyttää tietokoneohjelmaa, saa tarkastella, tutkia tai kokeilla tietokoneohjelman toimintaa niiden ideoitten ja periaatteiden selvittämiseksi, jotka ovat ohjelman osan perustana, jos hän tekee sen ohjelman tietokoneen muistiin lukemisen tai ohjelman näyttämisen, ajamisen, siirtämisen tai tallentamisen yhteydessä.

Se, jolla on oikeus käyttää tietokantaa, saa valmistaa tietokannasta kappaleita ja tehdä kaikki muutkin toimet, jotka ovat tarpeen tietokannan sisältöön pääsyä ja sisällön tavanmukaista käyttöä varten. (3.4.1998/250)

Sopimuksen ehto, jolla rajoitetaan 2–4 momentin mukaista käyttöä, on tehoton. (3.4.1998/250)

Eli saa disassembloida... Ainakin jos tulkitsin oikein. Jos kopioi binäärin kun sitä ladataan muistiin niin on laillista :/

Metabolix [22.09.2005 22:05:30]

#

Niin, tuohan on nyt siis yleinen laki. Kuitenkin monen ohjelman lisenssisopimuksessa lukee, että ei.

Esimerkiksi Download Accelator Plus:

lainaus:

[- -] Other than the rights expressly granted to you hereunder, no other right is granted to you. Without limiting the foregoing, you may not: [- -] decompile, disassemble, reverse engineer, or otherwise attempt to derive the source code for the Product; [- -]

Meitsi [23.09.2005 11:41:55]

#

Mutta eikös se ole niin että tuollaisilla sopimuksilla ei ole merkitystä jos laki sanoo toisin...

wwwapu [23.09.2005 21:30:49]

#

Laissahan lukee

lainaus:

Sopimuksen ehto, jolla rajoitetaan 2–4 momentin mukaista käyttöä, on tehoton.

Ovatko nuo mainitut momentit tekstiä edeltäneitä kappaleita? Jos ovat, niin aivan varmasti ainakin

lainaus:

reverse engineer, or otherwise attempt to derive the source code for the Product

osuus on merkityksetön jos pitää oikeana Wikipediassa sanottuja reverse engineering metodeja koskien ohjelmistoja

lainaus:

Reverse engineering of software can be accomplished by various methods. The three main groups of reverse engineering are: 1) analysis through observation of information exchange (most prevalent in protocol reverse engineering), 2) disassembly using a disassembler, and 3) decompilation using a decompiler.

Erityisesti siis observation osuus.

[edit]Ja olisihan se aika naurettavaa kuvitella, että käyttäjä ei saisi ohjelman käyttäytymisestä päättelemällä yrittää tajuta kuinka se toimii[/edit]


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta