Minulla on yksi dos laskentaohjelma, joka kysyy lpt portista ohjelman avainpalikkaa.
Ohjelma on vanha ja yritystä, joka on tehnyt sen ei enään ole. Minulla on yksi avainpalikka, mutta minun pitäisi saada ohjelma myös toiseen koneeseen. ohjelman koko on kaikkine tiedostoineen noin 1,5 Mt. Pystytkö sinä auttamaan tai tunnetko jonkun joka voisi katsoa voiko ohjelmaan lisätä jonkun käskyjonon tai apuohjelman joka kertoisi pääohjelmalle, että tulostinportissa on ohjelman avainpalikka vaikka sitä siellä ei ole.
Ohjelman on joskus tehnyt USA -lainen yritys Sigma Dynamic Corporation (yritys on mennyt konkurssiin vuonna 2001)
Tätä ohjelmaa ei ole voinut ostaa Suomesta eikä sitä enään myydä missään, eikä siitä ole koskaan tehty windows-versiota.
Vaikka ohjelma on pieni, mutta se on hyvä ja yksinkertainen, eikä koskaan sano "error" paitsi jos avainpalikka puuttuu.
Ohjelmassa ei ole viruksia eikä mitään muitakaan haitta- yms. ohjelmia. Jos sellaisia löytyy otan täyden vastuun aiheutuneista vahingoista ja muista menetyksistä.
Voin lähettää ohjelman sähköpostitse ja olen valmis maksamaan ohjelmaan tehdyistä muutoksista.
Ohjelmointiodotuksin
SPR Design Oy
Seppo Niemelä
Ratatie 23
04220 Kerava
gsm. 050 300 4626
fax. 09 294 6194
email seppo.niemela@sprdesign.fi
Periaatteessa tuollainen "emulaatio" on mahdollinen, mutta en osaa varmasti sanoa, toimisiko se. Parempi mahdollisuus olisi kuitenkin debug-ohjelmalla (siis sillä DOS-ohjelmalla, jolla saa tehtyä mitä tahansa) muokata (tai miksei heksaeditorillakin), ja hyvällä tuurilla voi onnistua disassemblointi. (Etsi NASM.)
Käytännössähän toteutus olisi lähinnä se, että palikantarkistuspätkän alkuun koodattaisiin hyppykomento, joka siirtyisi kyseisen pätkän loppuun. Ohjelman koosta sitten riippuu, kuinka helpolla kyseinen pätkä haluaa löytyä.
Voinhan minäkin tuota vilkaista (rajallisen osaamiseni ja aikani puitteissa) ihan tutkimisen ilosta ja lähetellä takaisin, mikäli jotakin saan aikaan. Jos haluat sen lähettää, niin maili löytyy profiilista. En kuitenkaan lupaa osaavani mitään, kun ei ole tullut niin hirveästi harrastettua tuon tyyppistä toimintaa...
(Eikös tuo ole periaatteessa laitonta?)
Eikös ohjelman disassemblointi (ainakin opiskelutarkoituksessa) ole sallittua lain mukaan? Näin olen ainakin ymmärtänyt.
finlex kirjoitti:
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)
25 k § (24.3.1995/446)Ohjelman koodin kopioiminen ja sen muodon kääntäminen on sallittua, jos nämä toimenpiteet ovat välttämättömiä sellaisten tietojen hankkimiseksi, joiden avulla voidaan saavuttaa yhteentoimivuus itsenäisesti luodun «tietokoneohjelman» ja muiden ohjelmien välillä, ja seuraavat edellytykset täyttyvät:
1) nämä toimenpiteet suorittaa lisenssinhaltija tai muu henkilö, jolla on oikeus käyttää ohjelman kappaletta, taikka heidän lukuunsa henkilö, jolla on siihen oikeus;
2) yhteentoimivuuden saavuttamisen kannalta tarpeellinen tieto ei aikaisemmin ole ollut helposti ja nopeasti 1 kohdassa tarkoitettujen henkilöiden saatavilla; sekä
3) nämä toimenpiteet rajoittuvat niihin alkuperäisen ohjelman osiin, jotka ovat yhteentoimivuuden saavuttamisen kannalta tarpeen.
Tietoja, jotka on saatu 1 momentin säännösten nojalla, ei saa näiden säännösten nojalla:
1) käyttää muuhun tarkoitukseen kuin itsenäisesti luodun «tietokoneohjelman» yhteentoimivuuden aikaansaamiseen;
2) antaa muille, ellei se ole tarpeen itsenäisesti luodun «tietokoneohjelman» yhteentoimivuuden kannalta; eikä
3) käyttää ilmaisumuodoltaan huomattavassa määrin samanlaisen «tietokoneohjelman» kehittämiseen, valmistamiseen tai markkinoille saattamiseen taikka muuhun tekijänoikeutta loukkaavaan toimeen.
Sopimuksen ehto, jolla rajoitetaan tämän pykälän mukaista «tietokoneohjelman» käyttöä, on tehoton.
Luonnolliseen tapaansa tuo ei taaskaan ole aivan suoralukuista "koodia". Jonkinlaista säätöä tuossa oli vielä suoritettu niin, että disassemblointi on kohtuuttoman työlästä, kun ohjelma hyppii hieman miten sattuu. Varmaankin joku hieman kokeneempi, joka osaisi sopivaa debugaussoftaa käyttää, pystyisi tuollaisen murtamaan. Mikään minulta löytyvä debuggeri ei kuitenkaan purrut DOS-ohjelmiin, joten en pääse niilläkään kaivamaan ohjelman oikeaa kulkua esille, eikä nyt valitettavasti riitä aika ja kiinnostus etsiä jotakin sopivaa debuggeria ja opetella sellaista käyttämään. En siis nähtävästi saa auki.
Aihe on jo aika vanha, joten et voi enää vastata siihen.