borec
2.10.2004, 10:10:04
@Bakus: tu masz to samo na serwerze:
www.iii-lo.tarnow.pl/~borec/mazed.phpwww.iii-lo.tarnow.pl/~borec/mazed.txt (zrodlo, zapisz na dysk i odpal, w przegladarce nie wyglada najlepiej)
jak wspominalem to jest najnizszy poziom zabezpieczenia, wiec nie powinnienes miec problemow z odkodowaniem
Hm, a jak forum IPB 2, które jest teraz płatne ma zamiar się zabezpieczyć przed używaniem forum za darmo?
kubatron
2.10.2004, 17:47:38
Cytat(sf @ 2004-10-02 14:27:30)
Hm, a jak forum IPB 2, które jest teraz płatne ma zamiar się zabezpieczyć przed używaniem forum za darmo?

Wydają tzw. wersje TRIAL czyli 15dniową, i ma być ograniczona...
Vengeance
2.10.2004, 18:01:44
Po 1. powiem ze ten "zakodowany" skrypt w ogole mi nawet nie dziala. ale szczegol.
po 2. rzeczywiście trudno jest to rozkodować. Ale nie jest to niemożliwe ;]
Nie będę tu wklejał moich dokonać bo to troche by zawaliło baze a i tak polowe by poucinalo ze wzgledu na "specjalne znaczki". Powiem tylko tyle (co i pewnie Bakus zauważy jeśli też będzie chciał rozpracować ten skrypt), że najgorsze w tym wszystkim są poziomy zagnieżdżenia. To znaczy te wszystkie dzikie znaczki przeinaczają się potem w kod php który znów ma dziwne znaczki w środku. Ów dziwne znaczki po modyfikacjach phpowych znów przeinaczają się w kolejny skrypt i staje się to dość monotonne ;]
Skrocone wersje tego co ja odszyfrowalem.
Poziom pierwszy zagniezdzenia
<?php
$V000='4d27bd16bb9f99840567e7fdd92adfaf';
{
echo 'This script requires php version 4.3.0 or higher (current version is return '.phpversion().')'; return;
}
$znaki_ascii='';
for($i=0;$i<=255;$i++)
$znaki_ascii .= chr($i);
?>
<?php
function nazwa($parametr)
{
$znaczki=substr($znaki_ascii,63
,128
).substr($znaki_ascii,0
,63
).substr($znaki_ascii,63
+128
); return eval(strtr($parametr,$znaczki,$znaki_ascii)); }
nazwa($przyszly_parametr);
?>
Poziom drugi zagniezdzenia
<?php // drugi obieg
// ... smieszne znaczki otrzymane po rozkodowaniu wczesniejszych smiesznych znaczk
w ...
function nazwa2($parametr)
{
$znaczki=substr($znaki_ascii,18
,218
).substr($znaki_ascii,0
,18
).substr($znaki_ascii,18
+218
); return eval(strstr($parametr,$znaczki,$znaki_ascii)); }
?>
trzeci tez rozszyfrowalem ale kupa w nim smieci dodanych ot tak poprostu przez ten szyfrator. W sumie zaprzestalem dalej sie tym bawic bo nie widze w tym celu hehe ;] do odszyfrowania to i tak jest ale szkoda czasu na to bo i tak nic mi to nie da ;]
Vertical
2.10.2004, 18:07:31
Numer seryjny w celu odpalenia? Wystarczy wejść na
http://mscracks.com . Ja radziłbym wprowadzić do produktu coś w stylu "klucza autoryzacyjnego". Po pierwsze, program nie działałby (w przypadku windowsa) bez wpisów w rejestrze, a po drugie, przy każdym zainstalowaniu klucz autoryzacyjny zmieniałby się zależnie od numeru produktu. Numer produktu "szyfrowałby" klucz autoryzacyjny za pomocą algorytmu. Algorytm byłby zmieniany co jakiś czas, żeby nie powstawały "keygeny". Oczywiście za klucz autoryzacyjny trzeba byłoby zapłacić.
Vengeance
2.10.2004, 18:46:23
jak dla mnie wszystkie te sposoby sa denne ;]
kupuje taki user jedna kopie oryginalna. instaluje z tymi twoimi kluczami etc...
przez to ze zainstalowal tworza mu sie jakies tam pliki czy cos.
On to wszystko kopiuje pakuje i wystawia.
No i ludzie maja w 100% dzialajacy skrypcik.
klucz autoryzacyjny mógłbyś zmienić dopiero z kolejną wersją ( ew. upgreade). to samo się tyczy algorytmu numeru produktu szyfrującego klucz autoryzacyjny. w innym wypadku to, co byś zarobił, szło by na opłacenie zabezpieczeń (Twój poświęcony czas też ma swoją cenę)...
chyba, że stworzyłbyś algorytm szyfrujący algorytm numeru produktu szyfrujący klucz autoryzacyjny... (enigma?? coś w tym stylu...)
P.S. w ostatnim zdaniu nie ma błędu...
Vertical
2.10.2004, 19:19:58
@Vengeance: Nie może przekopiować, bo potrzebne są wpisy w rejestrze!
Ale tak na marginesie, to ten system tylko teoretycznie mógłby działać.
Cytat
Twój poświęcony czas też ma swoją cenę
Właśnie o to chodzi. Wszystko, co powiedziałem, to czysta teoria
Puciek
2.10.2004, 19:26:02
Sledze ten temat od poczatku z niemalym zainteresowaniem i po tych wszystkich postach postanowilem sie wypowiedziec.
Myslimy od zlej strony, poniewaz jak zostalo powiedziane na wytrwalych nie da rady - zbiora sie w pare osob i zawsze sobie poradzą. Dlatego tez nalezy poprostu pomyslec od drugiej strony - niezabezpieczamy kodu - niech mysla ze nie ma zabezpieczen a tak naprawde bedzie tam schowany skrypt laczacy sie z ogolna baza MyApp i jezeli adres z ktorego zostal wyslany sygnal niebedzie zgodny z zawartym w umowie MyApp (dodatkowy problem w tym ze klient bedzie musial informowac o zmianie adresu) wysyla email do autora. I wtedy kwestia czy zawarlismy w licencji klauzule oplaty za rozpowszechnienie skryptu. Dzieki temu zostaniemy poinformowani o tym i bedziemy mogli wytoczyc proces klienowi zadajac odszkodowania zawartego w umowie.
Innego rozwiazania niewidze.
i obudzisz się zlany zimnym potem...

