Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-09-09, 21:39


Dorex

Rick






Wiek: 28
Na forum: 4856 dni
Posty: 108

Piwa: 2471

Respekt: 296,3
Respekt: 296,3Respekt: 296,3Respekt: 296,3

Zabezpieczenie Skryptu
(Za pomoc? funkcji LUA)


1.Zasada dzia?ania.
[Sprawdzanie Plik?w]
- Sprawdzamy nazw? zasobu nast?pnie wyszukuje dok?adn? lokalizacje folderu z danym zasobem.
- Koleinie sprawdza czy plik o podanej nazwie i rozszerzenia istnieje przyk?adem b?dzie "lua.png" je?li w folderze zasobu znajduje si? taki plik zwraca prawd? (true) a je?li jest to sprzeczne wysy?a nam fa?sz (false)

[Sprawdzanie Dodania uprawnie? w ACL dla zasobu]
- Sprawdza wszystkie obiekty dla grupy ACL o nazwie "Admin" oraz pobiera ca?a grup? ACL o nazwie "Admin"
- dodaj? wszystkie wypisane obiekty w form? tabeli.
- Nast?pnie wykonuje p?tle pairs w celu wyci?gni?cia poszczeg?lnego obiektu.
- Koleinie wykonuje instrukcje warunkowa maj?c na celu sprawdzi? czy dany cz?on nazwy istnieje ju? w ACL je?li istnieje zwracam prawd? (true) je?li nie istnieje zwracam (false)

2.Jak rozpocz?? pisanie takiego zabezpieczenia.

Rozpoczynamy od otwarcia funkcji w kt?rej zawieramy nazw? naszego pliku z rozszerzeniem jako argument funkcji.


function CheckFileFolder(name)


Kolejnym krokiem jest zlokalizowanie naszego folderu do tego potrzebne b?dzie nam

- getThisResource() - funkcja ta pobiera nam zas?b z kt?rego zosta?a wykonana ta funkcja

- getResourceName() - funkcja ta zwraca nam nazw? okre?lonego zasobu.

W po??czeniu otrzymujemy lokalizacje i pe?n? nazw? zasobu.


getResourceName(getThisResource())


Nast?pnym krokiem jest sprawdzenie czy dany plik znajduje si? w naszym folderze
do tego u?yjemy fileExists(file path) - funkcja ta sprawdza czy okre?lony plik znajduje si? wewn?trz zasobu razem z roszerzeniem

W naszym przyk?adzie b?dzie wygl?da? to tak
local File = fileExists(":"..localization.."/"..name) - dzi?ki takiemu po??czeniu lokalizujemy dany plik np ":Zasob/Lua.png" otrzymali?my to dzi?ki po??czeniu lokalizacji zasobu oraz nazwy naszego pliku z rozszerzeniem, je?li pilk znajduje si? zwr?ci nam prawd? true je?li pliku nie ma zwr?ci nam fa?sz false
( ' : ' oznacza bezpo?rednie przej?cie na dany folder wewn?trz plik?w resource )

teraz wykonujemy instrukcje warunkow? kt?ra musi spe?ni? nam warunek fileExists

if File then - je?li Plik istnieje ma zwr?ci? nam funkcje poni?ej w tym przypadku zwr?cimy

return true - zwracamy prawd? naszego pliku oraz dodajemy warunek inaczej oznaczaj?cy s?owo "else" oraz zwracamy fa?sz w naszym przypadku instrukcja warunkowa wygl?da w ca?o?ci tak


if File then
return true
else 
return false


Ca?y nasz napisany kod wygl?da tak


function CheckFileFolder(name)
local localization getResourceName(getThisResource())
local File fileExists(":"..localization.."/"..name)  
if File then            
return true
else
return false
end 
 end


Mo?emy go u?y? do sprawdzenia dowolnego pliku przyk?ad u?ycia w tym wypadku dok?adamy kolejn? instrukcje warunkow? oznaczaj?c? sprawdzenie znajduj?cego si? pliku w folderze je?li zwr?ci fa?sz czyli ten plik nie istnieje w folderze danego zasobu zostanie automatycznie zas?b zamkni?ty ale nie zawsze to dzia?a poniewa? zas?b musi skorzysta? z funkcji stopResoruce() - kt?ra zamyka zas?b lecz wymaga uprawnie? administratorskich.


