Eli kuinka olisi mahdollista että jossain vb ohjelmassa olisi esim. auto.jpg aloituskuvana ja se näkyisi ohjelmassa mutta ei siinä kansiossa missä se on? Eli siis tähän mennessä olen lätkinyt tarvittavat kuvat vaan kansioon mukaan exe:n ja dll. kirjaston kanssa mutta haluaisin että niitä ei voi katsella kuin ohjelmassa.
Yksinkertaisin tapa on varmaan nimetä tiedoston päätteet oudoiksi. Eli esim alku.jpg nimeät alku.da7
Tietysti nyt riipppuu vähän mikä se todellinen tavoite on. Päästä eroon ylimääräisistä tiedostoista, yrittää estää kuvien väärinkäyttö...
Huomasin juuri itse että ominaisuuksista saa laitettua arvoksi "piilotettu" jolloin kuva ei näy mutta on kuitenkin olemassa. Kiitti kumminkin vinkistä.
Muista kuitenkin, että piilotetut tiedostot näkyvät siinä missä muutkin, jos esim. Windows Explorerin asetuksissa on valittu niin. Jos ohjelmassasi on tietyt muuttumattomat kuvat, voit kai ladata ne jo suunnitteluvaiheessa kuvakehyksiin. Silloin kuvat tulevat osaksi ohjelman EXE-tiedostoa, eivätkä ne näy erikseen hakemistossa.
Kuvat voi sisällyttää myös Resource-tiedostoon, josta niitä voi sitten latailla LoadResPicture-komennolla. Kun ohjelma käännetään, sisällytetään nämä Resource-tiedoston kuvat suoraan koodin joukkoon. Resource Editor, jolla projektiin voi lisätä Resource-tiedoston, on VB:n Add-In.
https://www.ohjelmointiputka.net/oppaat/opas.
Jooh, tuo piilotettu jutska ei auta yleensä mitään, koska eipäilen että suurin osa pitää piilotetut ja järjestelmätiedostot näkyvissä... Tuo resurssi systeemi on hyvä tapa pitää tiedostot poissa tyhmien ulottuvilta. Mutta nykyään nekin saadaan purettua helposti.
jcd3nton kirjoitti:
Tuo resurssi systeemi on hyvä tapa pitää tiedostot poissa tyhmien ulottuvilta. Mutta nykyään nekin saadaan purettua helposti.
Ai saadaan vai, en mäkään osaa. Sitäpäitsi ei ihan tavan tavi sitä pura.
Teet niin että tallennat kuvat vaikka .kuva päätteellä.
Cryptaat sisällön vaikka käyttäen XOR - cryptaus menetelmää joka o 64 bittinen eli ei mikään kaikista huonoin, koodivinkki löytyy vaikka täältä. Tai jos pitää nyt oikein pistää viimeisen päälle niin esim. AES (256 bittinen), tai blowfish (en nyt muista miten moni bittinen tuo on) ovat jo erittäin hyviä.
Sitten ennen kuvan latausta purat cryptauksen ja näytät kuvat.
Ja sitten voithan vielä tyhjentää leikepöydän ohjelmasi ollessa käynnissä sekuntin välein niin ei lähde grafiikka karkuun.
Minusta ei kannata piilotella kuvia tai yrittää estää niiden kopiointia, jos se vaatii paljon ylimääräistä työtä. Varsinkin peleissä on hauska päästä muuttelemaan kuvia ja muita tietoja, eikä tästä ole ainakaan haittaa pelille. Ja jos joku nyt haluaa kopioida ne kuvat, sitä ei pysty estämään oikein mitenkään.
Resursseistahan voi kaivella kuvia tms. esim resource hackerillä joten resursseihin "piilottaminen" ei ole oikea tapa piilottaa kuvia
Jos kuvat todella pitää piilottaa, niin suosittelen kyllä tuota Laaksosen mainitsemaa tapaa, eli liitä kuvat osaksi Exeä. Kryptaus olisi tietysti toinen keino, mutta VB:llä aikamoisen hidasta.
Juice; ei tarvitse itse tehdä muuta kuin mennä googleen, ettii sovellus joka purkaa kaikki tiedostot exe:stä sekä esim. dll:stä... Sitten vaan kaivelemaan.
Laaksonen; Erityisesti nettipelissä kuvien muokkaaminen aiheuttaa ongelmia, jokuhan täyttää kaikki peittävät tekstuurit läpinäkyväksi, joka toimii kuten wallhack yms.. elikkä näkee seinien yms. läpi. Se TODELLAKIN HAITTAA!
Kaikkein paras olisi oma kuvatiedostotyypi jonka sitten kryptaisi. Sitten kun lataa peliä niin purkaisi kryptauksen ja parsettaisi kuvan.
Resurssien läpi käyminen ei ole mikään ongelma eikä edes vaadi mitään hakkeriohjelmaa; esimerkiksi Delphi7:n esimerkeistä löytyy resurssinlukija.
Leikepöydän tyhjentäminen on aika hyvä, kuten myös tiedoston salaus algoritmilla. Helpommalla voi toisaalta päästä esimerkiksi hitaalla mutta varmalla tavalla: vaihdetaan joka toisen pikselin paikkaa (21 43 65 87 t. 18 27 36 45 tms.)
Minkä tahansa saa taitava kaveri purettua. Jos ei muuta, niin tosihakkeri kaivaa heksaeditorilla kryptauksen esiin tai tekee assemblyllä muistia kaivelevan ohjelman. Leikepöydän tyhjentämisen kiertää kätevästi ohjelmalla, joka tallentaa sisällön riittävän tiheästi (ja aktivoituu vaikkapa tietyistä näppäimistä vaikka olisi vain taustalla, jottei tila lopu kesken).
Itse käytin ennen DX:ään siirtymistä yksinkertaista menetelmää:
Kuvat olivat PCX-muodossa. Laitoin niitä monta samaan tiedostoon peräkkäin. Tiedoston alkuun kirjoitin BMP-otsikon, ja päätteeksi laitoin .BMP, jolloin kuva aukesi millä tahansa kuvaeditorilla Bitmappina, jossa kuitenkin oli vain täyttä sotkua. Oma ohjelmani sitten aloitti tiedoston lukemisen oikeasta kohdasta ja sai aikaan oikean PCX-kuvan.
tuomas kirjoitti:
Cryptaat sisällön vaikka käyttäen XOR - cryptaus menetelmää joka o 64 bittinen eli ei mikään kaikista huonoin, koodivinkki löytyy vaikka täältä. Tai jos pitää nyt oikein pistää viimeisen päälle niin esim. AES (256 bittinen), tai blowfish (en nyt muista miten moni bittinen tuo on) ovat jo erittäin hyviä.
Mistäs lähtien "XOR" on ollut 64-bittinen? :) Kannattaa myös muistaa, että "bittimäärä" ei aina kerro koko totuutta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.