Ir para conteúdo
  • Cadastre-se

[Tutorial]Proteção gGuard system + core + php


adventeaml2

Posts recomendados


UMA PERGUNTA ESSA PROTECAO FUNFA CONTRA L2TOWER??

não, o L2Tower de hoje nem sequer existia na época que essa proteção foi criada.

Editado por Wallace Carvalho

Caso tenha alguma sugestão para aplicativos, por favor envie por MP.

 WhatsApp: 22 98156-2591 

L2JDREAM PROJECT

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

boa proteção, mas ainda tem alguns artificios que funcionam, mas vale tentar, até por que de todo povo que joga l2.

50% conhece ACP ou CP Reload.

30% PHX e 95% dos servidores bloqueiam.

10% conhecem L2Tower e nem todos sabem usar.

 

uma dica está em um arquivo da Fire.dll do l2, quem sabe usar, consegue bloquear boots.

Editado por demonika

CYeAxaZ.png


L2JDREAM PROJECT TEAM

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Pessoal estou tendo problema em compilar o arquivo MakeCliente.java, pois quando vou compilar aparece o seguinte erro:

 

Erro: Não foi possível localizar nem carregar a classe principal MakeClient
Veja:
Onde ele precisa está para ser carregado?
Link para o comentário
Compartilhar em outros sites

 

Pessoal estou tendo problema em compilar o arquivo MakeCliente.java, pois quando vou compilar aparece o seguinte erro:

 

Erro: Não foi possível localizar nem carregar a classe principal MakeClient
Veja:
Onde ele precisa está para ser carregado?

 

 

Faça como demostra no video que ira da certo ..

 

Usa essa pra ver

 

MakeClient.java

 

 

 


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
import java.util.jar.Manifest;

import com.l2jfrozen.crypt.NewCrypt;



public class MakeClient {

	private static class FileInfo {
		File _file;
		boolean _isEncrypted;
		public FileInfo(File file, boolean isEncrypted) {
			_file = file; _isEncrypted = isEncrypted;
		}
	}
	private static String key = "";
	
