Witamy na GTAOnline Obecny czas to 2017-10-20, 20:08 Użytkowników: 71842
Strona główna | Użytkownicy | Grupy | Faq | Regulamin | Zaloguj


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

marcin778 
Majster Bułeczka.





Informacje
Nick w MP: Ml.Bryg|Marcin
Wiek: 29
Na forum: 1001 dni
Posty: 1886
Piwa: 2567
Respekt: 791
Respekt: 791Respekt: 791

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="checkPremission" 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 GG: 49018649
Również robię skrypty na zamówienie.


-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- obecnie
Ostatnio zmieniony przez marcin778 2016-06-20, 14:52, w całości zmieniany 3 razy  
Postaw piwo autorowi tego posta
 

Ciasteczkovvy 





Informacje
Nick w MP: Ciasteczkowy
Wiek: 22
Na forum: 595 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: 17
Na forum: 1253 dni
Posty: 613
Piwa: 1082
Respekt: 380
Respekt: 380Respekt: 380Respekt: 380Respekt: 380

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.

_________________
Kontakt GG: 60415665
Postaw piwo autorowi tego posta
 

_Wicek_ 
Majstersztyk





Informacje
Nick w MP: Wicek
Wiek: 17
Na forum: 1112 dni
Posty: 752
Piwa: 1018
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: 17
Na forum: 1253 dni
Posty: 613
Piwa: 1082
Respekt: 380
Respekt: 380Respekt: 380Respekt: 380Respekt: 380

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.

_________________
Kontakt GG: 60415665
Postaw piwo autorowi tego posta
 

PolskiSebek12 





Informacje
Wiek: 19
Na forum: 1198 dni
Posty: 267
Piwa: 1501
Respekt: 237,3
Respekt: 237,3Respekt: 237,3

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

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

dawid2632 
uczeń Lua





Informacje
Nick w MP: Eitho
Wiek: 15
Na forum: 341 dni
Posty: 76
Piwa: 75
Respekt: 45,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ę
My name is David.
Trusted Life :(



Postaw piwo autorowi tego posta
 

marcin778 
Majster Bułeczka.





Informacje
Nick w MP: Ml.Bryg|Marcin
Wiek: 29
Na forum: 1001 dni
Posty: 1886
Piwa: 2567
Respekt: 791
Respekt: 791Respekt: 791

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 GG: 49018649
Również robię skrypty na zamówienie.


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

eject 
kurdebele





Informacje
Nick w MP: EjecT
Wiek: 21
Na forum: 511 dni
Posty: 147
Piwa: 666
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ć.

_________________

local pseudol createElement("nankiewicz"):setModel(0)
Postaw piwo autorowi tego posta
 

marcin778 
Majster Bułeczka.





Informacje
Nick w MP: Ml.Bryg|Marcin
Wiek: 29
Na forum: 1001 dni
Posty: 1886
Piwa: 2567
Respekt: 791
Respekt: 791Respekt: 791

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 GG: 49018649
Również robię skrypty na zamówienie.


-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- obecnie
  
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:   
Odpowiedz do tematu
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 0,29 sekundy. Zapytań do SQL: 18