jeśli to by było jedyne rozwiązanie, to crackerzy z nudów zaczęli by czyścić swoje klawiatury, co poniektórzy myszki...
Pućku drogi, czy uważasz, że światek przestępczy szanownie crackujący chodzi w dresach, nie ma szyi i ma zeza, czy wygląda jak wychudzony, niewyspany wypłoch, opity coli i redbull-a do granic możliwości?
żyjesz w matrixsie...
weź pigułkę
Puciek
2.10.2004, 20:35:21
Nie zyje w matrixie ale znam conieco ludzi z tego srodowiska (wprawdzie glownie gry i programy, ale skrypty php tyz) i z zalozenia wiem ze jak sie upra to zalatwia.
Nierozumiem tylko twojej dygresji do dresow
Cytat
Nie zyje w matrixie ale znam conieco ludzi z tego srodowiska (wprawdzie glownie gry i programy, ale skrypty php tyz) i z zalozenia wiem ze jak sie upra to zalatwia.
i właśnie o to mi chodziło!
uważasz, że nie wpadną na to rozwiązanie, które zaproponowałeś? pewnie, że wpadną!
Cytat
Nierozumiem tylko twojej dygresji do dresow
myślący inaczej (przenośnia zwana również metaforą)

wyjątki potwierdzają regułę...
prościej: aby bawić się w łamanie kodów nie wystarczy mieć 80IQ i dobre chęci... i bogatego tatusia, który kupi my new comp...
Puciek
2.10.2004, 20:50:06
Jasne ze wpadna, ale nim wpadna to wlasciciel MyApp otrzyma sygnal ze kopia sie przedostala - taki byl moj sens
jednak wolę enigmę...
teoria: czy da się tak zapętlić zabezpieczenie w jądrze systemu, żeby nie można było oszukać lub usunąć (dezaktywować) zabezpieczenia bez naruszenia samego jądra?
Puciek
2.10.2004, 22:59:25
Cytat(mpps @ 2004-10-02 22:28:25)
teoria: czy da się tak zapętlić zabezpieczenie w jądrze systemu, żeby nie można było oszukać lub usunąć (dezaktywować) zabezpieczenia bez naruszenia samego jądra?
To nawet teoretycznie nie jest mozliwe gdyz mozna spokojnie usunac zabezpieczenia szyfrujace ze wszystkich plikow a dopiero potem je odpalic na serwerze.
Lukasz Luczak
2.10.2004, 23:13:06
A ja powiem Wam tak:
Nie da się niczego zabezpieczyć na 100%...
Jeśli udostępniasz komuś kod to mozesz być pewien, że ten kod pójdzie w świat i trafi w ręce kogoś kto będzie w stanie usunąć zabezpieczenia - odpowiednie manipulacje na pliku, debugowanie, dekompresja itp a potem tylko usunąć co potrzeba.
Podsumowując:
Nic nie zabezpieczysz idealnie.
Ale:
Możesz dać na tyle mocne zabezpieczenia by żadnemu crackerowi nie opłacało się ich złamać.
Jeśli cena Twojego produktu będzie odpowiednio niska a krąg odbiorców zawężony to sie nikomu nie opłaci. Jednakze jeśli produkt będzie drogi lub potrzebny dużej liczbie osób to znajdą się grupy, które go złamią.
Scanner - przykro mi. Jedyny sposób to postawić własny serwer i konta na nim sprzedawać.
Pozdrawiam,
PS: To jest moje zdanie - zdanie cżłowieka, który programuje w różnych językach i zajmuje się oprogramowaniem systemowym. Mozen iektórzy "informatycy" co tylko na php się znaja będą innego zdania ale trzeba im to wybaczyć - gdy powiększą swoją wiedzę to zrozumieją błędne rozumowanie.
Wiecie mysalem o czyms takim - instaltor Flashowy(ktos to zaproponowal) i aby go uruchomic trzeba miec uzytkownika, klucz i haslo i adres Moze byc demo obkrojone. Za dostanie tych rzeczy trzebaby zaplacic - ktos placi to zal potem rozdawac. Mialem pomysl z generowanim osobnych instalatorow(we Flashu i ActionScripcie) dla kazdego uzytkownika -ktos rozpowszechnil to go pod sad. Do Flasha dostac jest sie nie latwo.
PS. No i umowa - jesli sie znajdzie w Sieci nielegalnie kupujacy placi x20- kazda szanuajca kase osoba nie zrobi tego :-)
Co myslicie o czyms takim?? - Glownie inwidulane instalatory
Pozdro
zawsze można skorzystać z funkcji dl i wywołać własny skompilowany plik.
dl(siezka);
Bakus
3.10.2004, 04:38:15
@null: wszystkie skrypty z flasha da się wyciągnąć bez większego wysiłku... Poszukaj w googlach programów do tego... pare minut i masz na dysku przynajmniej 10 różnych aplikacji do tego celu...
"PS. No i umowa - jesli sie znajdzie w Sieci nielegalnie kupujacy placi x20- kazda szanuajca kase osoba nie zrobi tego :-)" - nielegalnie kupujący ma w d**** Twoją umowę...
@Bora: to wiedzą wszyscy... tak działa TMMC i ZendOptimizer... Chodzi o inne metody...
Cytat(Bakus @ 2004-10-03 04:38:15)
Bora: to wiedzą wszyscy... tak działa TMMC i ZendOptimizer... Chodzi o inne metody...
moze i wie czesc ale zaloze sie ze jeszcze mniej wie o mozliwosci dolaczania biblioteki z wybranej lokalizacji.
Pozwala to na dolaczenie jedego pliczku do wlasnego skryptu i bezpieczne korzystanie z niego.
Co do skryptu kolejnym zabezpieczeniem przed motaniem jest sprawdzanie rozmiaru.
Pamiętam że było to ładnie ukryte w skrypciku do streamingu z serwer'a www
Lukasz Luczak
3.10.2004, 10:57:18
Wy ciagle jesteście w błędzie.
Nie zakłądajcie, że program chce ukraść lamer - bo takich w sieci wiele. I oni prostego zabezpieczenia niee przejdą.
Załóżcie, że program chce ukraść profesjonalny cracker i myślcie tymi kategoriami.
A dołacznaie biblitoek itp - zawsze jest kod skompilowany, który da się odkompilować.
Proste....
M4chu
3.10.2004, 11:35:59
Cytat(Lukasz Luczak @ 2004-10-03 11:57:18)
zawsze jest kod skompilowany, który da się odkompilować.
Pierwsze slysze, mozesz cos wiecej na ten temat powiedziec?
Vengeance
3.10.2004, 11:43:09
google -> deasemblacja czy jakos tak
Lukasz Luczak
3.10.2004, 12:04:38
Po skompilowaniu uzyskujesz kdo wynikowy - będący instrukcjami procesora.
Wykorzystując dobry dekompilator możesz ten kod skompilowany przemienić w plik źródłowy asm'a, pascal'a, cpp, php'a lub jakiegoś innego języka...wystarczy mieć dekompilator.
Oczywiście uzyskujesz dziwne nazwy zmiennych i funckji ale to wystarczy by usunąć zabezpieczenia...
W najgorszym wypadku bawisz się debuggerem- odnajdujesz miejsce w pliku gdzie jest sprawdzany kod i na sztywno wpisujesz, że kod jest prawdziwy.
Proste - w zależności od stopnia zaawansowania zabezpieczenia potrzebuejsz od 10 minut do paru dni...
orson
3.10.2004, 20:21:44
Cytat(Lukasz Luczak @ 2004-10-03 12:04:38)
Wykorzystując dobry dekompilator możesz ten kod skompilowany przemienić w plik źródłowy asm'a, pascal'a, cpp, php'a lub jakiegoś innego języka...wystarczy mieć dekompilator.
witam ...
a swistak siedzi za sreberka ....
dekompilacja to jest przeksztalcenie kodu maszynowego Z POWROTEM do assemblera ... kazdy kompilator zmienia natywny jezyk na assemblera i z niego na kod maszynowy ... nie da sie tego zrobic odwrotnie ... inaczej juz na sieci by byly zrodla windowsow i innych programow ...
pozdrawiam
Vertical
4.10.2004, 17:29:00
Cytat
dekompilacja to jest przeksztalcenie kodu maszynowego Z POWROTEM do assemblera
Niekoniecznie... Jeśli jesteś ZDOLNY:) możesz to przekształcić na C++....
orson
4.10.2004, 17:42:48
Cytat(Vertical @ 2004-10-04 17:29:00)
możesz to przekształcić na C++
witam ...
recznie to tak ... ale on napisal:
Cytat
Wykorzystując dobry dekompilator możesz ten kod skompilowany przemienić w plik źródłowy asm'a, pascal'a, cpp, php'a lub jakiegoś innego języka...wystarczy mieć dekompilator.
czyli ze dekompiler zrobi to sam ... a takiego nie ma ...
pozdrawiam
Lukasz Luczak
9.10.2004, 20:23:59
orson - o ile zakład, że są ?
orson
9.10.2004, 21:23:10
witam ...
to moze pokazesz taki

