Miten olisi mahdollista muuttaa Windowsin suoritettava binääritiedosto (exe) Linuxin binääritiedostoksi?
Kysymys ei ole mielekäs. Windowsissa on aivan eri kirjastot kuin Linuxissa, joten pääsääntöisesti muunnos ei tule kysymykseenkään, vaikka konekielinen koodi sinänsä olisikin helposti siirrettävissä uuteen tiedostomuotoon pienillä muutoksilla. Voit kuitenkin tutustua Wineen, joka mahdollistaa rajallisessa määrin Windows-ohjelmien ajamisen Linuxissa. Mikäli ohjelma ei käytä mitään Windowsin kirjastoja, se lähes varmasti toimii täysin, mutta ilman kyseisiä kirjastoja on hyvin epätodennäköistä saada aikaan kovinkaan toiminnallista ohjelmaa.
Valitettavasti tämä ei ole mahdollista, mutta muita vaihtoehtojakin löytyy.
1. Etsi vastaava ohjelma Linuxille (Pakettienhallinnalla. Järkevin vaihtoehto)
2. Käännä ohjelma lähdekoodista Linuxille (jos mahdollista, mutta erittäin työlästä jos käyttää esim windowsin grafiikka kirjastoa en nyt nimeä muista)
3. Yritä ajaa ohjelmaa WINE:llä (WINE on ns. windows emulaattori vaikkei olekkaan.)
4. Asenna Windows virtuaalisesti esim VirtualBoxin avulla ja aja ohjelmaa siellä.
Jos sinulla on lisää kysyttävää kysy pois.
Ei mitään varsinaista lisättävää ole. Kirjotampa kun mieleen tuli.
Eikös se teoriassa olisi mahdollista ainakin yksinkertaisia konsoliohjelmia ohjelmallisesti muuttaa Windows-binääreistä Linuxissa toimiviin binääreihin. Tarvitsee disassembloida koodi, josta sitten kaikki kutsut Windowsin omiin funktioihin pitää muuttaa kutsuihin Linuxin vastaaviin tai korvata jopa useammalla kutsulla. Sitten vain käännetään ja linkitetään koko homma uusiksi.
Joo. Pientä ajatusleikkiä vain. Vaivalloista hommaahan tuo olisi. Mietin vain, että ei välttämättä mahdotonta.
Teoriassa noin, käytännössä mahdotonta. Et sinä disassemblerilla saa muutakuin kasan koodia josta kukaan ei ota tolkkua. Kun koodista ja muuttujista ei ymmärrä mitään, funktioita on vaikea mennä korjaamaan linux sopiviin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.