	public static void addFilesToZip(File zipFile, boolean isJar,
			FileInfo[] files) throws IOException {
		System.out.println("Making "+zipFile.getName()+":");
		NewCrypt nc = new NewCrypt(key);
		if(zipFile.exists())
			zipFile.delete();
		JarOutputStream out;
		if(isJar) 
			out = new JarOutputStream(new FileOutputStream(zipFile),new Manifest());
		else 
			out = new JarOutputStream(new FileOutputStream(zipFile));
		
		for (int i = 0; i < files.length; i++) {
			InputStream in = new FileInputStream(files[i]._file);
			// Add ZIP entry to output stream.
			String fname;
			if(isJar) {
				fname = files[i]._file.getPath().replace("\\", "/");
				if (fname.indexOf("com")!=-1)
					fname = fname.substring(fname.indexOf("com"));
				
			}
			else 
				fname = files[i]._file.getName();
			
			JarEntry toJar = new JarEntry(fname);
			System.out.print(" adding "+files[i]._file.getName()+"...");
			toJar.setTime(files[i]._file.lastModified());
			out.putNextEntry(toJar);
			// Transfer bytes from the file to the ZIP file
			byte [] data = new byte[in.available()];
			in.read(data);
			if(files[i]._isEncrypted) {
				data = nc.crypt(data);
				System.out.println("encrypted");
			} else System.out.println("stored");
			out.write(data,0,data.length);
			out.closeEntry();
			in.close();
		}
		// Complete the ZIP file
		out.close();
	}
	public static void main(String[] args) {
		try {
			InputStreamReader converter = new InputStreamReader (System.in);
			BufferedReader		in = new BufferedReader (converter);
			key = in.readLine();
			if(key.length()==0)
				return;
			key = key.toUpperCase();
			if(key.length()!=6) {
				System.err.println("Key must contains six hexdecimal dights");
				System.exit(1);
				return;
			}
				
			for(int i = 0;i <key.length();i++)
				if(!"0123456789ABCDEF".contains(key.substring(i,i+1))) {
					System.err.println("Key must contains six hexdecimal dights");
					System.exit(1);
					return;
				}
			key = key+"00";
			addFilesToZip(new File("dist/gGuard.jar"), true ,new FileInfo[] {
																   new FileInfo(new File("./bin/com/l2jfrozen/protection/Loader.class"),false),
																   new FileInfo(new File("./bin/com/l2jfrozen/protection/main.class"),false),
																   new FileInfo(new File("./bin/com/l2jfrozen/protection/ProtectConfig.class"),false),
																   new FileInfo(new File("./bin/com/l2jfrozen/protection/bin/GameGuardManager.class"),true),
																   new FileInfo(new File("./bin/com/l2jfrozen/protection/bin/GGSender.class"),false),
																   new FileInfo(new File("./bin/com/l2jfrozen/protection/bin/GGTask.class"),false),
																   new FileInfo(new File("./bin/com/l2jfrozen/protection/bin/Restriction.class"),false)
																   
																   			});
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.exit(0);

	}

}

 

 

Editado por lovepako

Falar é fácil. Mostre-me o código.

Link para o comentário
Compartilhar em outros sites

Não funcionou aqui não. Continua o mesmo erro.

 

Mas o que fiz foi abri o arquivo a apaguei o codigo, copiei o codigo do site, colei e salvei. Fechei o eclipse abri d novo e tentei compilar para gerar o arquivo gguard.jar mas o erro permaneceu.

 

Está osso.

 

Não sei se tem haver mas a versão que uso do eclipse é:

 

Eclipse SDK
Version: 3.7.2
Build id: M20120208-0800
© Copyright Eclipse contributors and others 2000, 2012. All rights reserved.
This product includes software developed by the
Apache Software Foundation http://www.apache.org/
Quem puder ajudar ....
att...
Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

Pessoal estou usando a rev l2jfrozen 1118 e coloquei a proteção, porém gostaria de saber porque fica assim no game server? Veja:

 

http://i.imgur.com/OCvh7PS.png

 

Está faltando três linhas de proteção.

 

 

Estou tomando uma coça desse mod. :O

 

Obs: Comigo nao está dando travada nenhuma nao no cliente.

Editado por Sidius
Link para o comentário
Compartilhar em outros sites

Pessoal estou usando a rev l2jfrozen 1118 e coloquei a proteção, porém gostaria de saber porque fica assim no game server? Veja:

 

http://i.imgur.com/OCvh7PS.png

 

Está faltando três linhas de proteção.

 

 

Estou tomando uma coça desse mod. :O

 

Obs: Comigo nao está dando travada nenhuma nao no cliente.

Se você está usando os arquivos da system que o adventeaml2 postou, talvez seu client fique sem travar, isso depende de seu sistema operacional, eu uso win7 64 bits e travava de tempos em tempos por causa da dll do kaka, que nesses arquivos é o que protege realmente.

Em relação as mensagens usa o conteúdo abaixo, basta adaptar.

 

 

 

Index: java/net/sf/l2j/protection/main.java
===================================================================
--- java/net/sf/l2j/protection/main.java
+++ java/net/sf/l2j/protection/main.java


package net.sf.l2j.protection;

import java.lang.reflect.Method;
import java.util.logging.Logger;

import net.sf.l2j.Config;
import net.sf.l2j.nProtect;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.L2GameClient;
import net.sf.l2j.util.Util;

public class main {
	protected static Logger _log = Logger.getLogger(main.class.getName());
	public static void init(nProtect.nProtectAccessor protector ) {
		Util.printSection("[Protect System]");
		Config.load();
		if(Config.PROTECTION_ENABLED)
		try {
			Class<?> clazz = Loader.getInstance().forName("net.sf.l2j.protection.bin.GameGuardManager");
			if(clazz!=null) {
				Method m = clazz.getMethod("getInstance");
				if(m!=null) try {
					m.invoke(null);
				} catch(Exception e) {
					_log.info("[Protect System]: Disabled");
					return;
				}
				protector.setSendRequest(clazz.getMethod("sendRequest", L2GameClient.class));
				protector.setCheckGameGuardQuery(clazz.getMethod("checkGameGuardQuery",L2GameClient.class,int [].class));
				protector.setCloseSession(clazz.getMethod("closeSession",L2GameClient.class));
				
			}
			clazz = Loader.getInstance().forName("net.sf.l2j.protection.bin.GGSender");
			if(clazz!=null) {
				protector.setSendGGQuery(clazz.getMethod("sendServerId"));
			}	
	
			clazz = Loader.getInstance().forName("net.sf.l2j.protection.bin.GGTask");
			if(clazz!=null) {
				protector.setStartTask(clazz.getMethod("startTask", L2GameClient.class));
				_log.info("[Protect System]: Protection task (ready)");
			}

			clazz = Loader.getInstance().forName("net.sf.l2j.protection.bin.Restriction");
			if(clazz!=null) {
				protector.setCheckRestriction(clazz.getMethod("check", L2PcInstance.class,nProtect.RestrictionType.class, Object[].class));
				_log.info("[Protect System]: Restriction manager (ready)");
			}
			
		}catch(Exception e) {
			_log.info("[Protect System]: Error while loading "+e);
		} else 
			_log.info("[Protect System]: Disabled");
	}
}

 

 

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

Penacho quanto a questao da travada aqui realmente nao ta dando agora porque não sei, uso o win7 64 meu computador tem 32gb de ram processador um i7.

 

Agora peço sua ajuda quanto a questão das linha no console do game server porque mesmo com o codigo postado não funcionou.

Deixo claro que a proteção de system, está funcionando ou seja logar com outra system nao dá, nao da pra ligar o tower, walker, net, cp reload e etc....

Essas linhas nao aparecerem implica no nao funcionamento de alguma coisa?

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

boa proteção, mas ainda tem alguns artificios que funcionam, mas vale tentar, até por que de todo povo que joga l2.

50% conhece ACP ou CP Reload.

30% PHX e 95% dos servidores bloqueiam.

10% conhecem L2Tower e nem todos sabem usar.

 

uma dica está em um arquivo da Fire.dll do l2, quem sabe usar, consegue bloquear boots.

Tem como dar uma explicada sobre esse esquema com o fire.dll?

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

Tem como dar uma explicada sobre esse esquema com o fire.dll?

Mano tem como você compilar a ddl g.guard em delphi sem a ddl do Kaká,

com os arquivos de configurar site e a key na system como Adventeaml2 fez..

ajudaria muita gente aqui que não sabe nada de delphi como Eu :D

Link para o comentário
Compartilhar em outros sites

Mano tem como você compilar a ddl g.guard em delphi sem a ddl do Kaká,

com os arquivos de configurar site e a key na system como Adventeaml2 fez..

ajudaria muita gente aqui que não sabe nada de delphi como Eu :D

Basta remover a dll, use esse programa: https://mega.nz/#!EMlxCIZA!jILm9OJfSqo8v-TGIshR-P22G2s7n81JJjpxCZSNhi0

E siga as imagens:

 

 

 

1. Abra o arquivo gGuard.dll.

 

lzFajDB.jpg

 

2. Clique em Import Directory.

 

rPHWNOx.jpg

 

3. Clique com o botão direito sobre wrap_al.dll.

3.1 Clique em Delete Import Descriptor.

 

jSaAv6T.jpg

 

4. Clique no ícone como mostra a imagem.

 

ZwYc1uS.jpg

 

5. Clique no botão Sim, como mostra a imagem abaixo.

 

LP2S371.jpg

 

 

 

Pronto !

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Como faço pra colocar a checagem dos sites na configs?

Ex.:

