Originally Posted by SandMann016
So ich Release mal mein Upgrade-Tool damit könnt ihr egal wo ihr seit den ALLER ERSTEN SLOT Uppen also das Item das auf dem aller ersten InventarSlot liegt wird geuppt ohne abfrage.
Der DT Upgrade Button funktioniert nur wenn ihr im 5. Stock seit und der Schmied schon gespawnt ist.
Das ist insoweit hilfreich, falls ihr den Waffenschmied bekommt aber umbedingt eine Rüsstung uppen wollte.
Screen:
[Only registered and activated users can see links. Click Here To Register...]
VT:
[Only registered and activated users can see links. Click Here To Register...]
Download:
- [Only registered and activated users can see links. Click Here To Register...]
VideoTutorial:
Ich habe noch ein kleines Tutorial erstellt in dem ich erkläre wie ihr vom Hackshield cracken über Adressen suchen und das ganze in C++ umzusetzen mit einer schönen GUI.
Das ganze könnt ihr hier downloaden [Only registered and activated users can see links. Click Here To Register...] ich hoffe das ich es gut beschrieben habe(Mit Voice und Screenrecording) falls fragen dazu auftreten könnt ihr sie stellen :).
Benötigt:
C++ Compiler, Visg, OllyDGB und PE-Exporer
Zusätzliche Links...
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Hoffe das hilft manchen und ermutigt manche um Hack-Tools zu erstellen.
Fals bedarf besteht werde ich mehrere Tutorials erstellen.
ANMERKUNG ZUM TuTorial:
ICH HABE VERGESSEN ZU SAGEN DAS BEIM String SUCHEN IN OLLYDBG MUSS DAS HÄCKHEN "Ignore case" AKTIVIERT SEIN.
IN EUREM C++ PROJEKT MÜSST IHR OBEN AUF Projekt > %Projektname% EIGENSCHAFTEN > auf der Linken seite auf "Konfigurationseigenschaften" > Zeichensatz von Unicode > auf Multibyte umstellen !!!
Source:
Main.h
Code:
#include <windows.h>
#include <commctrl.h>
#pragma comment(lib, "comctl32.lib")
#define WND_CLASS_NAME0 "my_wnd_class_name_0"
#define IDC_STATIC1 2000
#define IDC_STATIC0 2001
#define IDC_BUTTON1 2002
#define IDC_BUTTON0 2003
bool form = false;
// function prototypes.
void register_classes();
int message_loop();
HWND create_wnd0();
void create_wnd_content0(HWND parent);
LRESULT CALLBACK wnd_proc0(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
// global data.
HINSTANCE instance;
HFONT h_font;
void Refine(int mo)
{
DWORD RefineCall1 = 0x421450;
DWORD RefineCall2 = 0x576EB0;
__asm
{
MOV ECX,DWORD PTR DS:[0x7E54CC]
PUSH mo
PUSH 0
CALL RefineCall1
CALL RefineCall2
}
}
void Hotkey(){
while(1){
if(GetAsyncKeyState(VK_CONTROL + VK_F8)&1){
Refine(0);
}
if(GetAsyncKeyState(VK_F8)&1){
if(form == false){
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)WinMain, NULL, 0, NULL);
}
}
}
}
// main function.
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinst, LPSTR cmdline, int show)
{
instance = hinstance;
InitCommonControls();
register_classes();
h_font = CreateFont(-13, 0, 0, 0, FW_NORMAL, 0,
0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Times New Roman");
create_wnd0();
return message_loop();
}
// window procedure #0 [Upgrad Tool].
LRESULT CALLBACK wnd_proc0(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
switch (msg)
{
case WM_COMMAND:
switch (LOWORD(wparam))
{
case IDC_BUTTON0: // button "Normal"
Refine(0);
break;
case IDC_BUTTON1: // button "Dämonenturm"
Refine(4);
break;
}
break;
case WM_CREATE:
create_wnd_content0(hwnd);
break;
case WM_DESTROY:
form = false;
break;
default:
return DefWindowProc(hwnd, msg, wparam, lparam);
}
return FALSE;
}
// create window #0 [Upgrad Tool].
HWND create_wnd0()
{
HWND wnd;
wnd = CreateWindowEx(0x00000080, WND_CLASS_NAME0, "Upgrad Tool", 0x14CF0000, CW_USEDEFAULT, CW_USEDEFAULT, 132, 158, NULL, NULL, instance, NULL);
ShowWindow(wnd, SW_SHOWNORMAL);
form = true;
UpdateWindow(wnd);
return wnd;
}
// create window content #0 [Upgrad Tool].
void create_wnd_content0(HWND parent)
{
HWND wnd;
wnd = CreateWindowEx(0x00000000, "Button", "Normal(strg+F8)", 0x50002F00, 8, 32, 96, 24, parent, (HMENU) IDC_BUTTON0, instance, NULL);
SendMessage(wnd, WM_SETFONT, (WPARAM) h_font, TRUE);
wnd = CreateWindowEx(0x00000000, "Button", "Dämonenturm", 0x50002F00, 8, 64, 96, 24, parent, (HMENU) IDC_BUTTON1, instance, NULL);
SendMessage(wnd, WM_SETFONT, (WPARAM) h_font, TRUE);
wnd = CreateWindowEx(0x00000000, "Static", "F8 Show Window", 0x50000300, 8, 0, 104, 24, parent, (HMENU) IDC_STATIC0, instance, NULL);
SendMessage(wnd, WM_SETFONT, (WPARAM) h_font, TRUE);
wnd = CreateWindowEx(0x00000000, "Static", "© SandMann016", 0x50000300, 8, 96, 96, 24, parent, (HMENU) IDC_STATIC1, instance, NULL);
SendMessage(wnd, WM_SETFONT, (WPARAM) h_font, TRUE);
}
// register all the window classes.
void register_classes()
{
WNDCLASS wc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hInstance = instance;
wc.lpszMenuName = NULL;
wc.style = CS_PARENTDC | CS_DBLCLKS;
wc.lpfnWndProc = wnd_proc0;
wc.lpszClassName = WND_CLASS_NAME0;
RegisterClass(&wc);
}
// message loop.
int message_loop()
{
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
DeleteObject(h_font);
return msg.wParam;
}
/* End of file */
Main.cpp
Code:
#include "main.h"
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch(fdwReason)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)WinMain, NULL, 0, NULL);
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Hotkey, NULL, 0, NULL);
break;
}
return true;
}
Ich bin gerade dabei einen Levelbot zu erstellen OpenBeta startet in wenigen Tagen oder Wochen....:awesome:
Liebe Grüße SandMann :)
|