Witamy na GTAOnline Obecny czas to 2018-07-16, 11:00 Użytkowników: 75248
Strona główna | Użytkownicy | Grupy | Faq | Regulamin | Zaloguj


Poprzedni temat :: Następny temat
Poradnik zabezpieczania skryptu na IP.
Autor Wiadomość

marcin778 
Krytyk serwerów MTA





Informacje
Nick w MP: Marcineg
Wiek: 30
Na forum: 1269 dni
Posty: 2234
Piwa: 4248
Respekt: 1046,8
Respekt: 1046,8

Wysłany: 2016-04-16, 22:00   Poradnik zabezpieczania skryptu na IP.



Witam, mam nadzieję, że przyda się to chociaż niektórym. Czasem gdy sprzedajemy skrypt chcemy aby działał on na jedneym serwerze co zapobiegnie orzdawaniu go, rozpowszechnianiu. Śpieszę z pomocą.

Tworzymy tablicę z ip oraz portem danego serwera.


local data= {
    ip "IP SERWERA",
    port "PORT SERWERA",
}

addEventHandler("onResourceStart"resourceRoot, function()
    checkPermission()
end)




Następnie funkcję która odczyta nam dane z tej tablicy

function checkPermission()
    if data.ip and data.port then
        local serverIP getServerIP()

        if tostring(data.ip) == serverIP and tostring(data.port) == getServerPort() then
            return true
        else
            return false
        end
    end
end


Teraz nadchodzi czas na funkcję która sprawdzi czy IP jest zgodne z tym serwera.

function getServerIP()
    callRemote("http://www.nub.hj.cx/getServerIp.php", function(value)
        if value ~= "ERROR" then
                      outputDebugScript("Dziękuje za uczciwy zakup. IP się zgadza")
            serverIP value
        end
    end)

    return serverIP
end


Koniec naszego pliku *.lua

Czas na mete

Skrypt jest po stronie servera. Ale musimy exportować funkcje checkPermission.


<meta>
    <script src="naszplik.lua" type="server" />
    <export function="checkPermission" type="server" />
</meta>


Teraz musimy zakompilować nasz plik *.lua

Gdy skrypt na zabezpieczenie i nasz skrypt są osobno to Dodajemy do naszego skryptu który chcemy sprzedać

if exports["nazwa zasobu z *.lua"]:checkPermissions() then

I nasz kod nasz skrypt.

Potem pod naszym kodem
else
outputChatBox("ten skrypt jest skradziony")
outputDebugString("O ty złodzieju")
return end


Lecz gdy mamy nasz skrypt na zabezpieczenie w tym samym katalogu co nasz skrypt to do skryptu dodajemy

if checkPermissions() then
--Nasz skrypt
else 
outputChatBox("ten skrypt jest skradziony")
outputDebugString("O ty złodzieju")
return end


Musimy zakompilować nasz skrypt aby nie usunięto tego 'zabezpieczenia'


Zakompilować pliki możemy za pomocą tego:

Klilk

Mam nadzieję, że przyda się to komuś. I przestanie się rozpszestrzeniać kradzież zasobów.

_________________
Pomagam w miarę możliwości Discord: marcin778#7316
Również robię skrypty na zamówienie.

Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

Jak to rzekł pewien mądry człowiek, są ludzie, którym lepiej ustąpić. Nie z powodu strachu lecz z powodu ich głupoty, która prowadzi donikąd.

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- obecnie
Ostatnio zmieniony przez marcin778 2017-11-12, 21:23, w całości zmieniany 4 razy  
Postaw piwo autorowi tego posta
 
Więcej szczegółów
Wystawiono 1 piw(a):
BoJaKoX

Ciasteczkovvy 





Informacje
Nick w MP: Ciasteczkowy
Wiek: 22
Na forum: 864 dni
Posty: 18
Piwa: 32
Respekt: 50

Wysłany: 2016-04-16, 22:05   



Marcin, przyczyniłeś się do rozwoju tego, aby nie było dalszej epoki kradzieży skryptów przez co niczego nie stracimy gdy chcemy dać komuś coś pierwsi. Oczywiście zimne :piwo: bo na pewno po tym co zrobiłeś to uschnąłeś i za chęci R*

Postaw piwo autorowi tego posta
 

Dexnes_ 
Tiger





