Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: exeen tiedostojen lisääminen jälkikäteen

Sivun loppuun

Axuu [03.08.2005 12:28:10]

#

Miten saisi koodistakäsin lisättyä exeen jotakin (tiedoston),ja vaihdettua iconin?

tuomas [03.08.2005 12:30:36]

#

Hohhoijaa. Miksi näin pitäisi ylipäätänsä tehdä?
Ja suoraansanottuna turha edes kuvitella onnistuvansa muuttamaan ohjelmaa toimimaan toisella tavalla.

hunajavohveli [03.08.2005 12:37:27]

#

Miksi siihen exeen pitäisi lisätä mitään?

Axuu [03.08.2005 12:45:07]

#

tuomas kirjoitti:

Ja suoraansanottuna turha edes kuvitella onnistuvansa muuttamaan ohjelmaa toimimaan toisella tavalla.

En ole muuttamassa ohjelman toimintaa, tahtoisin saada vain koon hieman muuttumaan. (muutamia kt)

Blaze [03.08.2005 13:53:02]

#

Avaa se binäärimoodissa ja kirjoita ihan tavallisesti haluamas data sen loppuun.

Axuu [03.08.2005 16:26:05]

#

Mutta eikö se sekoita tiedoston käyttökelvottomaksi?

rndprogy [03.08.2005 16:39:50]

#

Ei, jos teet sen jollain hexa-editorilla. XVI32 on yksi hyvä.
EDIT: ainiin joo. Tässähän ollaan koodamassa :) Eli avaa se tosiaan binääri moodissa.
Open "filu.exe" for binary as #1
Ja sitten "puttaat" vaan. Put #1, ,0
En ole varma pitääkö tohon pilkkujen väliin laittaa se kohta mihin tallennataan eli tiedoston loppu eli tiedoston koko, joten kannattaa ottaa joku varmuuskopio.

Antti Laaksonen [03.08.2005 16:56:52]

#

Ohjelmaa voi jatkaa tähän tyyliin. Ensin avataan tiedosto binääritilassa ja siirrytään sen loppuun. Sitten vain kirjoitetaan omat tiedot valmiina olevien jatkoksi. Seuraava ohjelma liittää tiedostoon 10000 tavua, jotka ovat taulukossa.

Dim tiedot(10000) As Byte
Open "c:\vb\testi.exe" For Binary As #1
Seek #1, LOF(1) + 1
Put #1, , tiedot
Close #1

Parin kokeilun perusteella ohjelman toiminta ei häiriinny, vaikka sen jatkeeksi pistäisi omaa tietoa. Muistaakseni exe-formaatin alussa on kyllä tiedoston kokoon liittyvä arvo, mutta tätä ei ilmeisesti tarkisteta ohjelmaa ajettaessa.

Omaa ohjelmaa ei pysty muokkaamaan ajon aikana (lukeminen saattaa kyllä onnistua).

Axuu [03.08.2005 17:27:04]

#

Mietin itsekkin aluksi tuota vaihtoehtoa, mutta sitten ajattelin, että se tekee exen käyttökelvottomaksi, mutta ei se näemmä teekkään. Kiitos kaikille!

Mutta entä iconin vaihto?, vai onko se liian vaikeata toteuttaa?

Blaze [03.08.2005 17:39:52]

#

Ikonia voi vaihtaa, se löytyy sieltä jostain resursseista, mutta varaudu viettämään joitakin tunteja lukemassa tuosta exejen resurssiformaatista.

Jos tuo on tarve tehdä vain tehdä, voit toki käyttää jotain valmista ohjelmaa, kuten PE Resource Exploreria, näyttäis olevan Delphi-sorsat mukana, joten siitä voi saada jotain vinkkiä tuohon mahdolliseen omaankin toteutukseen.

Antti Laaksonen [03.08.2005 17:40:05]

#

Ohjelman kuvake on toki tallennettu tavalla tai toisella ohjelman sisään, mutta enpä tiedä, kuinka vaikeaa sen muuttaminen on jälkeenpäin. Ainakin jos omaa VB-ohjelmaa tarkastelee heksaeditorilla, kuvakkeen pikselit pystyy näkemään. Kuvake on siis ilmeisesti ohjelman sisällä samassa muodossa kuin kuvaketiedostossakin (ico).


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta