All these scripts and addresses I've seen, I'm trying to make sense of them.
If I search for the address 00B37994 will it bring me to the movement speed pointer?
I'm just getting into this memory editing stuff and I'd like to start collaborating with other member to create hacks.
I already have a fishing macro that only fishes for Alpaca crabs (Around 300g a night)
But I'm hoping to get into the more serious hacking, so shoot me a message (:
All these scripts and addresses I've seen, I'm trying to make sense of them.
If I search for the address 00B37994 will it bring me to the movement speed pointer?
I'm just getting into this memory editing stuff and I'd like to start collaborating with other member to create hacks.
I already have a fishing macro that only fishes for Alpaca crabs (Around 300g a night)
But I'm hoping to get into the more serious hacking, so shoot me a message (:
No, well, I mean in a way it's somewhat like a bot. But no, I'm not saying a macro = hack.
It doesn't alter the game in anyway, it only does a specific function that I instruct it to do by simulating keystrokes and mouse clicks.
So do you have something constructive to say this time that might point me in the right direction?
Or are you just going to facepalm at me again because I'm new to memory editing?
No, well, I mean in a way it's somewhat like a bot. But no, I'm not saying a macro = hack.
It doesn't alter the game in anyway, it only does a specific function that I instruct it to do by simulating keystrokes and mouse clicks.
So do you have something constructive to say this time that might point me in the right direction?
Or are you just going to facepalm at me again because I'm new to memory editing?
This Thread is to advanced for you.
You have to start at the start and not at the end. If you read a book, you probably dont read it from the last page to the first.
learn the basics first. Start playing with Cheat Engine and find any values with Pointers. Get to know what pointers are and how thery are represented in x86 Intel Assembler.
I wanted to get the autoWalk function... but to be true.. I'm not sure if this really is the autoWalk function XD could also be the text of the Map.
But I don't care at all This should just be the general idea
Part 01:
Part 02:
get the correct parameter
get "this" (ECX)
creating a DLL and testing the function
not sure if I will do a Part 02 at all... depends if there is a need and if I have some more spare time.
PS: this was my first attempt to get the autoWalk function. Never did this before for AK since I was working mainly with packets ~
I thought about a written one but a lot of people don't know how to use olly and taking a screenshot of each step for those people is frustrating
Part 2 Testing
Calling the function with ollyDBG (no need for an injection/DLL/whatsoever)
not sure how everyone else is testing their functions, but I like to use ODbgScript. It's simple, fast and does not require any injection
PS: Seems like I found the correct function in part 1 lucky me
Hehe loved the moment you crashed the game ^^
I personnaly prefer using VS debugger since I can debug my bot code with sources and the game code with disassembly code at the same time. When I come to test my functions newly written, I generally trigger it either with a specific key press code detection or simply with a static bool changed on the fly with the debugger. If something goes wrong I'm still able to prevent the crash by returning all functions of the stack one by one by setting the next instruction to any return code. And since I work with the french client that don't even care if you attach a debugger or inject a dll while running in game, I can easilly attach the debugger, inject my dll, debug, eject the dll, recompile, reinject, and debug again. This makes iterations very fast .
Hi guys, sorry that I revive this thread but Im looking into making a bot that can execute my own asm code in one of the x-legend games process. Most of their games have very similar functions so i've figured this might a nice place to ask for information. I made a few bots here and there using memory reading/writing to another process in autoit, but I want to take to the next level.
I've never coded anything using WIN32 api but Im thinking making a project like this could be a good learning experience. My goal is to code it in C. I've been reading a few tutorials online on code injection but information seems rather old/not trustworthy. Can you guys point me to a decent source of information on this aspect? if its related to game hacking, even better.
Don't know about c# but c++.
Here is a small guide. Be kind with any mistakes.. I just wrote this down ~
You need
- Visual Studio Express 2013
- Perx x1nject
with Perx x1nject you can load your created DLL into the memory of another process (e.g. a game)
In VS Express:
new Project -> VisualC++ -> Win32 (console)-> OK -> Next
Select "DLL" as type
Code:
// dllmain.cpp : Definiert den Einstiegspunkt für die DLL-Anwendung.
#include "stdafx.h"
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
DLL_PROCESS_ATTACH gets called on load.
Your detours will be placed here.
DLL_PROCESS_DETACH
undo your detours here
e.g. this is my packet sender dllmain.cpp
Code:
// dllmain.cpp : Definiert den Einstiegspunkt für die DLL-Anwendung.
#include "stdafx.h"
#include "encHook.h"
#include "w32hooks.h"
#include "console.h"
#include "GUIConfig.h"
packet o_encryption = nullptr;
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
constants::gui::hInstance = hModule;
createConsole();
cout << "DLL_PROCESS_ATTACH" << endl;
o_encryption = (packet)DetourFunction((PBYTE)constants::addresses::encryption, (PBYTE)encHook);
game::NPCs.reserve(1000);
game::newItems.reserve(1000);
game::soldItemBlockList.reserve(100);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
DetourRemove((PBYTE)o_encryption, (PBYTE)encHook);
break;
}
return TRUE;
}
you must not create a Thread in DLL_PROCESS_ATTACH. This will lead to an error. Create a Thread in an detoured function.. that's the easiest way ;D
running custom ASM is pretty easy ~
Code:
INT functions::openNPCbyInternalID(DWORD internalNPCid)
{
ULONG lpFunction = 0x0046AF20;
ULONG lpthis = 0x00C22194;
ULONG dwRes = NULL;
__asm
{
/* Pointer to this Offset1 = 0*/
mov edi, lpthis;
mov edi, [edi];
mov ecx, edi;
push internalNPCid;
call lpFunction;
mov dwRes, eax;
}
return dwRes;
}
edit:
if you don't know what a detour is. A detour basically hooks into the specified position. When the game calls this position, you can execute your own code and then forward the call to the original funcion.
Creating a detour of a function.
Let's hook o_setsockopt
About creating a thread from DLL_PROCESS_ATTACH, it's exactly what I do in Skandia . My hooks are set from this thread and GUI is then updated through this thread.
Hey Guys!
I want to make a Video for our Guild.
So how exactly can i make the camera move "free" and zoom in / out like i want.
The LUA bot dont work for me, maybe because im playing on German Servers q-q
Im happy for any help!
Omdihar wrote this:
"To unlock the camera from the player:
00682623 - jp 0068263F
Python Functions von Mt2 per C++ Code Inject ausführen? 12/02/2011 - C/C++ - 5 Replies Hallo, wollte fragen, ob mir eventuell jemand beantworten kann, wie man Python Functions nützt, welche in den Metin2 - pack Files gespeichert sind.
Und ob das überhaupt so wie ich mir das vorstelle möglich ist.
[Code / C++] Basic hooking of API Functions 07/19/2010 - Coding Tutorials - 2 Replies Global:
typedef BOOL (__stdcall * ReadProcessMemory_t)(HANDLE hProcess,LPVOID lpBaseAddress,LPCVOID lpBuffer,SIZE_T nSize,SIZE_T *lpNumberOfBytesRead);
ReadProcessMemory_t pReadProcessMemory;
Functions:
//Credits to GD ; You can do it manually, too.
SOX findings, place ur sox findiings here 06/04/2007 - Silkroad Online - 8 Replies place ur sox finds here :D
i just found a sos lvl 8 glaive =P
<hr>Append on Jun 4 2007, 01:11<hr> 20 mins later i find another sos chest.. lvl 13