Informacje
Nick w MP: Dexnes
Wiek: 18
Na forum: 1521 dni
Posty: 636
Piwa: 1227
Respekt: 390
Respekt: 390Respekt: 390Respekt: 390Respekt: 390

Wysłany: 2016-04-19, 12:23   



Poradnik pomocny , lecz nie lepiej zrobić np 3 pliki (SourceC.lua,SourceS,SourceC.luac) , plik SourceC.lua nie jest zakodowany i nie jest wpisany do mety lecz SourceC.luac jest zakodowany i jest wpisany do mety. Wydaje mi się że ten sposób jest lepszy i szybszy , lecz to tylko moje zdanie.

Postaw piwo autorowi tego posta
 

_Wicek_ 
Majstersztyk





Informacje
Nick w MP: Wicek
Wiek: 18
Na forum: 1380 dni
Posty: 750
Piwa: 1212
Respekt: 360,5
Respekt: 360,5Respekt: 360,5Respekt: 360,5Respekt: 360,5

Wysłany: 2016-04-19, 12:41   



BlackGamePL, No raczej , chyba każdy za komplikuje ten plik.

_________________

Support-Team: 25.01.2016
Moderator: 10.07.2016




GG: 51274621
Skype : kuba_wicinski
Postaw piwo autorowi tego posta
 

Dexnes_ 
Tiger





Informacje
Nick w MP: Dexnes
Wiek: 18
Na forum: 1521 dni
Posty: 636
Piwa: 1227
Respekt: 390
Respekt: 390Respekt: 390Respekt: 390Respekt: 390

Wysłany: 2016-04-19, 19:06   



"_Wicek_" napisał/a:

BlackGamePL, No raczej , chyba każdy za komplikuje ten plik.


Źle mnie zrozumiałeś , ja nie mówie o tym pliki tylko ogólnie o kodowanie skryptów.

Postaw piwo autorowi tego posta
 

PolskiSebek12 
Programista





Informacje
Nick w MP: CrosRoad95
Wiek: 20
Na forum: 1467 dni
Posty: 321
Piwa: 2119
Respekt: 263
Respekt: 263Respekt: 263Respekt: 263

Wysłany: 2016-04-22, 12:00   



Marcin778 daj mi na PW jakiś prosty skrypt zabezpieczony na IP np twojego servera, nawet zawierający tylko outputchatbox

_________________
]Ätśń”\ń¶Ă0ĺ)óń†”3ŃyPXçˇ.+U´]Đ®'„ëŠPK&ú°íb‹!R$ƒƒśac\+¤¬„`,U„ŕ#1vXŞ•”&ĐƒraFş¸ˇdiź«·ç%eŚŞŞ(FĄ.Şe-ĄaÖ˙Ă/ţĂß˙-oĺÚţ”ďáÇö%ŕ˙r÷Yxßő›ż'ćőwlĽnće)VŤłFŤčDĘ…®ëčşŔš¬ĺ„U%dúˆŹxŹ1Đő=±ß˛¬•ižpĆPŇŠµo ¤Ç̇'¤TpÖś
Postaw piwo autorowi tego posta
 

Eitho 
uczeń Lua





Informacje
Nick w MP: Eitho
Wiek: 16
Na forum: 609 dni
Posty: 223
Piwa: 328
Respekt: 151,3
Respekt: 151,3Respekt: 151,3

Wysłany: 2017-10-08, 21:05   



Ale przecież to można łatwo obejść

if exports["nazwa zasobu z *.lua"]:checkPermissions() then

do tego ktoś podstawi jakąś funkcję o nazwie checkPermissions, która zwraca tylko true i ma po problemie (zakładając, że skrypt odkodowany jest)

_________________
- uczę się
Postaw piwo autorowi tego posta
 

marcin778 
Krytyk serwerów MTA





Informacje
Nick w MP: Marcineg
Wiek: 30
Na forum: 1269 dni
Posty: 2234
Piwa: 4248
Respekt: 1046,8
Respekt: 1046,8

Wysłany: 2017-10-08, 21:09   



dawid2632, Dlatego skrypt musi być zakodowany. Jedyną metodą, której "nie da się obejść" to właśnie zakodowanie do luac lub skompilowanie kodu na 'kod bajtowy', aczkolwiek takie kompilery nie są bodajże ogólnodostępne, trzeba sobie samemu taki napisać tudzież można napisać go jako plugin do notepad++ i potem skompilowany kod czytać funkcją loadstring.