pozdrawiam
Puciek
9.10.2004, 21:29:03
Sam swego czasu spotkalem sie z dekompilatorem ale dzialal on na zasadzie analizy progrmu i generowania mu podobnego. Nalezalo zostawic program wlaczaony pare godzin aby kopier dokonal analiz po czym tworzyl podobny program ale jak wiadomo tym sposobem skopiujesz malo co gdyz analiza jest niedokladna.
Vengeance
9.10.2004, 21:54:56
ja gdzies cos widzialem soft ktory z execa przerabial z powrotem w kod pascala. WIADOMYM JEST ze nie jest to wierna kopia czy cos.
ActivePlayer
10.10.2004, 18:38:28
Cytat(DeyV @ 2004-09-30 10:44:11)
Jeśli juz mówimy o zabezpieczaniu - ostatnio zastanawiałem się nad sposobami generowania "kluczy aktywacyjnych".
Problem sprowadza się do tego, jak napisać skrypt generujący jakiś klucz tak, by osoba mająca dostęp do kodu sprawdzającego czy dany klucz jest poprawny (zamka) - nie mogła (przynajmniej w zbyt prosty sposóB) wygenerować kolejnego (innego) klucza, pasującego do danego "zamka".
Nie znalazłem żadnych gotowych bibliotek do takich działań, a wszystkie pomysły jakie przyszły mi do głowy - okazywały się stanowczo zbyt banalne do złamania.
macie jakieś pomysły?
tez sie nad tym zastanawialem i mam pytanie:
mam linka:
costam.php?id=1&id2=md5(id)
(zamiast md5(id) wstawia sie wartosc jaka zwraca funkcja

)
no i teraz jak ktos zczai sie ze to jest md5 to moze sobie przeciez samemu wygenerowac jak md5 wyglada powiedzmy dla wartosci 10 i bez problemu wejdzie pod link:
costam.php?id=10&id2=md5(id)
rozumie ktos o co mi chodzi ? jakis pomysl ?
Puciek
10.10.2004, 19:12:51
Dopoki php jest jezykiem interpretowanym a nie kompilowanym do poty bedziemy zdani na to ze nasz klient bedzie uczciwy, ewentualnie na kruczki w umowie ktore zwroca nam w razie zegos satysfakcje finansowa.
Lukasz Luczak
10.10.2004, 19:38:27
php jest zbyt prostym językiem by w nim zaimplementować jakieś bardzo zaawansowane sztuczki.
Po prostu php z założenia miał być prosty i chałupniczy.
Dopóki nie przebudują całego interfejsu itp to sytuacja się nie zmieni, ale jeśli przebudują go to php straci sporo i tyle.
Life is brutal, coś za coś. Łatwość tworzenia = nie możność porządnego zabezpieczenia.
Sh4dow
10.10.2004, 20:11:52
Jedynym sposobe jest oferowanie usług w postaci skryptu dostosowanego dla klienta na wlasnym serverze.
Ale zabawy z utrudnianiem ludziom zycia moze byc ciekawym sposobem na nude
Puciek
29.10.2004, 16:54:35
No to jeszcze można się pobawić w java script:
http://proslon.webpark.pl/download.htmlPS. Mi zajęło 27 minut bo ręcznie się w to bawiłem
pirat
29.10.2004, 22:37:09
hmmm a ja mam pytanie
http://test.super.sklep.pl/sklep/ tu mozecie sobie testowy zrobic aktywowac chyba na 14 dni
http://www.amm.pl/serwer_e-commerce_topshop.htmW sumie polowa skryptow jest dostepna owszembez problemow, ale ta wazniejsza jest w jakis spoob ukryta

