arecek
Dołączył: 02 Kwi 2007
Posty: 3
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 16:11, 02 Kwi 2007 Temat postu: Evul bocik |
|
|
runemaker.cpp (pakiety do robienia run)
void MoveFromHandToContainer(int containernumber, int spot, int itemid, int count, char *hand)
{
char Packet[17];
DWORD pid;
Packet[0] = 0x0F;
Packet[1] = 0x00;
Packet[2] = 0x78;
Packet[3] = 0xFF;
Packet[4] = 0xFF;
if (strcmp(hand,"Right")==0)
Packet[5] = 0x05;
else if (strcmp(hand,"Left")==0)
Packet[5] = 0x06;
Packet[6] = 0x00;
Packet[7] = 0x00;
Packet[8] = itemid & 255;
Packet[9] = itemid >> 8;
Packet[10]= 0x00;
Packet[11] = 0xFF;
Packet[12] = 0xFF;
Packet[13] = containernumber+63;
Packet[14] = 0x00;
Packet[15] = spot-1;
Packet[16] = count;
hLib = LoadLibrary("packet.dll");
SendPacket = (SENDPACKET)GetProcAddress(hLib, "SendPacket");
GetWindowThreadProcessId(FindWindow("TibiaClient",NULL),&pid);
SendPacket(pid, Packet, 1, 0);
}
void MoveFromContainerToHand(int containernumber, int spot, int itemid, int count, char *hand)
{
char Packet[17];
DWORD pid;
Packet[0] = 0x0F;
Packet[1] = 0x00;
Packet[2] = 0x78;
Packet[3] = 0xFF;
Packet[4] = 0xFF;
Packet[5] = containernumber + 63;
Packet[6] = 0x00;
Packet[7] = 0x00;
Packet[8] = itemid & 255;
Packet[9] = itemid >> 8;
Packet[10] = spot-1;
Packet[11] = 0xFF;
Packet[12] = 0xFF;
if (strcmp(hand,"Right")==0)
Packet[13] = 0x05;
else if (strcmp(hand,"Left")==0)
Packet[13] = 0x06;
Packet[14] = 0x00;
Packet[15] = 0x00;
Packet[16] = count;
hLib = LoadLibrary("packet.dll");
SendPacket = (SENDPACKET)GetProcAddress(hLib, "SendPacket");
GetWindowThreadProcessId(FindWindow("TibiaClient",NULL),&pid);
SendPacket(pid, Packet, 1, 0);
}
void make()
{
int mana,x,t,weapon,runeid,rune_mana;
HWND client = FindWindow("TibiaClient", 0);
DWORD pid;
HANDLE hProcess;
GetWindowThreadProcessId(client, &pid);
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
ReadProcessMemory(hProcess, (LPVOID)0x0060E2D4, &weapon, 4, NULL);
ReadProcessMemory(hProcess, (LPVOID)0x006059B0, &mana, 4, NULL);
rune_mana=880;
if(mana>rune_mana)
{
MoveFromContainerToHand(1,1,3147,1,"Left");
Sleep(2000);
ReadProcessMemory(hProcess, (LPVOID)0x0060E2D4, &x, 4, NULL);
if(x==3147)
{
SendMessage(client, WM_KEYDOWN, VK_CONTROL, 0);
SendMessage(client, WM_KEYDOWN, VK_F11, 0);
SendMessage(client, WM_KEYUP, VK_F11, 0);}
SendMessage(client, WM_KEYUP, VK_CONTROL, 0);}
ReadProcessMemory(hProcess, (LPVOID)0x0060E2D4, &runeid, 4, NULL);
Sleep(2000);
MoveFromHandToContainer(2,1,runeid,1,"Left");
Sleep(2000);
MoveFromContainerToHand(1,1,weapon,1,"Left");
}
eat.h (bezpakietowy autofood ;])
void eat()
{
HWND client = FindWindow("TibiaClient", 0);
DWORD pid;
HANDLE hProcess;
GetWindowThreadProcessId(client, &pid);
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SendMessage(client, WM_KEYDOWN, VK_F11, 0);
SendMessage(client, WM_KEYUP, VK_F11, 0);
}
pkt.h Trade talker , komunikacja z uzytkownikiem (pakieety)
void talk(string text,string name,string name2)
{
char Packet[255];
DWORD pid;
int x ;
char nick[25],nick2[25];
for(x=0;x<25;x++)
{ nick[x]=name[x];}
for(x=0;x<25;x++)
{ nick2[x]=name2[x];}
Packet[0] = 7+30+strlen(nick)+strlen(nick2);
Packet[1] = 0x00;
Packet[2] = 0x96;
Packet[3] = 0x04;
Packet[4] = 1+strlen(nick)+strlen(nick2);
Packet[5] = 0x00;
//////////////////////////////////// nick
for(x=0;x<strlen(nick);x++)
{
Packet[x+6] = name[x];
}
Packet[6+strlen(nick)] = 0x20;
for(x=0;x<strlen(nick2);x++)
{
Packet[x+7+strlen(nick)] = name2[x];
}
////////////////////////////
Packet[7+strlen(nick)+strlen(nick2)] = 0x1E;
Packet[8+strlen(nick)+strlen(nick2)] = 0x00;
////////////////////////////////////// hasla
for(x=0;x<30;x++)
{
Packet[x+9+strlen(nick)+strlen(nick2)]= text[x] ;
}
hLib = LoadLibrary("packet.dll");
SendPacket = (SENDPACKET)GetProcAddress(hLib, "SendPacket");
GetWindowThreadProcessId(FindWindow("TibiaClient",NULL),&pid);
SendPacket(pid, Packet, 1, 0);
}
void talker(string text,long sleep)
{
char Packet[255];
DWORD pid;
int x ;
char tekst[128];
for(x=0;x<128;x++)
{ tekst[x]=text[x];}
Packet[0] = 6+strlen(tekst);
Packet[1] = 0x00;
Packet[2] = 0x96;
Packet[3] = 0x05;
Packet[4] = 0x05;
Packet[5] = 0x00;
Packet[6] = strlen(tekst);
Packet[7] = 0x00;
for(x=0;x<30;x++)
{
Packet[x+8]= tekst[x] ;
if(tekst[x]=0)
{ break;}
}
hLib = LoadLibrary("packet.dll");
SendPacket = (SENDPACKET)GetProcAddress(hLib, "SendPacket");
GetWindowThreadProcessId(FindWindow("TibiaClient",NULL),&pid);
SendPacket(pid, Packet, 1, 0);
Sleep(sleep);
}
Main (winapi)
#include <windows.h>
#include <iostream.h>
#include <string>
#include <process.h>
using namespace std;
#define off 1
#define mow 2
#define dane1 3
#define dane2 4
#define aktywuj 5
#define wpisz 6
#define rune 7
#define jedz 8
#define conect HWND client = FindWindow("TibiaClient", 0);DWORD pid;HANDLE hProcess;GetWindowThreadProcessId(client, &pid);hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
int x;
char string2[30],string1[30];
typedef int (WINAPI *SENDPACKET)(DWORD, char*, BOOL, BOOL);
SENDPACKET SendPacket = NULL;
HINSTANCE hLib;
#include "ptk.h"
#include "battlelist.h"
#include "move.h"
void eat(void* parametr)
{
HWND client = FindWindow("TibiaClient", 0);
DWORD pid;
HANDLE hProcess;
GetWindowThreadProcessId(client, &pid);
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
x=0;
for(;;)
{
char Packet[17];
DWORD pid;
Packet[0] = 0x0A;
Packet[1] = 0x00;
Packet[2] = 0x82;
Packet[3] = 0xFF;
Packet[4] = 0xFF;
Packet[5] = 0x40;
Packet[6] = 0x00;
Packet[7] = 0x00;
Packet[8] = 0xFE;
Packet[9]= 0x0D;
Packet[10] = 0x00 ;
Packet[11] = 0x00 ;
hLib = LoadLibrary("packet.dll");
SendPacket = (SENDPACKET)GetProcAddress(hLib, "SendPacket");
GetWindowThreadProcessId(FindWindow("TibiaClient",NULL),&pid);
SendPacket(pid, Packet, 1, 0);
Sleep(20000);
if(x==1)
{
_endthread();
break;
}
}
}
void makein(void* parametr)
{
conect;
for(;;)
{
int
dana1[128];
ReadProcessMemory( hProcess, (LPVOID)0x0075CDD8, &dana1, 4, NULL );
make();
if(x==1)
{
_endthread();
break;
}
}
}
void talkerin(void* parametr)
{
char dana1[128];
conect
ReadProcessMemory( hProcess, (LPVOID)0x0075CDD8, &dana1, 128, NULL );
x=0;
for(;;)
{
talker(dana1,120000) ;
if(x==1)
{
_endthread();
break;
}
}
}
void ReadBattleListin(void* parametr)
{
char string[256],string2[256];
conect
ReadProcessMemory( hProcess, (LPVOID)0x0075CDD8, &string, 80, NULL );
ReadProcessMemory( hProcess, (LPVOID)0x0075CED8, &string2, 80, NULL );
for(;;)
{
Sleep(1000);
ReadBattleList(string);
system("cls");
if(x==1)
{
_endthread();
break;
}
}
}
LRESULT CALLBACK WndProc( HWND hWnd , UINT message , WPARAM wParam , LPARAM lParam)
{
switch(message)
{
case WM_COMMAND:
if(LOWORD(wParam)==off){
x=1;
}
if(LOWORD(wParam)==mow){
_beginthread(talkerin,0,0);
}
if(LOWORD(wParam)==aktywuj)
{
x=0;
_beginthread(ReadBattleListin,0,0);
}
if(LOWORD(wParam)==jedz)
{
x=0;
_beginthread(eat,0,0);
}
if(LOWORD(wParam)==wpisz){
char string[256],string2[256];
conect
GetDlgItemText(hWnd, dane2, string, 256);
GetDlgItemText(hWnd, dane1, string2, 256);
WriteProcessMemory( hProcess, (LPVOID)0x0075CDD8, &string, 80, NULL );
WriteProcessMemory( hProcess, (LPVOID)0x0075CED8, &string2, 80, NULL );
}
if(LOWORD(wParam)==rune){
x=0;
_beginthread(makein,0,0);
}
break;
}
return DefWindowProc(hWnd,message,wParam,lParam);
}
INT WINAPI WinMain( HINSTANCE , HINSTANCE , LPSTR , INT )
{
// Create A Window Class Structure
WNDCLASSEX wc;
wc.cbClsExtra = 0;
wc.cbSize = sizeof(wc);
wc.cbWndExtra = 0;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = GetSysColorBrush(COLOR_BTNFACE);
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wc.hInstance = GetModuleHandle(NULL);
wc.lpfnWndProc = WndProc;
wc.lpszClassName = "main";
wc.lpszMenuName = NULL;
wc.style = 0;
// Register Window Class
RegisterClassEx(&wc);
// Create a Window
HWND hWnd = CreateWindowEx(0,
"main", "NoNameBot",
WS_OVERLAPPEDWINDOW, 100,100,400,200,
NULL,NULL,wc.hInstance,0);
// Create a edit box
HWND edit = CreateWindowEx(0,
"EDIT", "Dana1(zaklecie,tekst,+ alarm",
WS_CHILD|WS_VISIBLE|WS_BORDER, 10,50,370,20,
hWnd,(HMENU)dane2,NULL,0);
// Create a edit box
HWND edit2 = CreateWindowEx(0,
"EDIT", "Dana2(przerwa dla talkera)",
WS_CHILD|WS_VISIBLE|WS_BORDER, 10,70,370,20,
hWnd,(HMENU)dane1,NULL,0);
// Create a button
HWND button = CreateWindowEx(0,
"BUTTON", "Off",
WS_CHILD|WS_VISIBLE, 10,110,100,20,
hWnd,(HMENU)1,NULL,0);
// Create a button
HWND button2 = CreateWindowEx(0,
"BUTTON", "Talker",
WS_CHILD|WS_VISIBLE, 10,130,100,20,
hWnd,(HMENU)mow,NULL,0);
// Create a button
HWND button3 = CreateWindowEx(0,
"BUTTON", "Gm/Cm/+",
WS_CHILD|WS_VISIBLE, 10,150,100,20,
hWnd,(HMENU)aktywuj,NULL,0);
// Create a button
HWND button4 = CreateWindowEx(0,
"BUTTON", "Wpisz dane",
WS_CHILD|WS_VISIBLE, 130,20,100,20,
hWnd,(HMENU)wpisz,NULL,0);
// Create a button
HWND button5 = CreateWindowEx(0,
"BUTTON", "Runemaker",
WS_CHILD|WS_VISIBLE, 150,110,100,20,
hWnd,(HMENU)rune,NULL,0);
// Create a button
HWND button6 = CreateWindowEx(0,
"BUTTON", "Eater",
WS_CHILD|WS_VISIBLE, 150,130,100,20,
hWnd,(HMENU)jedz,NULL,0);
ShowWindow(hWnd,SW_SHOW);
// Message Loop
MSG msg;
while(GetMessage(&msg,hWnd,0,0)>0){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
battlelist.h (czytanie pamieci , wykrywa gm/cm i co chcecie ;p)
HWND hwnd;
DWORD processId;
HANDLE processHandle;
const
int DIST_NAME = 0;
int DIST_ID = -4;
int DIST_VISIBLE = 140;
int BL_START = 0x605A34;
int BL_END = 0x60B7F4;
int BL_DIST = 0xA0;
// Memory Stuff
int readBytes(DWORD address, int bytes)
{
int buffer = 0;
GetWindowThreadProcessId(FindWindow("TibiaClient",NULL),&processId);
processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);
ReadProcessMemory(processHandle, reinterpret_cast<void*>(address), &buffer, bytes, 0);
return buffer;
}
char* readString(DWORD address)
{
static char buffer[255];
GetWindowThreadProcessId(FindWindow("TibiaClient",NULL),&processId);
processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);
ReadProcessMemory(processHandle, reinterpret_cast<void*>(address), &buffer, sizeof(buffer), 0);
return buffer;
}
void ReadBattleList(char plus[30])
{
Sleep(100);
int loop, id, visible,x;
char* name;
char *locategm;
char *locatecm;
char *locateplus;
loop = BL_START;
while (loop < BL_END) // loop through battle list
{
name = readString(loop+DIST_NAME); // read name of current creature in battle list
id = readBytes(loop+DIST_ID,4); // read id of creature
visible = readBytes(loop+DIST_VISIBLE,4); // is creature visible?
if ( (id !=0) && (visible ==1) ) // only show valid & visible creatures (will show creatures that are on upper/lower floors)
{
locategm = strstr(name,"GM ");
locatecm = strstr(name,"CM ");
locateplus = strstr(name,plus);
if (locategm != NULL || locatecm !=NULL || locateplus !=NULL ) // GM FOUND!
{
for(x=10;x>0;x--)
{
cout << "\a"; // Do anything you want here.. play a sound,, anything
}
}
cout << name << endl; // print the name of this creature
}
loop = loop + BL_DIST; // walk in battle list
}
}
Jak bedziecie robic jakies przerobki , to wypada sie zapytac o zgode ;p
Jak bede chetni wrzuce skompilowanego na jakis rapidshare.
Post został pochwalony 0 razy
|
|