Uzavřený kód v Jave

Re:Uzavřený kód v Jave
« Odpověď #15 kdy: 25. 06. 2012, 16:39:27 »
máš pravdu, teď mi to došlo...:D
jak řikám, sem začátečník a některý spojitosti (pro někoho nad slunce jasný) mi docházej pomalejc...
vlastně když někdo použije můj kód tak já to vlastně taky mohu zjistit, protože jeho aplikace taky nebude nijak zašifrovaná :D - měl sem obavy z toho dokazování...


Rax

Re:Uzavřený kód v Jave
« Odpověď #16 kdy: 25. 06. 2012, 17:11:39 »
Skôr Ti doporučím spraviť to ináč. Sprav servrovú aplikáciu, ktorá bude mať všetku funkcionalitu na serveri a zákazníkovi daj len jednoduchého klienta, ktorý bude komunikovať so serverom.

To funguje, ale málokdo je ochoten za tohoto holuba na střeše zaplatit nějakou významnou částku a ve spoustě firem je přístup na internet z technických nebo politických důvodů nemožný, takže vyžadují kompletní dodávku software přímo na jejich hardware.

Waseihou

Re:Uzavřený kód v Jave
« Odpověď #17 kdy: 25. 06. 2012, 17:20:32 »
Pokud by jsi chtěl jít do extrému, tak můžeš zkusit do své aplikace implementovat prvky whitebox cryptography. To je metoda která umožní "schovat" šifrovací klíč třeba od AES do kódu tak že ani vlastnictí zdrojáku nepomůže, pokud nějak chytře nahákuješ kusy kódu na dešifrování tak by jsi teoreticky mohl udělat zdroják který nejde lousknout respektive nepoběží bez "krabice", a krabice může chtít tahat data ze sítě a nebo si vynutit vykonání určité činnosti a tu kontrolovat.

Příklad na generování zdrojáku dekryptoru AES pro konkréní klíč: http://files.rsdn.ru/45067/aesig.zip
vytvoří decryptor který dešifruje AES podle tebou zadaného klíče, sice je to v c ale asi by nebyl problém předělat to tak aby to generovalo javu. Samozřejmě je také možné to použít na vlastní FUD crypter těmi kdo dělají malware. Souborek doporučuji zálohovat, je to masíčko ;) Exáčům nevěřit, zdroják je ale ok...

Prakticky se to dá použí na implementaci DRM a možná i pro vynucení funčnosti uzlu v síti p2p tak aby je to donutilo uploadovat, ale tuto možnost zatím prověřuji. Třeba udělat stavový automat a stavy nějak hnát šifrovaně přes tu krabici a výstup použít k verifikaci chování, nevím.

Jinak spolu s obfuskátorem získáte něco horšího než BLOB a přitom to můžete šířit pod GPL...

Re:Uzavřený kód v Jave
« Odpověď #18 kdy: 25. 06. 2012, 17:25:28 »
Waseihou, to je vlastně úplně stejný princip, na jakém fungují online hry typu WoW a Diablo 3, ne? Že to některá data streamuje ze serveru a bez toho to nefunguje.

Waseihou

Re:Uzavřený kód v Jave
« Odpověď #19 kdy: 25. 06. 2012, 17:35:03 »
No ten program co jsem dal odkaz neumí nic jiného než vygenerovat zdroják který dešifruje data zašifrovaná pomocí AES nějakým klíčem. Jak s tím naložíte je už jen na vás, není jednoduché vymyslet co s tím. Vlastností která to činí zajímavým je že by ani ze zdrojáku nemělo být snadné klíč uhodnout a nebo ho změnit. Takže obfuskujete a zašifrujete zdroják a hodíte do pole, vytvoříte decryptor včetně skrytého klíče, a pak při startu programu rozšifrujete kód do paměti a pustíte to. Na oba zdrojáky hodíte GPL GNU licenci a můžete používat i GPL knihovny aniž byste je porušili. Tahle metoda se ale primárně používá pro skrývání virů - hledejte FUD crypter, a bacha na antiviry, toto chování programu už dnes zkouší detekovat, ale to už pak váš crypter není FUD ;)