local Check CheckFileFolder("Config.lua")
if not(Checkthen
stopResource(getResourceName(getThisResource()))
end


Dla tego tutaj wykonujemy drugie zabezpieczenie jak napisa?em zaczynamy od stworzenia funkcji bez ?adnego argumentu.



function GetThisACLResource()



W kolejnym celu u?ywam

aclGroupListObjects ( aclgroup theGroup ) - funkcja zwraca tablice wszystkich obiektow w danej grupie ACL

aclGetGroup ( string groupName ) - funkcja ta zwraca nam grupe z podana nazwa w polaczeniu otrzymujemy funckje ktora zwraca cala tablice z pobranej grupy ACL



table aclGroupListObjects(aclGetGroup("Admin")) 



nast?pnym krokiem jest p?tla tutaj odwo?uj? do poradnika

Wst?p do LUA #2 - P?tle

for objects,name in pairs(table)do -- zak?adamy p?tle dla tabeli z wypisanymi cz?onami obiektu ACL o nazwie "Admin"

nast?pnie wyszukujemy poszukiwanego obiektu w tym celu wykonujemy ponownie funkcje wywo?uj?ca nam pe?na nazw? zasobu getResourceName(getThisResource()) nast?pnie wykonujemy instrukcj? warunkow? w kt?rej nazwa naszego cz?onu musi odpowiada? "resoruce.Zasob" czyli wykonujemy to tak pobieramy nasze nazwy i sprawdzamy czy r?wnaj? si? naszej wybranej nazwie je??i tak wracamy do procedury zwrotu prawdy true czyli w naszym przypadku b?dzie to return true nast?pnie zamykam p?tle po zamkni?ciu p?tli je?li nie znale?li?my danej frazy ma zwr?ci? false


if name == "resource."..getResourceName(getThisResource()) then 


Funkcja wygl?da nast?puj?co


function GetThisACLResource()
        table aclGroupListObjects(aclGetGroup("Admin"))
        for objects,name in pairs(table)do
        if name == "resource."..getResourceName(getThisResource()) then
        return true
            end
        end
        return false
end


Aby zabezpieczenie dzia?a prawid?owo mo?emy wykona? t? instrukcj? przed ka?d? pisan? funkcj? lub u?y? to jako funkcj? w instrukcji warunkowej dla naszego skryptu.

Po wykonanej ca?ej operacji mo?emy spokojnie dla pewno?ci za kompilowa? jeszcze plik na stronie Compile lua file

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-10, 15:27


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Dzisiaj ju? mo?na sobie wszystko zakodowa? za pomoc? http://luac.mtasa.com albo ustawi? w meta.xml, by serwer nie pobiera? na komputer klienta plik?w typu 'client'. Tak?e wg. mnie temat zb?dny ale jak kto woli ;) .

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-10, 19:10


|Mlody|

Szatan ponad Szatana






Wiek: 30
Na forum: 4375 dni
Posty: 60
Nick w MP: Akiver

Piwa: 205

Respekt: 52,5

"Piorun" napisał/a:

Dzisiaj ju? mo?na sobie wszystko zakodowa? za pomoc? http://luac.mtasa.com albo ustawi? w meta.xml, by serwer nie pobiera? na komputer klienta plik?w typu 'client'. Tak?e wg. mnie temat zb?dny ale jak kto woli ;) .


Piorun ?adne ukrycie kodu, nawet jak najlepsze nie da nam 100% pewno?ci, ?e kto? go nie ukradnie, podpatrzy. Nie tyczy si? to tylko Lua. Je?li kto? wie co i jak to odkodowanie takiego za przeproszeniem "g?wna" to dla niego pestka.

Podpis

Fast Life RPG |GTA V - Misje, napady na banki, wyścigi i wiele innych atrakcji|NFS - Stwórz swoją anarchię, zostań królem wyścigów, zdobywaj osiągnięcia.. Fast Life RPG - 20%
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-10, 20:21


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Dlatego jest jeszcze 2 opcja :)

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-14, 11:05


begez17

Lubie LUA :)






Wiek: 31
Na forum: 4939 dni
Posty: 11
Nick w MP: Romek

Piwa: 609

Respekt: 50

wystarcy wpisa? w cliencie

filedelete("nazwa.lua") i client kasuje si? automatycznie

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-14, 15:00


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
"filedelete("nazwa.lua") i client kasuje si? automatycznie" je?li skrypt si? w??czy to si? usuwa - jest to zabezpieczenie bez sensu poniewa? mo?na je omina? np: zablokowa? opcje usuwania plik?w z folderu resource albo otworzy? go zanim si? usunie

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-14, 17:33


Dorex

Rick






Wiek: 28
Na forum: 4856 dni
Posty: 108

