Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: koodin/tekstin salaus

Sivun loppuun

CoDeR [06.10.2004 14:08:56]

#

siis meidän tietokone maikki sanoi että jos havittelee kymppiä todistukseen niin asiaa saattaisi edes auttaa jos tekisi jonkin ohjelmointin tms. liittyvän töyn. Ja mainisti jotain että voisi esimerkiksi tehdä jonkin pienen koodin ja sitten suojata/"kryptata" sen koodin. .. ja minä kun olen kunnianhimoinen niin ajattelin kokeilla sitä. Mutta kun ei ole sellaisesta suojauksesta/"kryptauksesta" minkään laista kokemusta niin ajattelin kysyä täältä neuvoa.

... jos saisi neuvoja, koodinpätkiä tai jotain tutorialeja(mieluiten suomeksi:):) ni oisin iha kiitollinen :)

P.S. .. olen siis tottunut koodaaman vb:llä, joten jos sillä tehtyä koodia saisi jotenkin kryptattua tms. ni ois hyvä ... .. mut jos ei ni voin kyllä opetella mitä kieltä(tms.) se vaatii :)

Metabolix [06.10.2004 14:19:30]

#

Kerrankin joku, joka suoraan tunnustaa, että pyytää apua koulutehtäviin. Ja vastaan suoraan, että koska tämä on koulutehtävä, niin se pitäisi tehdä itse.

Kiinnostaa kuitenkin, mitä tarkoitetaan sillä, että tekee koodin ja kryptaa sen? Onko tarkoitus tosiaan kryptata lähdekoodi?

BadSource [06.10.2004 14:28:31]

#

Niin sinun piti suojata/kryptata mitä? Siis kryptata se ohjelman itsensä koodi vai että ohjelma kryptaa/dekryptaa jotain muuta?

Ensimmäinen taitaa olla mahdotonta, jos meinaat ohjelmaa vielä ajaa, ellei sitten ole toista ohjelmaa joka ensin dekryptaa ohjelman binäärin, ja sen jälkeen suorittaa dekryptatun väliaikaistiedoston, joka sitten poistetaan lopetettaessa... Toiseen taas täältä löytyy useitakin ohjeita/keskusteluja kunhan kokeilet Hakua.

Edit: Metabolix kerkes edelle...

tuomas [06.10.2004 14:35:02]

#

CoDeR tarkoittaa varmaankin että jokin tekstipätkä cryptattaisiin. Tuohon cryptaukseenkin löytyy täältä putkasta koodivinkkejä. Tosin kannattaa kokeilla silti tehdä oma cryptaus niin tulee opittuakin jotain.
Itse tein aluksi köh.. ASCII cryptaus koodin. Eli, haetaan cryptattavasta merkkijonosta yksi kirjain kerrallaan, otetaan talteen sen ASCII arvo (ASCII arvo on numeroina) ja lisätään sen arvoa esim. kymmenellä. Sen jälkeen muutetaan taas arvo kirjaimeksi. Huonona puolena on se että tuolla menetelmällä cryptattu teksti saadaan selville erittäin helposti.. Mutta aluksihan kannattaa aloittaa yksinkertaisesta :)

CoDeR [06.10.2004 14:36:23]

#

