[SOURCE]Protección contra el Trade Hack
+4
fabi9005
damiancito
Fenix.
Programador
8 participantes
[SOURCE]Protección contra el Trade Hack
Jue Ago 30, 2012 12:52 pm
Esta es una posible solución (protección) contra el Trade Hack.
Salida en lugar de bloquear los paquetes utilizados por muchos WPE Pro, comprueba si el usuario ya está abierto al comercio (en caso de una nueva solicitud de un oficio se solicita) y evita que el proceso de GameServer esta acción, lo que impide el corte del Comercio.
Obviamente, hay otras maneras, pero esto es una sencilla y muy útil.
El código de abajo, se hizo para servidores: 0.96.40, o como muchos llaman: 97D, pero es compatible con otras versiones, sin embargo, el código debe ser ajustado de acuerdo a la versión del servidor (Tomando los valores de estructuras PMSG_TRADE_REQUEST, PMSG_TRADE_RESPONSE si los valores son diferentes funciones y la solicitud del comercio reanalizar y la respuesta, para asegurarse de que no tiene argumentos nuevos [si usted tiene, hay que añadirlas en el papel], y las compensaciones por el gancho).
Hook:
--------------------------------------------------------------------------------------------
Hook((DWORD)&Programador::Trade::Request, 0x402216);
Hook((DWORD)&Programador::Trade::Response, 0x4018E3);
--------------------------------------------------------------------------------------------
Defines:
--------------------------------------------------------------------------------------------
#define ServerRequestTrade ((void(*)(Programador:PMSG_TRADE_REQUEST*, DWORD)) 0x41D3B0)
#define ServerResponseTrade ((void(*)(Programador::PMSG_TRADE_RESPONSE*, DWORD)) 0x41D990)
--------------------------------------------------------------------------------------------
Credito : Programador
Salida en lugar de bloquear los paquetes utilizados por muchos WPE Pro, comprueba si el usuario ya está abierto al comercio (en caso de una nueva solicitud de un oficio se solicita) y evita que el proceso de GameServer esta acción, lo que impide el corte del Comercio.
Obviamente, hay otras maneras, pero esto es una sencilla y muy útil.
El código de abajo, se hizo para servidores: 0.96.40, o como muchos llaman: 97D, pero es compatible con otras versiones, sin embargo, el código debe ser ajustado de acuerdo a la versión del servidor (Tomando los valores de estructuras PMSG_TRADE_REQUEST, PMSG_TRADE_RESPONSE si los valores son diferentes funciones y la solicitud del comercio reanalizar y la respuesta, para asegurarse de que no tiene argumentos nuevos [si usted tiene, hay que añadirlas en el papel], y las compensaciones por el gancho).
Trade.h:
--------------------------------------------------------------------------------------------
#pragma once
#include
#include
namespace Network
{
struct PMSG_TRADE_REQUEST
{
PBMSG_HEAD h;
unsigned char NumberH;
unsigned char NumberL;
};
struct PMSG_TRADE_RESPONSE
{
PBMSG_HEAD h;
unsigned char Response;
unsigned char Id[10];
unsigned short Level;
int GuildNumber;
};
class Trade
{
public:
static void Request(PMSG_TRADE_REQUEST* lpMsg, DWORD dwIndex);
static void Response(PMSG_TRADE_RESPONSE* lpMsg, DWORD dwIndex);
};
}
--------------------------------------------------------------------------------------------
Trade.cpp:
--------------------------------------------------------------------------------------------
#include "Trade.h"
namespace Network
{
void Trade::Request(PMSG_TRADE_REQUEST* lpMsg, DWORD dwIndex)
{
WORD szTarget = (WORD)Object[dwIndex].TargetNumber;
if(Object[dwIndex].m_IfState.use == 1 && Object[dwIndex].m_IfState.type == 1 && Object[dwIndex].pTransaction == 1)
{
if(Object[szTarget].Type == 1)
{
return;
}
}
ServerRequestTrade(lpMsg, dwIndex);
}
void Trade::Response(PMSG_TRADE_RESPONSE* lpMsg, DWORD dwIndex)
{
WORD szTarget = (WORD)Object[dwIndex].TargetNumber;
if(Object[dwIndex].m_IfState.use == 1 && Object[dwIndex].m_IfState.type == 1 && Object[dwIndex].pTransaction == 1)
{
if(Object[szTarget].Type == 1)
{
return;
}
}
ServerResponseTrade(lpMsg, dwIndex);
}
}
--------------------------------------------------------------------------------------------
Hook:
--------------------------------------------------------------------------------------------
Hook((DWORD)&Programador::Trade::Request, 0x402216);
Hook((DWORD)&Programador::Trade::Response, 0x4018E3);
--------------------------------------------------------------------------------------------
Defines:
--------------------------------------------------------------------------------------------
#define ServerRequestTrade ((void(*)(Programador:PMSG_TRADE_REQUEST*, DWORD)) 0x41D3B0)
#define ServerResponseTrade ((void(*)(Programador::PMSG_TRADE_RESPONSE*, DWORD)) 0x41D990)
--------------------------------------------------------------------------------------------
Credito : Programador
- Fenix.Zk-Level 0
15
4502
2
Re: [SOURCE]Protección contra el Trade Hack
Jue Ago 30, 2012 4:30 pm
me quede sin palabra sos un idolo para esta comunidad buen post
- damiancitoZk-Level 1
52
4936
7
Re: [SOURCE]Protección contra el Trade Hack
Jue Ago 30, 2012 4:40 pm
lo que ando buscando a se dècada buen post
- fabi9005Zk-Level 0
18
4521
2
Re: [SOURCE]Protección contra el Trade Hack
Jue Ago 30, 2012 11:01 pm
buen post lujo amigo eston anda de 10 graciª
- chavelitaZk-Nuevo
5
4477
0
Re: [SOURCE]Protección contra el Trade Hack
Sáb Sep 01, 2012 12:40 am
Mè Àndà dè 10 gràcìàs nùèvàmèntè :)
- CGeasZk-Level 0
18
4506
2
Re: [SOURCE]Protección contra el Trade Hack
Dom Sep 02, 2012 2:59 pm
buen post
- ErikClarosZk-Nuevo
5
4546
0
Re: [SOURCE]Protección contra el Trade Hack
Sáb Sep 08, 2012 6:43 am
Una Pregunta Donde va todo eso ???
Re: [SOURCE]Protección contra el Trade Hack
Sáb Sep 08, 2012 7:07 am
ErikClaros escribió:Una Pregunta Donde va todo eso ???
En una dll y la inject al GS.
Para crear la dll : necesitas visual c++
Para Inject : OllyDBG , pero yo uso c++ para inject mas rápido y seguro.
- ErikClarosZk-Nuevo
5
4546
0
Re: [SOURCE]Protección contra el Trade Hack
Sáb Sep 08, 2012 7:55 am
y como hago eso no me ayudarias ??
- jansen23Zk-Nuevo
2
4518
0
Re: [SOURCE]Protección contra el Trade Hack
Vie Sep 21, 2012 2:16 pm
AMIGO ESo lo pongo en analzidor de consultas? o como lo hago?
- [SOURCE]Protección contra los nombres inapropriados
- [SOURCE] Protección contra el Disconnect Hack & Flood Connect (Attack GS)
- Amazon apuesta al Kindle Fire HD contra el iPad.
- Autorizan demanda contra Apple por permitir seguimiento de usuarios.
- BrGuard Protect 1.0 - Proteção contra Ataques DoS/DDOS e Syn Flood
Permisos de este foro:
No puedes responder a temas en este foro.