Jump to content

Proteção de Scripts [Funções Subliminares]


Recommended Posts

Olá Iniciei o Tópico com Intenção Não de Apenas Dúvidas, e Sim Também Explicações do Que Está Acontecendo na Comunidade de Scripts.

O que aconteceu foi que muitos estão utilizando funções subliminares ou como são chamadas overwrite, para pegar informações de scripts.

Exemplo De Como Seria

_dbConnect = dbConnect

function dbConnect(tipo,host,user,password,opcao)
    iprint(tipo)
    iprint(host)
    iprint(user)
    iprint(password)
    iprint(opcao)
end

Muitos utilizam para pegar informações do seu mySQL mesmo com seu arquivo compilado.

Como utiliza-lo : Colocando em qualquer arquivo .lua [SHARED] na pasta do seu script e ligar o mod, isso em si atrapalhou muitos scripters grandes e até mesmo ocorreu comigo mais não no sentido de atrapalhar em vendas.

Ocorreu também de proteções serem quebradas do jeito que foi citado no tópico um pouco antigo do fórum de [PROTEÇÃO SCRIPT] utilizando funções subliminares e fazendo não ocorrer o cancelEvent em sua função.

Exemplo de Como Seria : 

_addEventHandler = addEventHandler
function addEventHandler(eventName, attachedTo, handlerFunction, getPropagated, priority)
	if (eventName ~= "onResourceStart") then
		getPropagated = getPropagated or true
		priority = priority or "normal"
		_addEventHandler(eventName, attachedTo, handlerFunction, getPropagated, priority)
	end
end

function getServerIP()
    return getServerConfigSetting("serverip")
end

function protectionBreak()
	if server == getServerIP() and port == getServerPort() then
		if event == "onResourceStart" then
			cancelEvent("getRootResourceEvent")
		end
	end
end
addEventHandler('onResourceStart', resourceRoot, protectionBreak)

Tive meus jeitos de resolver isso que seria utilizando variáveis para ver se a proteção rodou que seria digitando varias letras aleatórias e colocando ela como = false e caso a proteção funciona-se colocaria elá como = true e após isso colocaria uma grande quantidade de if daquela variável e sim funcionou mais como falei querendo ou não é um pouco bizarro ficar fazendo isso em todos os seus scripts, que acho que poderia ter um jeito bem mais fácil.

E isso chega ao ponto que eu quero chegar, iniciei o tópico como falei não quero apenas para duvidas e sim também explicação do que está acontecendo nas comunidades.

Minha dúvida seria, se a alguma maneira de como bloquear funções subliminares em seu script ou apenas proteger ele de jeito mais fácil para não ocorrer o que falei, porque querendo ou não mesmo colocando variáveis e funcionando certinho muitos utilizam mySQL e conseguem pegar as informações dele, como host,usuário e senha.

Link to comment
2 hours ago, Boechat said:

Cara, acho que o jeito mais simples, seguro e óbvio seria não colocar nenhum script que você não tenha ciência do conteúdo dentro do seu servidor

Acho que você não entendeu, para venda scripts normalmente você coloca sua proteção, oq está acontecendo é pessoas usando funções subscritas para pegar informações do seu script mesmo sendo compilado.

Link to comment
  • Other Languages Moderators

Entendi oq vc quis dizer.

Você programa os seus resources todo certinho, com sua proteção e tudo compilado. Dai os caras vão lá e violam sua proteção adicionando um script shared contendo "funções subliminares" que podem, além de obter dados restritos, alterar a funcionalidade das funções que você usou no seu resource. No caso de um cancelEvent() geralmente usado para cancelar a ativação do resource, eles fazem com que essa função deixe de funcionar e assim o resource continua rodando mesmo sem ter autorização.

O termo que eu utilizo para isso é "sub rotinas". Os caras transformam sua função em uma sub rotina que executa uma tarefa diferente da qual foi originalmente criada.

  • Thanks 1
Link to comment
3 hours ago, Lord Henry said:

Entendi oq vc quis dizer.

Você programa os seus resources todo certinho, com sua proteção e tudo compilado. Dai os caras vão lá e violam sua proteção adicionando um script shared contendo "funções subliminares" que podem, além de obter dados restritos, alterar a funcionalidade das funções que você usou no seu resource. No caso de um cancelEvent() geralmente usado para cancelar a ativação do resource, eles fazem com que essa função deixe de funcionar e assim o resource continua rodando mesmo sem ter autorização.

O termo que eu utilizo para isso é "sub rotinas". Os caras transformam sua função em uma sub rotina que executa uma tarefa diferente da qual foi originalmente criada.

Você teria um exemplo de como não permitir essas sub rotinas ?

Link to comment
17 minutes ago, ber said:

No meu servidor, ao invés de cancelar o start da resource, eu usei um setTimer infinito com outputChatBox e playSoundFrontEnd para todos os players. O cara até consegue usar o script, mas vai tornar o servidor injogável ;) 

Ss, eu pensei nisso mais como falei querendo ou não pode ocorrer de a proteção bugar uma hora ou você for trocar ela e atrapalhar os players do dono de servidor que realmente pagou.

E não dúvido muito que pode ocorrer de bloquearem para não ocorrer esse playSoundFrontEnd, pois já ocorreu de não funcionar até mesmo o fetchRemote utilizando essas sub rotinas.

Link to comment
  • Other Languages Moderators
On 11/01/2021 at 17:55, ber said:

No meu servidor, ao invés de cancelar o start da resource, eu usei um setTimer infinito com outputChatBox e playSoundFrontEnd para todos os players. O cara até consegue usar o script, mas vai tornar o servidor injogável ;) 

Isso é ilegal e você pode inclusive ser punido pelo MTA por incluir backdoors maliciosos no seu resource. Você não pode punir os jogadores pelas cagadas que os admins do servidor fazem.

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

Isso é ilegal e você pode inclusive ser punido pelo MTA por incluir backdoors maliciosos no seu resource. Você não pode punir os jogadores pelas cagadas que os admins do servidor fazem.

São resources do meu próprio servidor, eu não os comercializo. E eu sou o único que tenho acesso à host, então se vazou algo foi por má fé da própria host, como já aconteceu algumas vezes na comunidade. E bem, se ainda sim isso continua sendo ilegal, estou disposto à correr este risco, pois não vou ficar 15 dias igual um desgraçado fazendo resources para um preguiçoso pagar uma merreca pra host, pegar o script e colocar no server dele como se nada tivesse acontecido.

Link to comment

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...