mitenkä saisi tehtyä ohjelman joka on osittain salattu ja se salaamaton osa purkaa sen salauksen ja suorittaa ohjelman?
Tietääkseni tuo on aivan mahdollista jos en ole aivan väärässä
Tokihan se on mahdollista. Kysymys on tietysti, mitä hyötyä siitä on? Ohjelman on pakko sisältää tarvittavat tiedot sen loppuosion salauksen purkamiseen, joten alkuosaa tutkimalla sen loppuosan saa purettua helposti. Tai sitten vaan käynnistää ohjelman ja antaa sen purkaa loppuosan salaamattomaksi muistiin ja kopioi sen talteen sieltä.
Ei kait siitä hyötyä ole mutta kunhan kiinnostuin aiheesta.
Tämä nyt ei varsinaisesti salaa mutta pakkaa sovelluksen (ellet itse muuta algoritmia, tuo on kuitenkin avoimella lähdekoodilla):
UPX http://upx.sourceforge.net/
Tuollainen kyllä vaikeuttaa ohjelman sisällön tutkimista huomattavasti, ellei sitten osaa purkaa alkuperäistä esiin jotenkin. On kuitenkin sen verran kätevä ohjelma että olen käyttänyt sitä jo useita vuosia joka projektissa.
"typically compresses better than WinZip/zip/gzip, use UPX to decrease the size of your distribution !"
"no memory overhead for your compressed executables because of in-place decompression."
Ainakin konekielellä voi tehdä tuollaisen ohjelman. Ohjelman koodin täytyy olla sellaisella muistialueella, että ohjelma voi tehdä siihen muutoksia ohjelman suorituksen aikana. Sitten pitää enää kääntää koodi konekielelle, salata se jollain tavalla ja kirjoittaa latausohjelma, joka purkaa salauksen ja siirtyy lopuksi puretun koodin alkuun.
Aihe on jo aika vanha, joten et voi enää vastata siihen.