siis ohjelman koodi olisi (ymmärtääkseni) tarkoitus suojata niin että kun sitä koodia yrittää jotenkin tarkastella niin se olisi ihan sekaista (luku kelvotonta) ... ja kyllä mä sen itse haluankin tehdä mutta kun ei ole kokemusta asiasta niin ajattelin kysyä neuvoa viisaammilta :) .. ja olen yrittänyt jo googlesta jotain mutta ei sieltä mitään kovin hyvää ohjetaa löytynyt. :(

Metabolix [06.10.2004 14:39:41]

#

Yksi aika helppo on rullata jokaista tavua ympäri:

Bitin numero:  1 2 3 4 5 6 7 8  ->  5 6 7 8 1 2 3 4
Bitin arvo:    0 1 1 0 0 0 1 1  ->  0 0 1 1 0 1 1 0

Edit: Oletko nyt aivan varma tuosta tehtävästä? Koodinhan on pakko olla oikeaa, jotta sen voi kääntää, ja käännöksen jälkeen ohjelman on pakko olla juuri sellainen kuin se on, jotta se toimii.

hunajavohveli [06.10.2004 15:17:32]

#

tuomas kirjoitti:

Itse tein aluksi köh.. ASCII cryptaus koodin. Eli, haetaan cryptattavasta merkkijonosta yksi kirjain kerrallaan, otetaan talteen sen ASCII arvo (ASCII arvo on numeroina) ja lisätään sen arvoa esim. kymmenellä. Sen jälkeen muutetaan taas arvo kirjaimeksi.

Joo, tuo lienee niitä yksinkertaisempia. Sama periaate kuin Caesarin salauksessa, mutta jos tosissaan haluaa salata jotain, niin XOR:illa voisi olla helpointa aloittaa. Kannattaa perehtyä bittioperaattoreihin, ja niiden soveltamiseen ohjelmoinnissa.
Minullekin jäi muuten tuo tehtävänanto vähän epäselväksi. En ainakaan ainakaan näe lähdekoodin kryptaamisessa mitään järkeä. Käännetyn ohjelman kryptaamisessa vielä vähemmän.

Blaze [06.10.2004 15:48:46]

#

Käännetty ohjelma kryptaantuu kätevästi samalla, jos sen pakkaa vaikka UPX:llä :)

Meitsi [06.10.2004 15:52:26]

#

Tee ohjelma jolle voi antaa tekstin, jonka se sitten kryptaa / palauttaa.

Deewiant [06.10.2004 16:54:36]

#

CoDeR kirjoitti:

siis ohjelman koodi olisi (ymmärtääkseni) tarkoitus suojata niin että kun sitä koodia yrittää jotenkin tarkastella niin se olisi ihan sekaista (luku kelvotonta) ... ja kyllä mä sen itse haluankin tehdä mutta kun ei ole kokemusta asiasta niin ajattelin kysyä neuvoa viisaammilta :) .. ja olen yrittänyt jo googlesta jotain mutta ei sieltä mitään kovin hyvää ohjetaa löytynyt. :(

Kuulostaa siltä, että "obfuscation" on se mitä haet. Löytynee ohjelmia, jotka tekevät sen puolestasi.

CoDeR [06.10.2004 17:57:05]

#

tää on vähän hankaalaa kun en ole tällaisia asioita ennen tehnyt mutta haluan todellakkin oppia! .. siis en ihan tarkalleen pysty kuvailemaan sitä mutta yksinkertaisesti tarkoitin että kun joku yrittää katsoa ohjelman koodia (eli miten ohjelma on koodattu) niin teksti olisi siis sellainen että sitä ei pysty lukemaan (jotenkin sekaisin tai jotain vastaacaa) ...

.. ja on iha jees kun tulee neuvoja mutta esim toi:

Deewiant [06.10.2004 16:54:36]
"Kuulostaa siltä, että "obfuscation" on se mitä haet. Löytynee ohjelmia, jotka tekevät sen puolestasi." , ni ois hyvä jos antas linkkii (tms.) , sillä mä en edelleenkään oikee tajuu näist jutuist hirveesti :)

saman laisia tapauksia oli tossa esim nää:

"Blaze [06.10.2004 15:48:46]
Käännetty ohjelma kryptaantuu kätevästi samalla, jos sen pakkaa vaikka UPX:llä :)"

"hunajavohveli [06.10.2004 15:17:32]
niin XOR:illa voisi olla helpointa aloittaa." .. (linkkiä tyhmälle :) .. kokeilisin google mutta sitten kun näistä ei oo hirveesti tietoo ni saatan ajautua aiheesta sivuraiteille ja se ei oo kovin kivaa D: :):)


... sellasta :D

Metabolix [06.10.2004 18:41:43]

#

Mitä vikaa hunajavohvelin kommentissa on? XOR on looginen operaatio siinä missä yhteenlaskukin, ei mikään ohjelma, joten ei siihen mitään linkkiä tarvita. Lue jokin perusopas, niin saatat ehkä mahdollisesti joskus päästä jyvälle.

Katsopa jotakin käännettyä ohjelmaa millä tahansa ohjelmalla (notepad, HexEdit...) ja kerro, mitä siitä saa irti? Vastaus: ei juuri mitään.