ja nie wiem jak.....
kukix
31.10.2004, 19:11:29
Nie czytałem wszystkich postów, i nie wiem, czy ktoś o tym mówił.
W sieci są dostepne programiki napisane w php i nie tylko, które psują kod...
Kod po przejściu przez taki skrypt jest trudny do edytowania nawet przez jego twórce.
Program usuwa komentarze, nowe linie i zmienia nazwy zmiennych, funkcji itp, przez co staje się mega niecxzytelny, osoba, która sma nie potrafiła stworzyć takiego skryptu, wątpie, żeby mogła tam za dużo pozmieniać...
Co o tym sądzicie...?
Vengeance
31.10.2004, 20:09:35
było omowione a nawet w wczesniejszych postach "łamaliśmy" taki "szyfr"
danek
2.11.2004, 12:24:19
a mi przyszło do głowy:
1. kod produktu tzn łączy sie z twoim servem i sprawdza kod produktu (kod produktu to MD5(IP))
lub
2.U ciebie w bazie zapisuje id usera kóry zapłacił i czy ma zmienne IP potem każesz w instalce podać login i hasło do usera o id x na twojej stronie (jeśli do podanego usera jest przypisane stałe IP to sprawdza IP w instalce i na twojej stronie)
jak nie rozumiecie to piszcie
scanner
2.11.2004, 14:00:00
Danek: nie rozumiem, więc piszę.
NIe rozumiem po co podajesz coś, co juyz tutaj było omawiane AFAIR.
Vengeance
2.11.2004, 14:19:19
1. tak jak powiedzial scanner
2. usuwasz kod php laczacy sie z zew. serwerem i po sprawie.
phpbybastek
4.11.2004, 07:37:43
możesz zabezpieczyć tylko przed laikiem, zend.com ma aplikacje do kodowania, jak Cię stać to sobie kup
Coż,
ja preferuje postawienie aplikacji na swoim serwerze. Jak klient klepie i płaci aplikacja grzecznie wskakuje pod wskazany adres.
Ale to i tak nie zabezpiecza przed klientem, który po klepnięciu gotowego już produktu nagle rezygnuje z jego kupna ;(
binio
4.11.2004, 11:31:21
Cytat(kukix @ 2004-10-31 20:11:29)
Nie czytałem wszystkich postów, i nie wiem, czy ktoś o tym mówił.
W sieci są dostepne programiki napisane w php i nie tylko, które psują kod...
Kod po przejściu przez taki skrypt jest trudny do edytowania nawet przez jego twórce.
Zapodaj nazwe tego porgramu to pokombinuje bo mam odpowiedni problem
Może ktoś ma doświadczenia, jak sobie w takich sytuacjach radzą agencje interaktywne? Nie wiem, czy to bylo juz omawiane wiec pisze.
terreska
7.08.2006, 21:50:25
Troche stary temat, ale mnie zaciekawił, a mianowicie "licencja".
Jak powinna wyglądać taka licencja? Może ktoś podać przykład takiej licencji?
NetJaro
8.08.2006, 09:57:02
Dużo szukałem w Internecie na temat programów zabezpieczających skrypty.
Sporo było darmowych skryptów, może faktycznie jakoś działały ale.. strasznie zwalniały pracę skryptu a w dodatku wystarczyło trochę się pomęczyć i można było znaleść w Internecie dekoder (ba! czasami skrypty były tak proste, że samemu można było odkodować..) - jak to mówią, dla chcącego nic trudnego.
Następnie poprzeglądałem Internet w poszukiwaniu płatnych programów kodujących. Ceny były spore.. 150$ - 600$, więc dla kogoś kto używa tego "na jeden raz" na pewno się nie opłaca (chyba, że ma "biznes plan" i mu się zwróci ;-) ). Jedyne co słusznego zauważyłem to ionCube. Może wymaga funkcji dl() odblokowanej u usługodawcy, ale jestem pewny, ze jeżeli ten usługodawca otrzyma odpowiedni list i dba o swoich klientów udostępni odpowiednie funkcje (nawet dla jednego konta).
Nie sprawdzałem Zend'a - wiem, że było sporo szumu gdy w Internecie zaczęły pojawiać się oferty gdzie odkodowują skrypty.
Moje podsumowanie jest takie: za darmo nic ciekawego nie znajdziesz - a czasami opłaca się wydać "kilka" dolarów (ew. €) by spać spokojnie i.. zaskoczyć czymś klienta
Domin
21.12.2006, 01:22:13
Myślałem też o stworzeniu bazy danych z unikalnym kodem zapisanym gdzieś w aplikacji któy był by przypisany do jednego klienta któremu się aplikacje sprzedało. Przy instalacji kod był by automatycznie wysyłany z adresem i jakimiś tam informacjami na e-maila czy serwer, a na dodatek przy udostępnianiu np. na torrentach Twojej aplikacji możesz sobie ją pobrać i sprawdzić jaki ma kod a wtedy będziesz wiedział kto udostępnił i mozesz ubiegać się o odszkodowanie.
A co do licencji, to też bym chętnie poczytał przykładowe licencje i jak robią to inni.
cadavre
21.12.2006, 16:54:06
Jeśli chodzi o php to teoretycznie nie ma możliwości zabezpieczenia kodu. Gdy komuś udostępnisz pliki z aplikacją php to już nie możesz być spokojny o nią. Nawet jeśli wprowadzisz jakieś klucze etc. to zawsze byle programista będzie potrafił je usunąć z otwartego kodu - php nie jest kompilowanym językiem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.