Originally Posted by Tohu
Hallo, ich habe für euch einen inventar dropper erstellt, der innerhalb von kürzester Zeit (10Millisekunden?!) alle Items (einschließlich das Yang und das equipment) aus eurem Inventar auf den Boden droppt, anschließend kommt ein Fehlermeldung von Metin2 und das Spiel stürzst ab.
Er kann leider nur 5 Yangdropps droppen dabei geht er so vor:
6KK droppen (wenn vorhanden) -> 2kk droppen (wenn vorhanden) -> 1kk droppen (wenn vorhanden)-> 500k droppen (wenn vorhanden)-> 200k droppen (wenn vorhanden)
dazu gibt es außerdem ein Video:
[Only registered and activated users can see links. Click Here To Register...]
youtube hat wieder meine musik rausgeschnitten, habe jetzt da irgend nen lied eingefügt^^
(könnt ja bei youtube den ton ausmachen)
der "Hack" ist nicht mit Autoit geschrieben worden :p
Ich glaube es gibt schon so etwas "Metin2 Bandit" oder so, aber mein "Bandit" ist wesentlich schneller:bandit:.
Ich bitte euch das Video anzuschauen, damit ihr einen Eindruck davon bekommt.:handsdown:
Vorteile zu anderen Metin2 "Banditen":
-so schnell das man keine Zeit hat auf den Ausknopf des PC´s zu klicken oder den Prozess metin2client.bin mit dem Taskmanager zu killen (revulutionäre Technik :D)
Nachteile:
-mehrere Datein (EXE, INI, DLL) ist aber meiner Meinung nach kein großer Nachteil
-Perx könnte als Virus angezigt werden
Dowenload ist im Anhang
Das rar Archiv enthält: Perx.exe(hack-starter.ini), perx.ini(hack-starter.ini), inventar dropper.dll (Metin2-professionell-hack 5.3.dll :D)
Anleitung (die ihr dem jenigen schreibt den ihr vera....en wollt)
-bei metin2 einloggen
-Archiv entpacken
-hack-starter starten (bei vista und windows 7 als administrator ausführen)
-auf browse drücken und "Metin2-professionell-hack 5.3.dll auswählen"
-auf inject drücken !!!FERTIG!!!
Nun sollten alle Items und das Yang eures Opfers auf dem Boden liegen und euer Opfer gekickt sein. Ihr könnt nun die Items und das Yang aufsammeln (schneller geht dies [Only registered and activated users can see links. Click Here To Register...] ;)
Dowenloads:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Warum habe ich das gemacht?
-weil anscheinend (obwohl dies nicht die feine Art ist) viele epvp member so etwas gut finden^^
-weil ich mich ein bisschen mit odbg und c++ beschäftigen wollte und ich den drang hatte einen solchen "Hack" zu schreiben
Und noch ein Dank an xWaffelseisen der mir bei fragen immer mit rat und tat zur seite steht^^
Ich glaube ich habe jetzt alles gesagt wenn noch etwas fehlt meldet euch.^^
Neues video ist da!
€auf wunsch gibts jetzt den hack auf ohne das metin2 abstürzt (zum betrügen nicht ganz so wie der andere geeignet)
€nach dem neuen patch geht er nich mehr wenn ihr lust habt könnt ihr die neuen adressen suchen und sie dann hier veröffentlichen oder mir eine pn mit den neuen adressen schicken ^^
Hier ist ein tut wie ihr die adressen findet (das tut ist von xWaffeleisen): [Only registered and activated users can see links. Click Here To Register...]
Source-code:
Metin2.h
Code:
#include <Windows.h>
#pragma once
class Metin2
{
public:
Metin2(void);
~Metin2(void);
void UseItem(int Slot);
DWORD dwUseItemAddr1;
DWORD dwUseItemAddr2;
DWORD dwUseItemAddr3;
void DropItem(int Slot, int Anzahl);
DWORD dwDropItemAddr1;
DWORD dwDropItemAddr2;
DWORD dwDropItemAddr3;
void DropYang(int Yang);
DWORD dwDropYangAddr1;
DWORD dwDropYangAddr2;
DWORD dwDropYangAddr3;
void AttackKeyPressed(int ispressed);
DWORD dwAttackKeyPressedAddr1;
DWORD dwAttackKeyPressedAddr2;
DWORD dwAttackKeyPressedAddr3;
void PickUp(void);
DWORD dwPickUpAddr1;
DWORD dwPickUpAddr2;
void QuickSlot(int Slot);
DWORD dwQuickSlotAddr1;
DWORD dwQuickSlotAddr2;
DWORD dwQuickSlotAddr3;
void SendChat(char* Text, int Chattyp);
DWORD dwSendChatAddr1;
DWORD dwSendChatAddr2;
DWORD dwSendChatAddr3;
};
main.cpp
Code:
#include <Windows.h>
#include "Metin2.h"
DWORD APIENTRY OnInjection()
{
Metin2 M2; // Erstellen einer Klasseninstanz
// Festlegen der Funktionsadressen (Stand 27. Feb 2010)
M2.dwUseItemAddr1 = 0x0041ED60;
M2.dwUseItemAddr2 = 0x0053FCE0;
M2.dwUseItemAddr3 = 0x005F4FC8;
M2.dwDropItemAddr1 = 0x0041DFC0;
M2.dwDropItemAddr2 = 0x0053FCE0;
M2.dwDropItemAddr3 = 0x005F4FC8;
M2.dwAttackKeyPressedAddr1 = 0x0043D530;
M2.dwAttackKeyPressedAddr2 = 0x0053FCE0;
M2.dwAttackKeyPressedAddr3 = 0x005F29B8;
M2.dwPickUpAddr1 = 0x0043C970;
M2.dwPickUpAddr2 = 0x005F29B8;
M2.dwDropYangAddr1 = 0x0041DFC0;
M2.dwDropYangAddr2 = 0x0053FCE0;
M2.dwDropYangAddr3 = 0x005F4FC8;
M2.dwQuickSlotAddr1 = 0x00439D20;
M2.dwQuickSlotAddr2 = 0x0053FCE0;
M2.dwQuickSlotAddr3 = 0x005F29B8;
M2.dwSendChatAddr1 = 0x0041A640;
M2.dwSendChatAddr2 = 0x0053FCE0;
M2.dwSendChatAddr3 = 0x005F4FC8;
M2.DropItem(0,200);
M2.DropItem(1,200);
M2.DropItem(2,200);
M2.DropItem(3,200);
M2.DropItem(4,200);
M2.DropItem(5,200);
M2.DropItem(6,200);
M2.DropItem(7,200);
M2.DropItem(8,200);
M2.DropItem(9,200);
M2.DropItem(10,200);
M2.DropItem(11,200);
M2.DropItem(12,200);
M2.DropItem(13,200);
M2.DropItem(14,200);
M2.DropItem(15,200);
M2.DropItem(16,200);
M2.DropItem(17,200);
M2.DropItem(18,200);
M2.DropItem(19,200);
M2.DropItem(20,200);
M2.DropItem(21,200);
M2.DropItem(22,200);
M2.DropItem(23,200);
M2.DropItem(24,200);
M2.DropItem(25,200);
M2.DropItem(26,200);
M2.DropItem(27,200);
M2.DropItem(28,200);
M2.DropItem(29,200);
M2.DropItem(30,200);
M2.DropItem(31,200);
M2.DropItem(32,200);
M2.DropItem(33,200);
M2.DropItem(34,200);
M2.DropItem(35,200);
M2.DropItem(36,200);
M2.DropItem(37,200);
M2.DropItem(38,200);
M2.DropItem(39,200);
M2.DropItem(40,200);
M2.DropItem(41,200);
M2.DropItem(42,200);
M2.DropItem(43,200);
M2.DropItem(44,200);
M2.DropItem(45,200);
M2.DropItem(46,200);
M2.DropItem(47,200);
M2.DropItem(48,200);
M2.DropItem(49,200);
M2.DropItem(50,200);
M2.DropItem(51,200);
M2.DropItem(52,200);
M2.DropItem(53,200);
M2.DropItem(54,200);
M2.DropItem(55,200);
M2.DropItem(56,200);
M2.DropItem(57,200);
M2.DropItem(58,200);
M2.DropItem(59,200);
M2.DropItem(60,200);
M2.DropItem(61,200);
M2.DropItem(62,200);
M2.DropItem(63,200);
M2.DropItem(64,200);
M2.DropItem(65,200);
M2.DropItem(66,200);
M2.DropItem(67,200);
M2.DropItem(68,200);
M2.DropItem(69,200);
M2.DropItem(70,200);
M2.DropItem(71,200);
M2.DropItem(72,200);
M2.DropItem(73,200);
M2.DropItem(74,200);
M2.DropItem(75,200);
M2.DropItem(76,200);
M2.DropItem(77,200);
M2.DropItem(78,200);
M2.DropItem(79,200);
M2.DropItem(80,200);
M2.DropItem(81,200);
M2.DropItem(82,200);
M2.DropItem(83,200);
M2.DropItem(84,200);
M2.DropItem(85,200);
M2.DropItem(86,200);
M2.DropItem(87,200);
M2.DropItem(88,200);
M2.DropItem(89,200);
M2.UseItem(90);
M2.UseItem(91);
M2.UseItem(92);
M2.UseItem(93);
M2.UseItem(94);
M2.UseItem(95);
M2.UseItem(96);
M2.UseItem(97);
M2.UseItem(98);
M2.UseItem(99);
M2.UseItem(100);
M2.UseItem(101);
M2.UseItem(102);
M2.UseItem(103);
M2.UseItem(104);
M2.UseItem(105);
M2.UseItem(106);
M2.UseItem(107);
M2.UseItem(108);
M2.UseItem(109);
M2.UseItem(110);
M2.DropItem(0,200);
M2.DropItem(1,200);
M2.DropItem(2,200);
M2.DropItem(3,200);
M2.DropItem(4,200);
M2.DropItem(5,200);
M2.DropItem(6,200);
M2.DropItem(7,200);
M2.DropItem(8,200);
M2.DropItem(9,200);
M2.DropItem(10,200);
M2.DropItem(11,200);
M2.DropItem(12,200);
M2.DropItem(13,200);
M2.DropItem(14,200);
M2.DropItem(15,200);
M2.DropItem(16,200);
M2.DropItem(17,200);
M2.DropItem(18,200);
M2.DropItem(19,200);
M2.DropItem(20,200);
M2.DropItem(21,200);
M2.DropItem(22,200);
M2.DropItem(23,200);
M2.DropItem(24,200);
M2.DropItem(25,200);
M2.DropItem(26,200);
M2.DropItem(27,200);
M2.DropItem(28,200);
M2.DropItem(29,200);
M2.DropItem(30,200);
M2.DropItem(31,200);
M2.DropItem(32,200);
M2.DropItem(33,200);
M2.DropItem(34,200);
M2.DropItem(35,200);
M2.DropItem(36,200);
M2.DropItem(37,200);
M2.DropItem(38,200);
M2.DropItem(39,200);
M2.DropItem(40,200);
M2.DropItem(41,200);
M2.DropItem(42,200);
M2.DropItem(43,200);
M2.DropItem(44,200);
M2.DropItem(45,200);
M2.DropItem(46,200);
M2.DropItem(47,200);
M2.DropItem(48,200);
M2.DropItem(49,200);
M2.DropItem(50,200);
M2.DropItem(51,200);
M2.DropItem(52,200);
M2.DropItem(53,200);
M2.DropItem(54,200);
M2.DropItem(55,200);
M2.DropItem(56,200);
M2.DropItem(57,200);
M2.DropItem(58,200);
M2.DropItem(59,200);
M2.DropItem(60,200);
M2.DropItem(61,200);
M2.DropItem(62,200);
M2.DropItem(63,200);
M2.DropItem(64,200);
M2.DropItem(65,200);
M2.DropItem(66,200);
M2.DropItem(67,200);
M2.DropItem(68,200);
M2.DropItem(69,200);
M2.DropItem(70,200);
M2.DropItem(71,200);
M2.DropItem(72,200);
M2.DropItem(73,200);
M2.DropItem(74,200);
M2.DropItem(75,200);
M2.DropItem(76,200);
M2.DropItem(77,200);
M2.DropItem(78,200);
M2.DropItem(79,200);
M2.DropItem(80,200);
M2.DropItem(81,200);
M2.DropItem(82,200);
M2.DropItem(83,200);
M2.DropItem(84,200);
M2.DropItem(85,200);
M2.DropItem(86,200);
M2.DropItem(87,200);
M2.DropItem(88,200);
M2.DropItem(89,200);
M2.DropYang(6000000);
M2.DropYang(2000000);
M2.DropYang(1000000);
M2.DropYang(500000);
M2.DropYang(200000);
M2.DropYang(1);
M2.DropYang(1);
M2.DropYang(1);
return 0;
}
BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)OnInjection, NULL, 0, NULL);
}
return true;
}
Metin2.cpp
Code:
#include "Metin2.h"
Metin2::Metin2(void)
: dwUseItemAddr1(0)
, dwUseItemAddr2(0)
, dwUseItemAddr3(0)
, dwDropItemAddr1(0)
, dwDropItemAddr2(0)
, dwDropItemAddr3(0)
, dwAttackKeyPressedAddr1(0)
, dwAttackKeyPressedAddr2(0)
, dwAttackKeyPressedAddr3(0)
, dwPickUpAddr1(0)
, dwPickUpAddr2(0)
, dwDropYangAddr1(0)
, dwDropYangAddr2(0)
, dwDropYangAddr3(0)
, dwQuickSlotAddr1(0)
, dwQuickSlotAddr2(0)
, dwQuickSlotAddr3(0)
, dwSendChatAddr1(0)
, dwSendChatAddr2(0)
, dwSendChatAddr3(0)
{
}
Metin2::~Metin2(void)
{
}
void Metin2::UseItem(int Slot)
{
DWORD Addr1 = this->dwUseItemAddr1;
DWORD Addr2 = this->dwUseItemAddr2;
DWORD Addr3 = this->dwUseItemAddr3;
__asm
{
MOV EAX, Addr3
MOV ECX,DWORD PTR DS:[EAX]
PUSH Slot
CALL Addr1
CALL Addr2
}
}
void Metin2::DropItem(int Slot, int Anzahl)
{
DWORD Addr1 = this->dwDropItemAddr1;
DWORD Addr2 = this->dwDropItemAddr2;
DWORD Addr3 = this->dwDropItemAddr3;
__asm
{
MOV EAX, Addr3
MOV ECX,DWORD PTR DS:[EAX]
PUSH Anzahl
PUSH 0
PUSH Slot
CALL Addr1
CALL Addr2
}
}
void Metin2::DropYang(int Yang)
{
DWORD Addr1 = this->dwDropYangAddr1;
DWORD Addr2 = this->dwDropYangAddr2;
DWORD Addr3 = this->dwDropYangAddr3;
__asm
{
MOV EAX, Addr3
MOV ECX,DWORD PTR DS:[EAX]
PUSH Yang
PUSH 0
CALL Addr1
CALL Addr2
}
}
void Metin2::AttackKeyPressed(int ispressed)
{
DWORD Addr1 = this->dwAttackKeyPressedAddr1;
DWORD Addr2 = this->dwAttackKeyPressedAddr2;
DWORD Addr3 = this->dwAttackKeyPressedAddr3;
__asm
{
MOV EAX, Addr3
MOV ECX,DWORD PTR DS:[EAX]
SETNE DL
PUSH ispressed
CALL Addr1
CALL Addr2
}
}
void Metin2::PickUp(void)
{
DWORD Addr1 = this->dwPickUpAddr1;
DWORD Addr2 = this->dwPickUpAddr2;
__asm
{
MOV EAX, Addr2
MOV ECX,DWORD PTR DS:[EAX]
CALL Addr1
}
}
void Metin2::QuickSlot(int Slot)
{
DWORD Addr1 = this->dwQuickSlotAddr1;
DWORD Addr2 = this->dwQuickSlotAddr2;
DWORD Addr3 = this->dwQuickSlotAddr3;
__asm
{
MOV EAX, Addr3
MOV ECX,DWORD PTR DS:[EAX]
PUSH Slot
CALL Addr1
CALL Addr2
}
}
void Metin2::SendChat(char* Text, int Chattyp)
{
DWORD Addr1 = this->dwSendChatAddr1;
DWORD Addr2 = this->dwSendChatAddr2;
DWORD Addr3 = this->dwSendChatAddr3;
__asm
{
MOV EAX, Addr3
MOV ECX,DWORD PTR DS:[EAX]
PUSH Chattyp
PUSH Text
CALL Addr1
CALL Addr2
}
}
|