Mistä obfuscaattori Perliin?

Vaino

Olen kirjoittanut Perlillä ison tietokanta-ohjelmiston, jossa on tällä hetkellä 167,000 riviä (tai olla tulkille liikaa, koska -w ja use strict; kaatavat stderr:n: "broken pipe"). Koska Perl on tulkattu kieli, on ohjelma pakko levittää lähdekoodina. Haluaisin kuitenkin suojata oikeuteni (ettei hienoja algoritmejani varasteta) jollakin tapaa.

Kysymys kuuluu: mistä löytäisin hyvän Perl-obfuskaattorin, siis samanlaisen, joita saa esim. Javaan. Hyvä obfuskaattori tekee lähdekoodista täysin mahdotonta lukea tai täyspäisen ihmisen seurata. Hyvänä lisänä olisi mukava saada lähdekoodi täyteen kummallisia merkkejä, merkkijonoja ja näiden älyttömiä yhdistelmiä - siis koodia, josta kukaan ei saa tolkkua.

Olen yrittänyt etsiä kaikista mahdollisista lähteistä Perl-obfuskaattoria, mutta sellaista ei tunnu löytyvän? Luulisi näinkin yleisessä käytössä olevalle kielelle sellaisen kirjoitetun...

4

1111

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Mik

      http://www.perldoc.com/perl5.6/pod/perlfaq3.html#How-can-I-hide-the-source-for-my-Perl-program-

      Samalla sivulla on myös kohta "How can I compile my Perl program into byte code or C?". Lisäksi voi kokeilla perlcc:n optiota -B, joka tekee bytekoodia. perlcc:n manuaalisivulla kerrotaan kuitenkin, että "The code generated in this way is not guaranteed to work. The whole codegen suite ("perlcc" included) should be considered very experimental. Use for production purposes is strongly dis­couraged."

      Toisaalta perliähän on helppo kirjoittaa siten, että se näyttää muutenkin kryptatulta.

    • megari

      En oikeastaan ymmärrä mikä ihmisissä ajaa salaamaan asioita. Algoritmit ovat käytännöllisiä ja niistä on hyötyä, joten miksi et jakaisi muille tietoasi? Tieto on kuin tuli: se ei vähene, vaikka sen jakaisi muuallekin. Jos joku todella kokee tarpeelliseksi ottaa juuri sinun algoritmisi käyttöön, hän tekee sen vaikka tekisit mitä kryptauksia tai obfuskointeja. Lisäksi obfuskoidun lähdekoodin ylläpito on hankalaa (tosin uskon, että pidät itselläsi obfuskoimatonta versiota) ja jos joku törmää bugiin ohjelmistossasi, hän ei voi debugata sitä, korjata sitä ja ottaa sinuun yhteyttä patchi kainalossa.

      Ymmärrän toki huolesi henkisen omaisuutesi perään, mutta käytännössä algoritmisi sopivat parhaiten juuri sinun ohjelmistoosi ja niiden soveltaminen jonkun toisen ohjelmistossa vaatisi sitä, että kyseinen ohjelmisto olisi suunniteltu juuri sinun algoritmejasi silmälläpitäen - varsin mairittelevaa ja toisaalta helposti jäljitettävää käryn käydessä. Jos joku taas lukee koodisi läpi (tai disassembloi ja tutkii tulostetta), ottaa muistiinpanoja siitä, mitä algoritmisi pääpiirtein tekevät ja tekee sen pohjalta oman versionsa, ei hän ole tehnyt vääryyttä, sillä ideoita ja algoritmeja ei voi - eikä saisikaan voida - patentoida.

      Tiedän kyllä, että maailma ei toimi idealistisesti: ihmiset eivät jaa vapaasti kaikkia ideoitaan kaikkien muiden kanssa terveen tieteellisesti, vaan salaavat, varastavat ja patentoivat. Itse kuitenkin taistelen toistaiseksi tuulimyllyjä vastaan ja kehotan ihmisiä miettimään, onko välttämätöntä salata omia tekeleitään ja onko se niin kamalaa, jos joku kunnioittaa tuotetta käyttämällä sitä/osia siitä omassaan. Itselläni on erinomaisia kokemuksia laajojenkin ohjelmistoprojektien vapaaseen käyttöön antamisesta: olen saanut paljon hyvää palautetta, parannuksia, bugikorjauksia ja uusien ominaisuuksien toteutuksia sekä massoittain kiitoksia ihmisiltä ympäri maailmaa. Tämä vain koska taistelen tuulimyllyjä vastaan ja pidän yllä kilpailukykyistä tuotetta luottaen muihin ihmisiin.

      • Mik

        Ihan vain jos jotain kiinnostaa lukea "Introduction to Reverse Engineering Software":

        http://www.acm.uiuc.edu/sigmil/RevEng/

        Pitäisi lukea tuo itsekin, muttei vain koskaan tunnu olevan riittävästi aikaa tai viitseliäisyyttä siihen.


    • Lapm

      Onneksi olkoon ison urakkasi loppuun saattamisen johdosta. Ihan kohtuu kunnioitettava määrä tuo 167000 riviä koodia näin ohjelmointi amatöörin silmissä.

      Olet siis huolissasi että joku varastaa huolella laaditut algoritmisi? Tuskin kannattaa olla, sinullahan on tuossa valmis tuote tarjottavana.

      Riittävän motivoitunut ja taitoja omaava hakkeroi kyllä algoritmisi sotkun seasta. Lisäksi algoritmisi ovat tosiaan hiottuja juuri sinun tuotteeseesi ja vaatisivat sopeuttamista toimiakseen jossain toisessa ohjelma tuotteessa.

      Ehkä sinun aikasi olisi ohjelmakoodin sotkemisen sijasta (hidastaa ohjelmaa) paremmin käytetty tuotteesi markkinointiin.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kumpi vetoaa enemmän sinuun

      Kaivatun ulkonäkö vai persoonallisuus? Ulkonäössä kasvot vai vartalo? Mikä luonteessa viehättää eniten? Mikä ulkonäössä?
      Ikävä
      87
      1714
    2. Ei se mene ohi ajan kanssa

      Näin se vaan on.
      Ikävä
      85
      1222
    3. Tavoitteeni onkin ärsyttää

      Sua niin turhaudut ja unohdat koko homman
      Ikävä
      110
      1113
    4. Tunnistebiisi

      Laita joku tunnistebiisi, niin tiedän ett oot täällä ja kaipaat ehkä mua
      Ikävä
      67
      906
    5. Taidat tykätä linnuista paljon

      Mikä on sun lemppari ☺️😉🥹🦢🐦‍⬛🦉🦜🦚
      Ikävä
      102
      874
    6. Okei nyt mä ymmärrän

      Olet siis noin rakastunut, se selittää. Onneksesi tunne on molemminpuolinen 😘
      Ikävä
      56
      818
    7. Miks käyttäydyt noin?

      Välttelet kaikkia kohtaamisia...
      Ikävä
      47
      731
    8. Ei sun tarvi jännittää enää

      en yritä enää mitään. Tiedän että olin mauton ja sössin kaiken.
      Ikävä
      36
      722
    9. Olen huolissani

      Että joku päivä ihastut/rakastut siskooni. Ja itseasiassa haluaisin, ettei hän olisi mitenkään sinun tyyppiäsi ja pitäis
      Ikävä
      47
      671
    10. Minkälainen ääni mulla on mies

      Sinun mielestä?
      Ikävä
      33
      653
    Aihe