Forrás-beágyazás, de hogyan?
Az évek alatt elég sok munkám forrása elveszett, vagy kallódik valahol, valamelyik katalogizálatlan DVD-ROM-on. Ezért azt találtam ki, hogy ezen túl a programok forráskódját beágyazom a futtatható binárisba.
És itt jön a kérdés: Hogyan?
Arra várnék válaszokat, hogy ezt az elgondolást ki hogyan valósítaná meg, ha az lenne a cél, hogy:
- A bináris ne nőjön túl nagyra.
- A binárisból közvetlenül ne lehessen kiolvasni a forrást.
- A binárist egy paraméterrel meghívva, az, a benne foglalt forrást írja ki egy file-ba.
Az értelmes, konstruktív válaszokat előre is köszönöm.
Sziasztok uraim,
írd meg Assemblyben, és abból egy disassemblerrel a forráskód bármikor előállítható!
"Tudom, a szoftverfejlesztők rendszerint a legcsóróbb emberek, akiket már 1500 forintnyi extra költség is romba dönt...
"pazarló és totál kezelhetetlen lenne"
Nem kezelhetetlenebb, mint nulláról újraírni valamit. Betolod egy lapolvasóba, ráeresztesz egy OCR-t, és ott is van a forrás, kezelhető formában. Kicsivel kevesebb idő, mint újraírni."
Nem, a szoftverfejlesztők gyakorlatiasak és nem állnak bele olyan hülyeségekbe, hogy nyomtatás, utána meg OCR és vissza, hanem inkább keresnek más, jobb megoldást.
A te, amúgy röhejes elképzelésednél még az is jobb, ha két pendrive-ra kimásolja valaki a forrást, plusz feltolja az internetre is.
"Nyilván azt is tudom, hogy te emellett hetente adsz ki a kezeid közül 10-20 ezer soros programokat,"
Ha az elmúlt 15 év termését kinyomtatnám, nem biztos, hogy ugyanolyan kényelmesen elférnék ebben a félszobában mint most, de a fő gond nem ez, hanem az, amit már írtam is.
Nyomtatás, meg OCR. Te jó ég. Ilyet kitalálni 2023-ban?! Ez most komoly? :]
"Most elképzelem, hogy az ügyfél megkér, hogy adott fejlesztést eszközölj a szoftveren, te pedig illedelmesen elkéred tőle a futtatható fájlt... (Az meg eléggé életszerűtlen, hogy a futtatható megvan, a forrás meg nincs.)
Egyébként sem jó ötlet fixen "bedrótozni" változó adatokat a programba. Egy konfig-fájlban tárolod, hogy melyik számra küldje az SMS-t, és ha változik a szám, akkor azt át lehet írni. Egyszeri, saját célú hobbi-feladatoknál még rendben van, ha fixen beírsz valamit a programkódba, de egy profi munkánál ez erősen ellenjavallt."
Vagy túlságosan énközpontúan gondolkozol, vagy nincs sok közöd ahhoz a tevékenységhez, amiről itt meg akarod mondani nekem a tutit.
Ami munkát én végzek, az sajnos azzal a veszéllyel is jár, hogy az ember fejlesztését mások ellophatják és profitálhatnak belőle. Részben ez az oka annak, hogy a felhasználó nem módosíthatja kedvére a program bizonyos adatait, működési jellemzőit. Emellett még jogszabályi korlát is van, na meg az, hogy akkor nem fordulnának hozzám, hogy végezzek el egy 15 percet igénylő munkát hatvanezer forintért, hanem megcsinálnák ezt ők maguk. Egyébként ebben az esetben megkapták a forrást, enkódolva, el is hozták, csak az a gond, hogy elfelejtettem a jelszót, a brute force alkalmazást meg, ami kikotorta volna, hat nap nonstop futás után lelőttem.
A hármas válaszoló sorait köszönöm. Ő jár a legközelebb ahhoz, amire gondoltam.
Az erőforrás file kódolásához nem akarok nagy feneket keríteni, mivel a felhasználóknak tudomásuk sincs arról, hogy a futtatható file tartalmaz ilyesmit, arról még úgy sem, hogy azt miként lehetne extraktálni.
Tettem egy hevenyészett vizsgálatot és a következőkre jutottam.
Az én esetemben standard zip tömörítést alkalmazva 12 000 sor, kompresszálása után 61 kB (1:6) eredményfile született.
A vizsgált forrásfájlok 359 kB méretűek.
Ismert, hogy a forráskódokban elég gyakori a redundancia, hiszen néhány tíz kulcsszó, n darab változó és n darab függvény neve adja ki a tartalom relatív jelentős hányadát.
Most azon töröm a fejemet, hogy érdemes lenne-e kifejleszteni egy ilyen szó alapú tömörítőt, vagy sem?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!