|
You last visited: Today at 00:15
Advertisement
[Release] Advanced hooking
Discussion on [Release] Advanced hooking within the CO2 Programming forum part of the Conquer Online 2 category.
07/11/2011, 22:50
|
#76
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
So I was trying to figure out why my old PacketHooker test wasn't working and noticed something interesting....
After a decent amount of debugging and bashing my head against the wall i found out that it's not able to attach to the process (but being as the exceptions are all handled so nicely it doesn't complain).
For my client selector I have a simple PopulateClientList() which runs through each process on the computer, checks if it's a conquer process and if so tries to pull a client name from it.
I've tried ReadString as well as using ReadByteArray and ofc cause I cant attach it doesn't work (with trying to attach or not)
Anything I'm missing? I know it worked the first time I tested all this out.
Code:
foreach (Process theprocess in processlist)
{
if (theprocess.ProcessName == "Conquer")
{
Console.WriteLine("Process name found with: " + theprocess.ProcessName);
Console.WriteLine("Attached successfully? " + new Debuggee(theprocess.Id).AttachDebugger());
}
}
Always says false when I'm trying to attach debugger.
|
|
|
07/12/2011, 10:44
|
#77
|
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 794
|
It might be something trivial but is the process` name Conquer? Didn`t really start the client for a while.
|
|
|
07/12/2011, 14:58
|
#78
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Hawtness already showed me the issue.
Run as administrator if you wanna mess with memory ahaha.
Because I was just debugging it from inside vs i wasn't running it as admin which causes it to not be able to hook into most processes successfully.
|
|
|
07/12/2011, 15:48
|
#79
|
elite*gold: 0
Join Date: Jan 2007
Posts: 118
Received Thanks: 20
|
Quote:
Originally Posted by pro4never
So I was trying to figure out why my old PacketHooker test wasn't working and noticed something interesting....
After a decent amount of debugging and bashing my head against the wall i found out that it's not able to attach to the process (but being as the exceptions are all handled so nicely it doesn't complain).
For my client selector I have a simple PopulateClientList() which runs through each process on the computer, checks if it's a conquer process and if so tries to pull a client name from it.
I've tried ReadString as well as using ReadByteArray and ofc cause I cant attach it doesn't work (with trying to attach or not)
Anything I'm missing? I know it worked the first time I tested all this out.
Code:
foreach (Process theprocess in processlist)
{
if (theprocess.ProcessName == "Conquer")
{
Console.WriteLine("Process name found with: " + theprocess.ProcessName);
Console.WriteLine("Attached successfully? " + new Debuggee(theprocess.Id).AttachDebugger());
}
}
Always says false when I'm trying to attach debugger.
|
Try running on as admin.
|
|
|
07/12/2011, 22:36
|
#80
|
elite*gold: 0
Join Date: May 2006
Posts: 59
Received Thanks: 50
|
Quote:
Originally Posted by IAmHawtness
Oh yeah, RecvPacketAddress = &H6E01B7
|
Have i ever mentioned, you have a radiant glow of sexyness?
|
|
|
07/12/2011, 23:51
|
#81
|
elite*gold: 20
Join Date: Aug 2007
Posts: 1,749
Received Thanks: 2,199
|
Quote:
Originally Posted by Jonny999
Have i ever mentioned, you have a radiant glow of sexyness?
|
Why thank you, handsome
|
|
|
07/15/2011, 09:28
|
#82
|
elite*gold: 0
Join Date: Dec 2007
Posts: 108
Received Thanks: 42
|
What's the best way to detect when the client disconnects?
|
|
|
07/15/2011, 15:53
|
#83
|
elite*gold: 20
Join Date: Aug 2007
Posts: 1,749
Received Thanks: 2,199
|
Quote:
Originally Posted by Belth
What's the best way to detect when the client disconnects?
|
This requires that you log in through the bot though so that it can capture when WS2_32.connect gets called.
Edit:
Another option is to just hook the MessageBoxA function in user32.dll and check if the message box is saying "Error: Disconnected with the game server"
|
|
|
07/19/2011, 15:55
|
#84
|
elite*gold: 0
Join Date: Jul 2011
Posts: 67
Received Thanks: 84
|
Just a thought here, since my proxy dosn't use hooking (it uses loopbacks), I've never really looked into it. But, if I'm not mistaken, doesn't the client use a Mutex to check for already running clients in order to limit it to 3? Most tuts on making multi-clients that I have read seem to be to do with that. Seeing as hexing the client is now more dangerous than it used to be, wouldn't it be possible to hook CreateMutexA, intercept the multi-client mutex check, change the name of the mutex to something random, call the original CreateMutexA and return the HANDLE to the client. Would that allow multi clienting with an unmodified client?
|
|
|
07/19/2011, 18:17
|
#85
|
elite*gold: 20
Join Date: Aug 2007
Posts: 1,749
Received Thanks: 2,199
|
Quote:
Originally Posted by Cyanogen
Just a thought here, since my proxy dosn't use hooking (it uses loopbacks), I've never really looked into it. But, if I'm not mistaken, doesn't the client use a Mutex to check for already running clients in order to limit it to 3? Most tuts on making multi-clients that I have read seem to be to do with that. Seeing as hexing the client is now more dangerous than it used to be, wouldn't it be possible to hook CreateMutexA, intercept the multi-client mutex check, change the name of the mutex to something random, call the original CreateMutexA and return the HANDLE to the client. Would that allow multi clienting with an unmodified client?
|
Yes it would, in fact I once released a versionless multi-client here that did exactly that
|
|
|
07/19/2011, 18:52
|
#86
|
elite*gold: 0
Join Date: Jul 2011
Posts: 67
Received Thanks: 84
|
Does it still work?
|
|
|
07/19/2011, 18:59
|
#87
|
elite*gold: 20
Join Date: Aug 2007
Posts: 1,749
Received Thanks: 2,199
|
Quote:
Originally Posted by Cyanogen
Does it still work?
|
Yeah it does
|
|
|
07/23/2011, 22:10
|
#88
|
elite*gold: 0
Join Date: Apr 2007
Posts: 223
Received Thanks: 30
|
how do you find the send and recv address thorugh memory so you could be able to make a bot for liek a pserver or something
|
|
|
07/23/2011, 22:37
|
#89
|
elite*gold: 0
Join Date: Sep 2006
Posts: 774
Received Thanks: 8,580
|
You trace it from winsock api calls with a debugger.
|
|
|
07/24/2011, 05:21
|
#90
|
elite*gold: 0
Join Date: Apr 2007
Posts: 223
Received Thanks: 30
|
Quote:
Originally Posted by Synsia
You trace it from winsock api calls with a debugger.
|
never used a debugger before :-s
|
|
|
 |
