Kysymys:
Hämärtää Windowsin suoritettavia tiedostoja
mrduclaw
2013-03-23 14:34:53 UTC
view on stackexchange narkive permalink

GCC: n avulla voit kirjoittaa optimointilaajennuksia, joita voidaan käyttää käännetyn suoritustiedoston hämärtämiseen, mutta tätä ei siirretty osoitteeseen mingw . LLVM sallii jotain samanlaista, mutta barfit sisältäessä Windows.h.

Onko olemassa kääntäjää, jonka avulla saan pääsyn AST: hen juuri ennen linkitysaikaa ja tuottamaan Windows-suoritettavan tiedoston ?

Miksi tarvitset `windows.h` * kääntäjässä *?
Ikkunoiden parissa työskentelemiseen on tehty paljon työtä. On joitain lippuja, jotka sinun pitäisi ehkä siirtää (kuten -fms-laajennukset). Luulen tässä vaiheessa, että räjähtävä tiimi mainostaa työskentelevänsä Windowsissa. H, tiedän, että olen saanut sen toimimaan aiemmin
@IgorSkochinsky Anteeksi tietämättömyyteni, oliko se pieni Microsoftissa vai teen jotain täysin väärin?
@Andrew Yritin aiemmin välittää `-fms-extensions ', mutta törmäsin ongelmiin. Tämä on ollut muutama kuukausi, ehkä se on nyt korjattu. Kiitos.
"Hämmentäminen" herättää yhden kysymyksen: mitä varten? Mitä haluat saavuttaa?
@0xC0000022L Oletan, että "haluaisin saavuttaa jonkin verran hämärtymistä" ei riitä? Mielestäni tämä liittyy kysymykseen kääntäjän esineiden piilottamisesta keinona vaikeuttaa käänteistä suunnittelua.
@mrduclaw: gotcha. Ei, on järkevää tällä tavalla. Luulen kuitenkin, että artefaktit, joita joudut myös käsittelemään tällaisessa tapauksessa, sisältävät myös tavaraa, joka linkitetään binaariin. Eli. paitsi kääntämäsi aineisto myös linkittämäsi *, kuten `libgcc`.
@0xC0000022L Hyväksyi, ongelmia olisi edelleen. Mutta toimintaprologien ja epilogien vaihtaminen voi olla hauskaa joka tapauksessa.
Kaksi vastused:
Rolf Rolles
2013-04-03 14:02:34 UTC
view on stackexchange narkive permalink

Pari asiaa, jotka kannattaa ehkä tarkastella:

Hieman selkeyttääkseen: kirja on erittäin hyvä, mutta kyse ei ole oikeastaan ​​siitä, kuinka kirjoittaa (laajennuksia) tietyille kääntäjille. Se kattaa pikemminkin ohjelmamuunnosten taustalla olevat käsitteet, jotta hämärtyksiä voidaan soveltaa ohjelmiin yleensä.
newgre
2013-04-03 13:26:16 UTC
view on stackexchange narkive permalink

Oli kääntäjäinfrastruktuuri nimeltä phoenix (katso myös wikipedia). Käytin sitä jopa joissakin ohjelmamuutoksissa, mutta valitettavasti se ei koskaan päässyt pidemmälle kuin mitä MS kutsuu "Yhteisön teknologian esikatselu (CTP)". Nyt se näyttää olevan kuollut, saan 404 jokaiselle MS-tutkimuksen sivun linkille, joten minusta tuntuu, että tämä projekti lopetettiin.

Jos olet kiinnostunut käyttämään LLVM / CLANGia Windows kannattaa ehkä katsoa tämä sivu, joka tarjoaa laajennuksen LLVM: n käyttämiseen VS: ssä. Kokeilin sitä lyhyesti, enkä voi sanoa siitä paljon, mutta sen pitäisi antaa sinun kääntää ja rakentaa LLVM-laajennuksia Windowsissa.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...