Lähdekoodia taas ei yleensä toimiteta mukana jos sitä ei haluta antaa muokattavaksi, joten kryptaaminen olisi aika turhaa..? Kehitysvaiheessa sitä ei edelleenkään voi kryptata, koska silloin sitä ei voi kääntää.

Suoraan sanoen minusta tuntuu, että et välttämättä sitä kymppiä edes ansaitse, jos tehtävän ymmärtäminen on niin hankalaa.

hunajavohveli [06.10.2004 18:44:30]

#

CoDeR kirjoitti:

tää on vähän hankaalaa kun en ole tällaisia asioita ennen tehnyt mutta haluan todellakkin oppia! .. siis en ihan tarkalleen pysty kuvailemaan sitä mutta yksinkertaisesti tarkoitin että kun joku yrittää katsoa ohjelman koodia (eli miten ohjelma on koodattu) niin teksti olisi siis sellainen että sitä ei pysty lukemaan (jotenkin sekaisin tai jotain vastaacaa) ...

Jos se ohjelma on käännetty, ja siitä yrittää lukea jotain, niin eihän siitä mitään selvää saa, paitsi ehkä asmiksi saa jollakin disassemblerilla. Ei valmiin käännetyn ohjelman lähdekoodia selville saa, paitsi jos annat ne lähdet koodit. Vai pelkäätkö, että joku murtautuu koneellesi ja etsii lähdekoodit, ja haluaisit siksi kryptata ne?

Edit: Metabolix ehti väliin aika samanlaisella vastauksella.

CoDeR [06.10.2004 18:54:55]

#

no siis kai sen koodin nyt esille jotenkin saa.... mutta jos ei niin hyvä

Metabolix [06.10.2004 18:57:04]

#

Tuohon disassembleriinkin pitää kai tietää alussa olevan datasegmentin koko.

hunajavohveli [06.10.2004 19:17:29]

#

CoDeR kirjoitti:

no siis kai sen koodin nyt esille jotenkin saa.... mutta jos ei niin hyvä

No jos siis nyt puhut niistä käännetyistä ohjelmista, niin ei sitä kyllä käytännössä takaisin lähdekoodiksi saa.

tejeez [06.10.2004 19:22:09]

#

No öö, siis sun pitäis tehdä ohjelman koodista niin epäselvää ettei siitä tajua kukaan vai mitä?

FooBat [06.10.2004 20:11:06]

#

hunajavohveli kirjoitti:

CoDeR kirjoitti:

no siis kai sen koodin nyt esille jotenkin saa.... mutta jos ei niin hyvä

No jos siis nyt puhut niistä käännetyistä ohjelmista, niin ei sitä kyllä käytännössä takaisin lähdekoodiksi saa.

Toisaalta, jos tässä puhutaan käännetystä java-bytekoodista niin siitä saa yleensä lähes alkuperäisen näköisen ja yleensä toimivan lähdekoodin ulos varsin vaivattomasti. Tätä pystytään estämään jonkin verran sekoittamalla koodi erilaisilla obfuskaattoreilla, jotka poistavat selkokieliset muuttuja ja funktio-nimet sekä rikkoo koodin rakennetta siten, että sitä ei oikeasti pysty tuottamaan java-koodilla.

hunajavohveli [06.10.2004 20:44:30]

#

Tässä on nyt kuitenkin kyse VB:stä, ja Basicia ei minun tietääkseni niin vain käännetä takaisin lähdekoodiksi.

tsuriga [06.10.2004 20:47:30]

#

Binääriä ei voi, Javan bytekoodin saa esim. DJ Java Decoderilla käännettyä takaisin, kommentit ovat tietysti tipotiessään, koska ne häviävät tavukoodiksi kääntäessä.

Blaze [06.10.2004 21:40:57]

#

hunajavohveli kirjoitti:

Tässä on nyt kuitenkin kyse VB:stä, ja Basicia ei minun tietääkseni niin vain käännetä takaisin lähdekoodiksi.

VB3:lle on olemassa täysin toimiva decompileri.

hunajavohveli [06.10.2004 22:14:19]

#

Jaah, no ehkä sitten, mutta ei sitä käännettyä ohjelmaa oikein sitten voi kryptata, ettei saisi dekompiloitua. Tai voihan se, mutta sitten se on vaikea ajaa. :)


Sivun alkuun

Vastaus

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

Tietoa sivustosta