Jump to content

Protegendo script


Recommended Posts

Olá, queria saber qual é a melhor forma de proteger meus scripts. Percebi que alguns estão sendo baixados na pasta principal de resources do MTA aquela que baixa todos os mods dos servidroes que você entra.

Minhas duvidas são:

Se eu por em .luac os arquivos ainda vão ser baixados? (Se sim, imagino que as pessoas possam usar, claro q compilado mas ainda sim ainda poderam usar?)

Qual a melhor forma de eu proteger os scripts pra caso mesmo em luac seja possivel usar, no caso o que eu faria pra mesmo assim não ser possivel.

 

Link to comment

Apenas arquivos client-side's são baixados e executados no PC do cara, ou seja, se o script tiver 2 lados, server e client o script não vai funcionar, agora se for apenas client se o cara for esperto ele apenas adicionar no meta, sim é capaz de funcionar tranquilamente.

--

Para resolver isso, é bem simples, você pode simplesmente declarar cache=false no meta e claro compilar o arquivo quanto + segurança melhor, exemplo:

<meta>
	<info author="Jonas^" version="1.0" name="Staff Mode" type="script"/>
	<script src="server.luac" type="server"/>
	<script src="client.luac" type="client" cache="false"/>
</meta>

Pode ver que na linha do client tem o atributo cashe=false ou seja, ele não vai ser colocado na pasta no pc do cara, basicamente isso explicando a grosso modo.

E tem a forma complexa, que é por proteção por IP, ou seja, os arquivos só vão startar naquele devido IP.

Edited by Jonas^
Link to comment
1 hour ago, Jonas^ said:

Apenas arquivos client-side's são baixados e executados no PC do cara, ou seja, se o script tiver 2 lados, server e client o script não vai funcionar, agora se for apenas client se o cara for esperto ele apenas adicionar no meta, sim é capaz de funcionar tranquilamente.

--

Para resolver isso, é bem simples, você pode simplesmente declarar cache=false no meta e claro compilar o arquivo quanto + segurança melhor, exemplo:


<meta>
	<info author="Jonas^" version="1.0" name="Staff Mode" type="script"/>
	<script src="server.luac" type="server"/>
	<script src="client.luac" type="client" cache="false"/>
</meta>

Pode ver que na linha do client tem o atributo cashe=false ou seja, ele não vai ser colocado na pasta no pc do cara, basicamente isso explicando a grosso modo.

E tem a forma complexa, que é por proteção por IP, ou seja, os arquivos só vão startar naquele devido IP.

Interessante, mais uma duvida. Caso eu bote esse cache ele vai baixar o arquivo novamente sempre que entrar no servidor? É tipo aquela proteção que alguns usam que quando o script é baixado ele é excluido da pasta. Pq eu quero evitar que a pessoa sempre que entre tenha que baixar novamente algum script.

Link to comment
  • Other Languages Moderators

Eu compilo e faço proteção por IP. Se ocorrer vazamentos da host (ou se um cliente que comprou meu script tentar vazar ele na internet), ainda sim o resource estará protegido.

Link to comment
  • Other Languages Moderators
1 minute ago, Jonas^ said:

Estranho, eu testei aqui, desloguei do server e loguei novamente e não necessitou baixar, talvez seja porque não desliguei o computador.

Teste com arquivos client-side maiores. Algumas imagens de alta resolução, áudios, texturas. As vezes o download até ocorreu, mas foi rápido demais e nem deu pra perceber.

E sim, desligue a máquina antes de testar de novo.

Edited by Lord Henry
Link to comment
14 hours ago, Lord Henry said:

Teste com arquivos client-side maiores. Algumas imagens de alta resolução, áudios, texturas. As vezes o download até ocorreu, mas foi rápido demais e nem deu pra perceber.

E sim, desligue a máquina antes de testar de novo.

Existe algum tópico explicando um pouco mais sobre essa proteção por IP? Já que usando cache tem que baixar novamente sempre que entra no servidor vou utilizar proteção por ip.

Link to comment
  • Moderators

Aqui @juaosilv

Com relação ao cache=false, contanto que você não utilize isso em muitos scripts não tem problema, são poucos KBs e muitas vezes é imperceptível o download, mas sugiro você fazer isso só para os scripts que você acha de muita importância.

Link to comment
On 19/06/2019 at 15:05, DNL291 said:

Aqui @juaosilv

Com relação ao cache=false, contanto que você não utilize isso em muitos scripts não tem problema, são poucos KBs e muitas vezes é imperceptível o download, mas sugiro você fazer isso só para os scripts que você acha de muita importância.

Desculpa por reviver o tópico, mas eu fiz tudo como está nesse outro tópico mas ele da esse erro quando inicia:



[13:55:58] ERROR: [EXTRA]/info/server.Lua:19: attempt to index upvalue 'expor
ts' (a function value)
 

Linha 19:

addEventHandler( "onResourceStart", resourceRoot,
	function()
		if exports["seguranca"]:isServerAllowed() ~= true then - ESSA E A 19
			cancelEvent( true )
		end
	end
)

O script seguranca:

local bool = false
local function isServerAllowed()
    return bool
end

fetchRemote( "http://checkip.dyndns.com/",
	function( response )
		if ( response ~= "ERROR" ) then
			SERVER_IP = response:match( "<body>Current IP Address: (.-)</body>" ) or "MEUIP"
			if ( SERVER_IP ~= "MEUIP" ) then -- seu IP vai aqui
				return
			end
			bool = true
		end
	end
)
<meta>
    <script src="server.Lua" type="server" cache="false" />
    <export function="isServerAllowed" type="server" /> 
</meta>

 

Ele falou algo sobre o feath demorar p pegar o ip, acho que o erro pode ser isso mas não consegui resolver.

Link to comment
  • Other Languages Moderators

Vc deve mudar no export pro nome do seu resource. ServerIP é o nome do meu resource de segurança.

Eu já esperava que vc fosse dar Ctrl+C e Ctrl+V sem nem ler direito.

  • Thanks 1
  • Haha 1
Link to comment
  • 7 months later...
  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...