|
You last visited: Today at 22:59
Advertisement
[CODE]Ingame Functions( POST YOUR FINDINGS HERE )
Discussion on [CODE]Ingame Functions( POST YOUR FINDINGS HERE ) within the Aura Kingdom forum part of the MMORPGs category.
05/09/2014, 04:53
|
#166
|
elite*gold: 0
Join Date: Aug 2009
Posts: 171
Received Thanks: 7
|
@TheStupidDog, sir will you still be updating the AFKloader together with Thr!ce and NtKid? It will be really nice though.
|
|
|
05/09/2014, 06:21
|
#167
|
elite*gold: 0
Join Date: Jul 2008
Posts: 67
Received Thanks: 1
|
Note : Using the updated pointer by cris made the MOBS on instances move quick.
Instance : OW : MS Solo
So basically the supposed speed movement went to the mobs and not the player. XD
|
|
|
05/09/2014, 07:28
|
#168
|
elite*gold: 0
Join Date: May 2014
Posts: 4
Received Thanks: 0
|
how can i use this what software should i use?
|
|
|
12/27/2014, 18:56
|
#169
|
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
|
Time to revive this old thread =)
|
|
|
12/28/2014, 12:29
|
#170
|
elite*gold: 0
Join Date: Aug 2012
Posts: 381
Received Thanks: 562
|
Haha, I let you do the first step then  feel free to share
|
|
|
12/28/2014, 15:28
|
#171
|
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
|
Well I'am struggling some sort of error (dunno what error) on my mini-bot...
Here are my functions to share..
Code:
void WalkTo(float X, float Y){
PlayerInfo *Axis = NULL;
PlayerInfo->X = X;
PlayerInfo->Y = Y;
DWORD dunAddr = ReadPointerAddress(0x0164A8C, 2, 0x51C, 0x3E8);
if (dunAddr == 0)
return;
DWORD addr = ReadPointerAddress(0x01A6DF4, 3, 0xC0, 0x10, 0x0);
if (addr == 0)
return;
__asm mov ecx, (ClassPointer)
((int(__stdcall*)(int, void*, int, int, int))0x006733B0)(Dungeon, (PlayerInfo*)Axis, 0, 0, 1);
}
Everytime that function gets called (Maybe 5 or 6 times straight of call) game crashes.
|
|
|
12/28/2014, 17:11
|
#172
|
elite*gold: 0
Join Date: Aug 2012
Posts: 381
Received Thanks: 562
|
oO is this C language ??
Code:
PlayerInfo *Axis = NULL;
PlayerInfo->X = X;
PlayerInfo->Y = Y;
If this is C, I'm even wondering how this can compile :s
Not sure if this is what you meant but at least this is grammatically correct :
Code:
void WalkTo(float X, float Y){
PlayerInfo Axis;// no pointer here or dynamic allocation : the address here will be on the stack
Axis.X = X;
Axis.Y = Y;
DWORD dunAddr = ReadPointerAddress(0x0164A8C, 2, 0x51C, 0x3E8);
if (dunAddr == 0)
return;
DWORD addr = ReadPointerAddress(0x01A6DF4, 3, 0xC0, 0x10, 0x0);
if (addr == 0)
return;
__asm mov ecx, (ClassPointer)
((int(__stdcall*)(int, void*, int, int, int))0x006733B0)(Dungeon, (void*)&Axis, 0, 0, 1);
}
|
|
|
12/28/2014, 17:37
|
#173
|
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
|
Well I've tried that one as well.. and also I already tried making new Struct, btw that PlayerInfo is a struct. Im also struggling with the Click to teleport command, can't even know where to start looking =D
Edit:
Im writing a bot for Aura Kingdom private server. Still far from a good bot, but i'll try to make one. =D
Edit2:
And also, I wonder why writing value (Speed Hack) + reading memory address makes the game GUI crash/dislocated..
|
|
|
12/28/2014, 17:51
|
#174
|
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
|
Quote:
Originally Posted by ken12
And also, I wonder why writing value (Speed Hack) + reading memory address makes the game GUI crash/dislocated..
|
Check the address ^^
Addresses may be invalid after creating a new thread (switching channel, log in, going to navia, etc..)
Code:
DWORD address;
address = *(DWORD*)(0x00C22194);
if (!address) return -1;
address = *(DWORD*)(address + 0x2fc);
if (!address) return -1;
address = *(DWORD*)(address + pukNum * 0x4);
if (!address) return -1;
address = *(DWORD*)(address + 0x32c);
return address;
any idea how to do this check in plain _asm{} ?
and can you show me, how this call is made with _asm{} ?
Code:
((int(__stdcall*)(int, void*, int, int, int))0x006733B0)(Dungeon, (void*)&Axis, 0, 0, 1);
I don't get, how one can pass a struct as a parameter in asm. You pass the Address of Axis, but how can the function access the parameter X and Y ? (void*)&Axis+0 and (void*)&Axis+4 ?
|
|
|
12/28/2014, 17:56
|
#175
|
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
|
well its like this
Code:
__asm{
push 1
push 0
push 0
push (Struct Pointer/Or any pointer that leads to coordiante X and Y)
push dungeonID
call Addr
}
|
|
|
12/28/2014, 18:01
|
#176
|
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
|
Oh okay, so there is no seperate parameter for x and y ? Coz in my version, there is.
something like this:
Code:
__asm
{
mov edi, lpthis;
mov edi, [edi];
mov edi, [edi + 0x0000001c];
mov ecx, edi;
push 0x40400000;
push 1;
push Y;
push X;
call lpFunction;
}
|
|
|
12/28/2014, 18:06
|
#177
|
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
|
Well that was the old fashion way of calling the Walk Function, I have that function too but crashes so much unlike the other one.. >.< Just have to find out what causes the crash..
this is what your talking about right?
Code:
__asm mov ecx, (ClassPointer);
((int(__stdcall*)(float, float, int, float, char, int))0x006F1CB4)(PointX, PointY, 1, 3, 1, 0);
|
|
|
12/28/2014, 18:22
|
#178
|
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
|
yep right, that's exactly what i meant. helped me a lot, thanks
|
|
|
12/28/2014, 18:26
|
#179
|
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
|
Thats the easiest way to call the function ^_^ And also, if you wanna know how many args/parameters are being pushed, you may look the end of the function call and look for RET X, where X are the number of pushes in 4byte lenght.
ex. RET 0x4 = 1 arg/parameter
RET 0xC = 3 arg/parameter etc. etc...
|
|
|
12/28/2014, 18:29
|
#180
|
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
|
oh that's nice to know
Til now I was using IDA to get the signature + calling convention ^.^
Already learnt a lot from AK
|
|
|
Similar Threads
|
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
|
All times are GMT +1. The time now is 22:59.
|
|