En ollut oikein varma mihin tämän laittaisin.
Eli siis on useita kääntäjiä jotka kääntävät jotain kiletä koneen ymmärtävään muotoon, mutta onko olemassa kieltä joka muokkaisi Binääriä yksinkertaisemmaksi C :ksi.
Jos ihmettelet mihin tarvitsen tälläistä ohjelmaa niin Mozilla Firefoxin lähdekoodihan on avoin... latasin sen ja huomasin sen olevan koodattu binäärillä jota en jaksaisi opetella. Haluaisin siis muokata Firefoxia omaan käyttööni mutta en taida binääriä lähes lainkaan joten olisi hienoa jos saisin saman koodin C :sana
Eli siis on useita kääntäjiä jotka kääntävät jotain kiletä koneen ymmärtävään muotoon, mutta onko olemassa kieltä joka muokkaisi Binääriä yksinkertaisemmaksi C :ksi.
Jos ihmettelet mihin tarvitsen tälläistä ohjelmaa niin Mozilla Firefoxin lähdekoodihan on avoin... latasin sen ja huomasin sen olevan koodattu binäärillä jota en jaksaisi opetella. Haluaisin siis muokata Firefoxia omaan käyttööni mutta en taida binääriä lähes lainkaan joten olisi hienoa jos saisin saman koodin C :sana
Vastaukset 12
Vanhimmat
ei niitä lähdekoodeja siitä exestä tietenkään irti revitä. menet mozillan nettisivun developer-osioon ja sieltä lataat haluamasi ohjelman sourcen.
Minulla tietenkin on jo Mozilla Firefoxin lähdekoodi!!! Se vaan on kirjoitettu Binäärillä ja haluaisin muuttaa sen C :ksi jotta voisin itse muokata sitä!!
No esimerkiksi jos otit tyyliin tämmöisen:
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.7/source/firefox-1.5.0.7-source.tar.bz2
niin purat sen bzip:n ja sen jälkeen tar:n pois pakkausohjelmalla tai käytät suoraan WinZip/Rar, jotka tekevät kerralla molemmat vaiheet.
käsitteet ihan sekaisin.
Kaikki mitä tietokoneessa on on kirjoitettu "binäärillä".
Word-dokumentit, Notepad-tekstit, jpg-kuvat, weppisivut...ihan kaikki.
Joten mitähän tarkoitat?
Jos tarkoitat assembler-koodausta niin vastaus on
ettei sitä tietenkään voi enää kääntää tai muuntaa "takaisin" korkeamman tason ohjelmointikoodiksi mitenkään.
Sellainen on jo ihan periaatteessa mahdotonta, jos vähänkään
pysähdyt miettimään.
Kiitos neuvoista!
Kyllä se takaisinkääntö on teoriassa mahdollista. Se vain ei käännä luultavasti siksi koodiksi, mitä se joskus C :na tms. oli, vaan sellaiseksi simuloiduksi assembleriksi. Sillä tuloksella ei siis tee mitään, mutta käännös olisi mahdollinen.
Joissakin tapauksissa takaisinkäännös onnistuu vähän paremminkin. Googlaa decompiler, niin selviää, mitä leluja on saatavilla.
Älä sano mahdottomaksi. Sano vaan rehellisesti hyödyttömäksi.
Miten kuvittelet osaavasi "muokata Firefoxia" omaan käyttöön kun et edes ymmärrä tietotekniikan perusasioita?
Kiitos nauruista.
Jos saisin lähdekoodin c :ksi niin voisinhan muuttaa kaikki kohdat joissa lukee Firefox... siis tietenkin oman selaimeni nimeksi!
Sinulla on hieman käsitteet sekaisin.
Ohjelmia kirjoitetaan ohjelmointikielillä. Tätä "selväkielistä" aineistoa kutsutaan lähdekoodiksi. Lähdekoodi käännetään ohjelmointikieleen liittyvällä kääntäjällä, minkä tuloksena syntyy binäärinen ohjelma. Binäärisessä muodossa ohjelman osaa tulkita vain käyttöjärjestelmä. Binääristä ohjelmaa (ei ainakaan vielä) voi palauttaa lähdekieliseen muotoon. Tämä olisi melkoisen mullisttava juttu ohjelmistoteollisuudelle.
Toisessa tämän ketjun viestissäsi kerroit haluavasi muuttaa Firefox-selaimen nimen. Tämä on mahdollista lähdekoodia muuttamalla lähdekoodiin kirjoitetun nimen osalta ja suorittamalla uudelleenkäännös. Tämän operaation helppous tai vaikeus riippuu siitä, kuinka hyvin nimi on lähdekoodin kapseloitu. Pohjatietosi huomioiden kehottaisin kuitenkin käyttämään olemassa olevaa Firefox-versiota, ettet tulisi esim. lähdekoodimuutoksilla avanneeksi tietoturva-aukkoja personoituun selaimeesi. World Wide Webin kanssa ei kannata leikitellä.
binaaritiedoston, jos se on exe eli com voidaan palauttaa assembly-tiedostoksi, mutta siinähän sitä puuroa onkin - sai olla sairas jos jaksoi siitä ottaa tolkkua ja sitähän oltiin.
Vielä joskus toimi, kun ajettavan tiedoston suurin koko oli alta 64k - silloin oli tarjolla sellaista 'eestaas'-kääntäjää, joka silloisilla konetehoilla tumputti pitkän tovin tiedostoa ja teki siitä assemblyä. Sen assemblyn sai sitten kääntää takaisin esim. MASM'illa. MUTTA - se oli silloin.
Silloin oli paaljon muutakin kuin jännää - piti valita hyväksyykö '[' ja '{' jne. vai 'ääkköset' ja se ei toiminut C-kielen kanssa yksiin.
Se oli sitä suurta 'yhteensovittamisen' aikaa.
http://www.freedownloadscenter.com/Search/disassembler.html
Mämmistä saa puuroa.
Isojakin ohjelmia voidaan palauttaa assembly-muotoon, mutta järkeväksi, kuvaavaksi ja modulaariksi lähdekoodiksi assemblyä ei voida palauttaa. Mutta esim. .Netin kääntäjien MSIL-muoto on assemblyä korkeampaa ja onkin esitetty kritiikkiä, että jonain päivänä joku neropatti saattaa keksiä tavan palauttaa MSIL käyttökelpoiseksi lähdekoodiksi.