|
Similar Threads
|
[RELEASE] Make a more Advanced NPC
02/02/2011 - CO2 PServer Guides & Releases - 55 Replies
This guide will show you how to make a NPC. I will update this post daily with new things to add to your NPC.
First. We are going to take this NPC from Paralyzer and modify this a little bit. here is the link if you have never made a simple NPC.
http://www.elitepvpers.com/forum/co2-pserver-guide s-releases/492901-release-how-code-decent-npc-npcs -txt-entry.html
Easiest stuff first.
How to make an NPC check for a specific level.
To make an NPC check for a level we can do this by adding...
|
Advanced Tribalwars Bot Release
05/31/2010 - Browsergames - 20 Replies
Ein Bot für das Browsergame "Die Stämme".
Features:
Multiaccountfähig
baut Dörfer selbstständig aus
Bot merkt sich, wann ein Gebäude gebaut werden kann, bzw. wann es fertiggestellt ist
Information: Bei "Server" z.B. de60.die-staemme.de o.ä. eingeben.
|
ReViSiOn [Advanced Public Release]
02/13/2009 - WarRock Hacks, Bots, Cheats & Exploits - 5 Replies
http://i295.photobucket.com/albums/mm150/gfx_forum s/revvv3.png
ReViSiOn Public Beta 1.2
_____
Working features:
No Recoil
No Spread
|
All times are GMT +1. The time now is 00:15.
|
|