 Encontra-se assim no arquivo Loader.java

   private static String _sites[] = {
       "http://10.0.0.102/npgmup.php", "http://10.0.0.102/npgmup.php"
   };

Como quero:

ProtectConfig.java

sites = http://10.0.0.102/npgmup.php, http://10.0.0.102/npgmup.php

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

 

Como faço pra colocar a checagem dos sites na configs?

Ex.:

 Encontra-se assim no arquivo Loader.java

   private static String _sites[] = {
       "http://10.0.0.102/npgmup.php", "http://10.0.0.102/npgmup.php"
   };

Como quero:

ProtectConfig.java

sites = http://10.0.0.102/npgmup.php, http://10.0.0.102/npgmup.php

qual projeto está usando ?

Caso tenha alguma sugestão para aplicativos, por favor envie por MP.

 WhatsApp: 22 98156-2591 

L2JDREAM PROJECT

Link para o comentário
Compartilhar em outros sites

ProtectConfig.java

private static String _sites[] = Config.SITES_GGUARD_CHECK;

Config.java

public static String[] SITES_GGGUARD_CHECK;
String[] sites = otherSettings.getProperty("SiteGuardCheck", "http://10.0.0.102/npgmup.php,http://10.0.0.102/npgmup.php").split(",");
			for (final String site : sites)
			{
				final String[] siteSplit = site.split(",");
				if (siteSplit.length != 2)
				{
					_log.warn("SiteGuardCheck[Config.load()]: invalid config property -> SiteGuardCheck \"" + site + "\"");
				}
				else
				{
					try
					{
						SITES_GGGUARD_CHECK = new String[]
						{
							siteSplit[0],
							siteSplit[1]
						};
						
					}
					catch (final NumberFormatException nfe)
					{
						if (!site.isEmpty())
						{
							_log.warn("SiteGuardCheck[Config.load()]: invalid config property -> SiteGuardCheck \"" + site + "\"");
						}
					}
				}
			}

Ou seja, _sites[0] vai ser igual "http://10.0.0.102/npgmup.php"

 

Frozen

Não testei , tenta ai e me fala.

Editado por Lucas Fernandes

Minha meta é ser ...

( )Zaw9wHq.png

"Ficar louco de vez em quando é necessidade básica para permanecer são."

Osho

Link para o comentário
Compartilhar em outros sites

ProtectConfig.java

private static String _sites[] = Config.SITES_GGUARD_CHECK;

Config.java

public static String[] SITES_GGGUARD_CHECK;
String[] sites = otherSettings.getProperty("SiteGuardCheck", "http://10.0.0.102/npgmup.php,http://10.0.0.102/npgmup.php").split(",");
			for (final String site : sites)
			{
				final String[] siteSplit = site.split(",");
				if (siteSplit.length != 2)
				{
					_log.warn("SiteGuardCheck[Config.load()]: invalid config property -> SiteGuardCheck \"" + site + "\"");
				}
				else
				{
					try
					{
						SITES_GGGUARD_CHECK = new String[]
						{
							siteSplit[0],
							siteSplit[1]
						};
						
					}
					catch (final NumberFormatException nfe)
					{
						if (!site.isEmpty())
						{
							_log.warn("SiteGuardCheck[Config.load()]: invalid config property -> SiteGuardCheck \"" + site + "\"");
						}
					}
				}
			}

Ou seja, _sites[0] vai ser igual "http://10.0.0.102/npgmup.php"

 

Não testei , tenta ai e me fala.

Já consegui, mas valeu pela resposta.

Porém desse modo ainda continua checando no GS.

Tentei rodar o GS com a parte na hospedagem com php 5.5, porém a proteção não carrega.

A parte do client funcionou normal com php 5.5, mas o server somente com php 5.4.

Alguém tem idéia do que possa ser?

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.






×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.