Piwa: 2471

Respekt: 296,3
Respekt: 296,3Respekt: 296,3Respekt: 296,3

Dok?adnie dla tego ci??ko jest skrypt zabezpieczy? na sto procent mo?na jedynie na 50% czyli po?ow? zawsze znajdzie si? kto? kto odkoduje nasz? ci??k? prac? ale nie przyjdzie mu to z ?atwo?ci?.

Podpis
Nie bądź 🐷 postaw piwo.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-15, 18:21


|Mlody|

Szatan ponad Szatana






Wiek: 30
Na forum: 4375 dni
Posty: 60
Nick w MP: Akiver

Piwa: 205

Respekt: 52,5

?ud?cie si?, ?e zabezpieczycie skrypty i nikt nie b?dzie mia? do nich wgl?du ..

'Nie przyjdzie mu to ?atwo', a czy ?atwo jest zdoby? par?na?cie tysi?cy jako haker? To jest pestka, kt?r? niewielu mog?o posi???, pestka wiedzy.. pestka my?lenia, zrozumia?ego dla komputera, nie dla cz?owieka.

Zawsze by?o, ?e kto? lub co? zawiedzie, zepsuje. Komputer nie zawiedzie nigdy, to cz?owiek, mo?e z?ama? cz?owieka. Komputer to pot??na maszyna, je?li trafi do osoby, kt?ra t? maszyn? b?dzie umie? poruszy?.


Powodzenia w dalszych pr?bach zaszyfrowania skrypt?w...

Podpis

Fast Life RPG |GTA V - Misje, napady na banki, wyścigi i wiele innych atrakcji|NFS - Stwórz swoją anarchię, zostań królem wyścigów, zdobywaj osiągnięcia.. Fast Life RPG - 20%
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-17, 17:13


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

"Piorun" napisał/a:

Dzisiaj ju? mo?na sobie wszystko zakodowa? za pomoc? http://luac.mtasa.com albo ustawi? w meta.xml, by serwer nie pobiera? na komputer klienta plik?w typu 'client'. Tak?e wg. mnie temat zb?dny ale jak kto woli ;) .


Ani jedno ani drugie nie zabezpieczy przed pr?b? uruchomienia danego skryptu na innym serwerze.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-18, 15:27


Micles258

Uczeń lua






Wiek: 25
Na forum: 4008 dni
Posty: 48

Piwa: 437

Respekt: 60

Ostrzeżeń: 100%
Przydatne, lecz mo?na sobie zakodowa? na stronce. Leci piwko za w?o?enie trudu na napisanie wszystkiego :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-18, 18:14


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Ja dodam jak najlepiej zabezpieczy? sw?j skrypt jest to bardzo proste napisa? wszystko po stronie server :D . Nikt wam tego nie ukradnie. A jak ju? macie gui to pr?bowwa? jaknajwiecej przenosi? na stron? server.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-21, 15:46


DaxRel69







Wiek: 30
Na forum: 4107 dni
Posty: 171
Nick w MP: DaxRel

Piwa: 4368

Respekt: 71,5

Ostrzeżeń: 60%
Troche niepotrzebne chocia? si? niekt?rym przyda ;) fajny poradnik leci zimne mocne ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-21, 20:41


Loop

Inspektor






Wiek: 27
Na forum: 4289 dni
Posty: 311
Nick w MP: Inspektor

Piwa: 201

Respekt: 130
Respekt: 130

Najlepszym zabezpieczeniem jest przenoszenie na s-side.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-06, 10:04


markob0







Wiek: 27
Na forum: 4247 dni
Posty: 151
Nick w MP: Markob

Piwa: 939

Respekt: 98,2

Ja wam powiem ?e najlepiej jest jak zasoby ma si? w internecie i z tamt?d serwer pobiera je, one s? o CHMOD 644 i s? tylko do odczytu a nie do pobierania, i nikt nie musi pobiera? zb?dnych MB. Wiadomo ?e tam jaki? skrypt typu przy??czenie do SQL trzeba zrobi? ale reszt? mo?na w zas?b na internet wrzuci?.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-19, 13:46


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
trigerowa? z strony servera na clienta tekst skryptu a po stronie clienta samo "luadstring()()" w zakompilowanym skrypcie kt?ry usuwa si? po uruchomieniu

Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: [tut] :: zabezpieczenie :: skryptu
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Poradniki do LUA » [TUT] Zabezpieczenie Skryptu 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
Dodaj temat do Ulubionych
Wersja do druku