_________________
Pomagam w miarę możliwości Discord: marcin778#7316
Również robię skrypty na zamówienie.

Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

Jak to rzekł pewien mądry człowiek, są ludzie, którym lepiej ustąpić. Nie z powodu strachu lecz z powodu ich głupoty, która prowadzi donikąd.

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- obecnie
Postaw piwo autorowi tego posta
 

eject 
kurdebele





Informacje
Nick w MP: EjecT
Wiek: 22
Na forum: 779 dni
Posty: 150
Piwa: 802
Respekt: 60,5

Wysłany: 2017-10-10, 16:11   



"marcin778" napisał/a:

dawid2632, Dlatego skrypt musi być zakodowany. Jedyną metodą, której "nie da się obejść" to właśnie zakodowanie do luac lub skompilowanie kodu na 'kod bajtowy', aczkolwiek takie kompilery nie są bodajże ogólnodostępne, trzeba sobie samemu taki napisać tudzież można napisać go jako plugin do notepad++ i potem skompilowany kod czytać funkcją loadstring.


Lua compilery są dostepne, typu luac i ogólnodostepna strona do kompilowania kodów lua w MTA: https://luac.mtasa.com/ kodów zakodowanych na tej stronie nie da sie odkodować.

_________________
Podpis został zablokowany przez Administrację
Postaw piwo autorowi tego posta
 

marcin778 
Krytyk serwerów MTA





Informacje
Nick w MP: Marcineg
Wiek: 30
Na forum: 1269 dni
Posty: 2234
Piwa: 4248
Respekt: 1046,8
Respekt: 1046,8

Wysłany: 2017-10-10, 17:43   



Niestety ale wczoraj dowiedziałem się iż są to błędne informacje. Zakodowane skrypty
nawet za pomocą level 2 obfuscated da się odkodować. Własnymi umiejętnościami - nie ma publicznych dekompilerów do tego. Dowodów nie mam aczkolwiek wierzę, bo napisała mi to osoba zaufana i znająca się na programowaniu poza 'lua'. Co do kompilera miałem na myśli kompiler do kodu bajtowego nie do luac.

_________________
Pomagam w miarę możliwości Discord: marcin778#7316
Również robię skrypty na zamówienie.

Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

Jak to rzekł pewien mądry człowiek, są ludzie, którym lepiej ustąpić. Nie z powodu strachu lecz z powodu ich głupoty, która prowadzi donikąd.

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- obecnie
Postaw piwo autorowi tego posta
 

Kalizman 
Coś potrafi w Lua





Informacje
Wiek: 16
Na forum: 771 dni
Posty: 1053
Piwa: 2559
Respekt: 237,8
Respekt: 237,8Respekt: 237,8

Wysłany: 2017-11-12, 15:13   



Poradnik przydatny, aczkolwiek literówka w meta.xml:

<export function="checkPremissiontype="server" />


Postaw piwo autorowi tego posta
 
Więcej szczegółów
Wystawiono 1 piw(a):
marcin778

Pevo 
Ja wiem lepiej





Informacje
Nick w MP: Pevo
Wiek: 7
Na forum: 710 dni
Posty: 320
Piwa: 306
Respekt: 255,8
Respekt: 255,8Respekt: 255,8Respekt: 255,8

Wysłany: 2017-11-13, 22:46   



Nawet spoko. Próbowałem robić coś z licencją. Np. http://link.pl/licencje/skrypt/licencja.txt
Ale tam trzeba było dawać jakieś specjalne zezwolenia z tego co pamiętam, więc odechciało mi się w to bawić :D

_________________
Discord: Pevo#3511
GG: 64700204
Postaw piwo autorowi tego posta
 
Tagi: poradnik :: zabezpieczania :: skryptu :: ip.
Anonymous



Dołaczył: Wczoraj 0:00
Posty: 1
Skad: google.com


Anonymous Koniecznie zajrzyj na:







Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Wersja do druku

Skocz do:  


phpBB by Przemo modified by xXx 2003-2016

Template GTAONLINE created by gtaonline.pl



Strona wygenerowana w 1,07 sekundy. Zapytań do SQL: 21