2012-02-20 10 views
10

Chcę użyć tego kodu antypirackiego dla mojej aplikacji.Czy ten kod anty-piracki na iOS jest dobry?

NSString* bundlePath = [[NSBundle mainBundle] bundlePath]; 
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:(@"%@/_CodeSignature", bundlePath)]; 
if (!fileExists) { 
    //Pirated 
    NSLog(@"Pirated"); 
} 
BOOL fileExists2 = [[NSFileManager defaultManager] fileExistsAtPath:(@"%@/CodeResources", bundlePath)]; 
if (!fileExists2) { 
    //Pirated 
    NSLog(@"Pirated2"); 
} 
BOOL fileExists3 = [[NSFileManager defaultManager] fileExistsAtPath:(@"%@/ResourceRules.plist", bundlePath)]; 
if (!fileExists3) { 
    //Pirated 
    NSLog(@"Pirated3"); 
} 

Czy ktoś go używał wcześniej? Czy można go użyć do podstawowej ochrony, czy może to tylko bzdura? Jakie masz sugestie na ten temat?

+7

Nie tylko jest całkowicie trywialnie pokonany (atakujący może zmienić łańcuchy), ale opiera się na szczegółach implementacji, które Apple może zmienić w dowolnym momencie. Jako prawowity użytkownik byłbym niezmiernie zirytowany, gdybym uaktualnił mój system operacyjny i był traktowany jak pirat przez twoją aplikację. –

+6

Dlaczego nie poświęcić czasu na wydatki, aby aplikacja była jeszcze lepsza dla klientów płacących? Nie powstrzymasz piractwa swojej aplikacji, a większość piratów prawdopodobnie nie kupi jej w żaden sposób. – UIAdam

+0

Tutaj w Grecji Pirackie telefony są w 70% z telefonów komórkowych, więc technika jest naprawdę złym pomysłem! –

Odpowiedz

7

Moje dwa centy to to, że myślę, że spędzisz dużo czasu próbując powstrzymać coś, czego nie możesz w pełni zatrzymać. Z tego, co zostało powiedziane w niektórych komentarzach, wynika, że ​​obawiasz się piractwa, ponieważ w Grecji jest dużo telefonów z jailbreakami. Grecja jest tylko częścią świata i podejrzewam, że jeśli przestaniesz myśleć lokalnie i zaczniesz myśleć globalnie, okaże się, że większość telefonów nie ma jailbreak i działa legalnie.

Moja sugestia to skoncentrowanie się na klientach, którzy będą płacić. Poświęć trochę czasu, aby Twoja aplikacja była tak atrakcyjna, że ​​będą mogli ją kupić.

Po drugie, chciałbym zasugerować, abyście szukali sposobów, aby uodpornić jailbreakerów, aby polubili twoją aplikację i chcą dać ci pieniądze lub ją kupić. W Internecie jest dużo dyskusji na temat nowych modeli biznesowych i tego, jak starsze modele nienawistnych piratów po prostu nie działają. Poruszaj się i myślę, że znajdziesz przypadki, w których ludzie przyjęli fakt, że ich produkt jest kopiowany i używał go na swoją korzyść. Czy możesz wykonać tę samą sztuczkę? Jeśli to możliwe, obawy dotyczące piractwa znikną, a zainteresowane osoby najprawdopodobniej staną się raczej aktywami niż zobowiązaniami.

Tylko moje myśli :-)

+0

ciekawe myśli, przeczytałem wiele artykułów przed opublikowaniem tutaj, ale czuję się źle, nie robiąc nic, aby chronić mój kod. Może to tylko zwyczaj i jak tylko się do tego przyzwyczaję, wszystko wróci do normy. –

+4

jailbreaker ≠ pirat – edc1591

+0

Myślę, że podążę za sugestią @ drekka! –

1

Może być używany, jeśli algorytm crackera nie jest wystarczająco inteligentny, aby dodać fałszywe pliki ResourceRules itp.

+0

ok chcę zapobiec automatycznym crackerom, takim jak chytry czy masz jakieś doświadczenie z tym i powyższym kodem? –

+1

Cóż, nie jestem naprawdę w Crackulous, ale AFAIK, usuwa je, więc powinno działać. –

+0

Wielkie dzięki @ H2CO3 –

3

To lepsze niż nic. Zauważ, że można bardzo łatwo pracować, tworząc tylko puste pliki z odpowiednimi nazwami. Ustalenie nazw plików jest łatwe, ktoś może po prostu użyć strings na twoim pliku binarnym.

+0

tak, myślałem o tym też! –

+0

+1, uzgodnione, lepsze niż nic. – HelmiB

3

Użyłem tego kodu w aplikacjach wcześniej, ale nie powstrzymuję pirata przed korzystaniem z mojej aplikacji. Po prostu wyświetla się komunikat, aby spróbować przekonać użytkownika do zakupu aplikacji.

Jeśli naprawdę chcesz uniemożliwić piratom korzystanie z Twojej aplikacji, sprawdź szyfrowanie pliku binarnego aplikacji. W ten sposób: http://landonf.bikemonkey.org/2009/02/index.html

+0

ok Przeczytałem wcześniej, ale gdzie mogę zaimplementować tę metodę? Na main.m? –

+0

Tak, myślę, że musisz dodać go do 'main.m' i wykonać sprawdzenie zanim' UIApplicationMain' – edc1591

+0

użyłeś tego kodu tak jak jest i zadziałało dobrze? jak to przetestowałeś? Mam na myśli powyższy kod! –

1

Checkout mtiks dla aplikacji mobilnych i antypirackich czasie rzeczywistym Analytics. Całkowicie za darmo dla programistów. Zintegrowanie biblioteki zajmuje tylko 5 minut.