Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Jak schovat zdrojový kód?

trosa
verified
rating uzivatele
(4 hodnocení)
17. 5. 2013 10:55:40
no, asi jsi necetl moij poznamku o tom, ze mam adresare s kodem pro kazdeho klienta, ve kterych mam to co chci obfuskovat a poslat klientovi. Takze bod a) je lichy (to jsem proste vul, pokud to udelam a nemam to 10x zalohovane). Bod b) proto mam adresare s kodem pro klienta1,2,3... kde to muzu rychle opravit. Bod c) pouziju takovy nastroj ktery mi udela log ze XYZ nahradil za ABC. Pak neni problem dohledat v tomto logu co to je za funkci. Tve problemy jsou pri spravnem postupu zcela liche.
Nicmene k tve posledni poznamce - ano, to mas vicemene pravdu. Proto treba ja osobne weby pro klienty zasadne hostuju jen u sebe na svem serveru kam klient nema zadne FTP a jinak delam desktopove aplikace, ktere se nastesti kompiluji :-)
---------- Příspěvek doplněn 17.05.2013 v 11:01 ----------
Napsal vpixle;950218
...ale predstav si ze ti v patek odpoledne vola klient, ze mu neco nefunguje a ty otevres takovouhle krabici cervu a snazis se v tom udelat treba jen nejjednoduzsi upravu. Pro zvyseni efektu to prejmenuje i vsechy funkce a volani, takze ani diva svina se v tom nevyzna.
Jinymi slovy veskere naklady na spravu zdroje, verzovani a deployment vynasob dvaceti.
ale chlapi, vy asi jen leta skriptujete a skritujete, ze uz jste zapomeli ze to ze to narychlo nekde zadratujete je jen moznost kterou mate diky tomu ze pouzivate skrptovany jazyk. Nedivejte se pak na to, jako na skript ktery upravujete, ale jako na aplikaci kterou kompilujete. Pokud delate napriklad v .NET, Delphi, C++ a dalsich jazycich, tak taky nepujdete a nevyeditujete v notepadu .EXE soubor! Jak rikam - mate pro kazdeho klienta ZDROJOVY KOD v adresari KLIENT1, KLIENT2,... a pokud klient neco chce, opravite to TAM a pak kliknete na nejaky batak a ten Vam z toho vysype idealne uz rovnou na FTP klienta vysledek. Takhle se to dela. Navic tim nevymrvite nic u klienta, pokud by jste to editovali primo u nej (at uz original nebo obfuskovany kod). Proste mam svoje pracovni prostredi kde to opravim a pak to na kliknuti nahraju ke klientovi. To jestli se to predtim obfuskuje, zkompiluje, zasifruje, obarvi na ruzovo - to je jen skript ktery proste NECO udela cestou ke klientovi. Nechapu Vase 20ti nasobne naklady
17. 5. 2013 10:55:40
https://webtrh.cz/diskuse/jak-schovat-zdrojovy-kod/strana/2/#reply901939
vpixle
verified
rating uzivatele
(3 hodnocení)
17. 5. 2013 21:09:05
od ted vime ze my jsme vsichni blazni a letadlo jsi jenom ty. to si vazne si nahravas zdroje do oddelenych adresaru ktere se jmenuji KLIENT1, KLIENT2? .... tak to me jeste NIKDY nenapadlo!!!!
/sarcasm off/ mnoha slovy jsi popsal infrastuktusni procesy pro spravu kodu uvnitr agentury ktere maji dvoji naklady: a) naklady na udrzbu b) naklady na spravu chyb ktere takovy system z principu generuje. protoze jeste porad spravuju svoje kody z let 1991-2 mam pomerne solidni predstavu kolik by me stalo, kdybych pred temi lety podlehl presvedceni ze muj kod je dilo poloboha, jedinecny, nenahraditelny a budu ho chranit vyse popsanym zpusobem.
odpoved pro Psychicala, ktery tohle vlakno zacal: ano zdroje se chranit daji, ale NENI TO ZADARMO a musis si hodne dobre rozmyslet jestli se ti to vyplati. pokud jsi opravdu metodicky, nemas zrovna do ceho pichnout a dokazes to zabudovat do sveho standardniho workflow spolecne s automatickym verzovanim, automatickym testovanim (a jsi pripraven to cele navrhnout tak, aby to cele fungovalo jeste v roce 2035), jdi do toho! pokud to ale cestou nekde pokasles, vzpomen si na me az za dvacet let otevres adresar KLIENT1 a jukne na tebe nejakej "batak", kterej ma neco nekam nasypat. moje rada: nikdy ho nezpoustej!
17. 5. 2013 21:09:05
https://webtrh.cz/diskuse/jak-schovat-zdrojovy-kod/strana/2/#reply901938
Dominique
verified
rating uzivatele
(5 hodnocení)
17. 5. 2013 22:04:12
Kod sifrovany nejakym hashem se da ziskat vzdycky zpet. Je potreba myslet racionalne.
Nektere jazyky tezko sami od sebe zkompilujete, ale treba v php, perlu, pythonu, bashi se da externe pouzit skript u aplikace, ktera pouziva jiny programovaci jazyk. Urcita zmena prostredi neni na skodu, ale zase to neco znaci v pripade potrebnych aplikaci a knihoven. Proc treba perl potrebuje wine prehnane???
I v uzavrenych kodech je to hrozne podezrele, ze zrovna na jednom systemu dll knihovna jde a na druhem bez ni nebo te same ale v jine verzi nejde. Reverzne Vam to nekdo prolomi.
Problem je v tom, ze staci chyba v zapisu a takove omezeni jsou nasledne v logu snadno dohledatelne. Kazde takove omezeni je z vetsi miry na skodu a to i u uzavrenych kodu.
Napr. se v logu objevi, ze POST promenna pass neni nastavena, tak proc se vubec pouziva v nejaky funkci, tride a jeji podmince zrovna v dobe kdy byl zakazan pristup??? Pak tam programator pouzije navic required, prenastavi par promennych a je to vsechno stejne ztraceny a prolomeny a zacina se odzacatku.
Dovedu si tvrdit, ze...
Pokud je kod psany dobre a kvalitne, tak prenastaveni promeny v kodu za neadekvatnich podminek je i u otevreneho kodu daleko slozitejsi nez pri pouziti kdejakych hashu.
1. rada
budto napiste aplikaci o mnoha a mnoha radcich a napiste kod kvalitne, ktery neni pres ruzne logy dohledatelny, to stoji hodne penez, casu a analyz. V php to znamena pouzivat casto isset nebo empty(milionove funkce)
2. rada
pouzivejte jednoduche algoritmy, jak jsem uvadel. Vytvorte si dekodovaci a enkodovaci skript, treba jen base64. Aplikujte to na vsechny included a required, zkratka na vsechny podobne funkce a zkombinujte to s prostym otevrenym kodem. Budete se pak divit, jak to ostatnim zhorsi praci, ze to radeji vzdaji.
3. vse je nakonec prolomitelny a smirite se s tim
Tudiz nekdo bude zkoumat vas kod a ucit se ho, pak ho prolomi, ale vy musite mit v ty dobe dalsi novou verzi, ktera bude lepsi. Tim zabijite jak kopirovani, tak utoky. Ale to uz je vyssi level, nebot budto vytvarite opensource a mate zpetnou vazbu od lidi nebovytvarite uzavreny kod a dovedete se platit za nalezeni der.
17. 5. 2013 22:04:12
https://webtrh.cz/diskuse/jak-schovat-zdrojovy-kod/strana/2/#reply901937
qwertr
verified
rating uzivatele
(7 hodnocení)
17. 5. 2013 22:12:24
Bavime sa o obfuskatovani vseobecne ale len na spriptovacie jazyky ? Je x programovacich jazykov, kde vysledok ktory sa odovzdava klientovi nie je zdrojovy kod ale spustitelny program. Tam nevidim problem pouzivat obfluscator. Uzivatel ma chraneny vysledny produkt a u teba je zdrojovy kod ktory mozes bez problemov opravovat. To sa spominali naklady na spravu projektu. Pokial maz scriptik, ktory napise jeden programtor za 2 tyzden a potom ho odovzda klientovi a viac do toho nesahne, tak potom naklady na verzovaci system, unitove testy, continius integration, spravu poziadaviek su vysoke. No len skus mat podstatne vecsi projekt. Robil som vo firme, kde sme 3 programatori robili na jednom programe 5 rokov. Ked som tam zacinal tak bol uspech ze sa pouzivalo verzovanie. Ked som odchadzal, tak sa pouzivali unitove testy, versovaci system, continuis integration. Verzovaci system bol prepojeny zo systemom na spravu poziadaviek. Ten program mal vyse milion riadkov zdrojoveho kodu a vyse 100 tabuliek v databaze. To vsetko sa postupne nasadzovalo koli tomu, aby sa prave znizili naklady na udrzbu toho programu. Taktiez sa pouzival obfuscator na vystupny program. Naklady na pouzitie obfluscatora voci tomu ak by nam napr. niekto jednoducho nabural naz program boli zanedbatelne. Program bol nainstalovany u vyse 700 zakaznikov.
17. 5. 2013 22:12:24
https://webtrh.cz/diskuse/jak-schovat-zdrojovy-kod/strana/2/#reply901936
Riedl
verified
rating uzivatele
17. 5. 2013 23:35:01
obfluscator jako prebuild v nějakem CI (jenkins a spol.) je elegantni řešení - ke klientovi se deployne obfluscovana verze a v gitu máte pořád normální...
17. 5. 2013 23:35:01
https://webtrh.cz/diskuse/jak-schovat-zdrojovy-kod/strana/2/#reply901935
trosa
verified
rating uzivatele
(4 hodnocení)
18. 5. 2013 19:57:34
Napsal vpixle;950434
od ted vime ze my jsme vsichni blazni a letadlo jsi jenom ty. to si vazne si nahravas zdroje do oddelenych adresaru ktere se jmenuji KLIENT1, KLIENT2? .... tak to me jeste NIKDY nenapadlo!!!!
no, je videt ze mas smysl pro humor, ale:
a) nemam potrebu obfuskovat kod
b) varianta pro adresare klient1...klientx je nejake verzovani - treba SVN, CVS, GitHub,... kde si taguju releasy pro zakazniky
c) pokud bych uz pro zakaznika delal kod ktery je necim specificky, pak ANO, pak mam adresar kde mam "piskoviste" pro tohoto klienta - tj. mam web pro nej ktery jsem mu dodal v pracovni verzi, kde mam stejny kod jako u nej, abych mohl pripadne zmeny udelat u sebe a nedelal to jako prase u nej na zivem kodu.
- nicmene bavime se o vecech ktere delam pro klienty na zakazku - tj. unikatni per klient. Pokud delam (jako moji hlavni praci) krabicovy SW ktery (dobre ne jako ty 20let), ale delam "jen" 7 let, pak pripadne diverze pro zakazniky mam pres "IFDEF" kod, tak abych mel pouze jeden jediny zdrojovy kod ze ktereho mi odlisnosti vypadnou prepinacem v kompilatoru.
18. 5. 2013 19:57:34
https://webtrh.cz/diskuse/jak-schovat-zdrojovy-kod/strana/2/#reply901934
Pro odpověď se přihlašte.
Přihlásit