|
You last visited: Today at 13:16
Advertisement
CO2 Memory Addresses and Examples
Discussion on CO2 Memory Addresses and Examples within the CO2 Exploits, Hacks & Tools forum part of the Conquer Online 2 category.
12/03/2006, 17:34
|
#16
|
elite*gold: 0
Join Date: Dec 2005
Posts: 831
Received Thanks: 60
|
Quote:
Originally posted by ColdStart+Dec 3 2006, 17:06--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (ColdStart @ Dec 3 2006, 17:06)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--smoothjonny@Dec 3 2006, 00:14
for once i don't mind the double posts =P
...this kid seems like the real deal... watch out prog4mer (cuz i see you're here too atm)
he's a noob after our hearts
|
The only reasons why I double posted are that the editing function is extremely screwed up for the first post, so it is harder to manage and the guide to find static "base" address pointers from dynamic pointers is incredibly long.
I am only here to help. Capturing the hearts of thousands is just a perk.
Glad you think of me positively  [/b][/quote]
Wow nice list, i want you in my msn :P
|
|
|
12/03/2006, 17:56
|
#17
|
elite*gold: 0
Join Date: Nov 2006
Posts: 57
Received Thanks: 2
|
Quote:
Originally posted by toreddo@Dec 3 2006, 11:34
Wow nice list, i want you in my msn :P
|
Hopefully this list won't become TOO innacurate after patch 4330. I will have to check up on it after this patch because it modifies a lot of the game, which also leaves a greater amount of variables, so their pointer addresses may change. Also, I will try to get the MP amount soon, but I am having trouble getting a reliable dynamic pointer, since the value either doesn't change or just disappears. If I don't have a dynamic pointer, I definitely won't have a static "base" pointer. Perhaps the other users reading this thread might want to help out.
|
|
|
12/03/2006, 19:18
|
#18
|
elite*gold: 0
Join Date: Aug 2006
Posts: 449
Received Thanks: 4
|
tested your code, ColdStart, it works so perfectly ^^
and my way of getting PID worked also. It's
Code:
WinGet, pid, PID, MyCharName
of course you'll need the CO window renaming tool found here
only problem I can see is if u use some other rename tool for other bots/macros, such as cukcoss's auto cotobo reconnector. But the thing is, if u'r using a macro like me, Autohotkey need need to click on the window, and obviously CoReconnect would activate the window that u don't want (no offense to the creator) . So there should be no problem using my way of finding PID, or at it should be expect ^^
|
|
|
12/03/2006, 23:30
|
#19
|
elite*gold: 0
Join Date: Apr 2006
Posts: 89
Received Thanks: 0
|
2 things, why are you using autohotkeys yoko? its based off of autoit v2, v3 is out and i find the scripting much easier (the quotes allow me to actually see things seperately o.o) and the person who made the reconnector (i made a very simple one, his is better) could have used the ControlMouseClick function (autoit v3) (i think thats what the functions called, something like that) combined with an input box, and it would only reconnect on a window with a certain name, and that window could be running in backround. (or of course, you could always use co2swaps persistant mine function, but thats off topic  )
|
|
|
12/04/2006, 01:59
|
#20
|
elite*gold: 0
Join Date: Sep 2006
Posts: 199
Received Thanks: 26
|
The pots in inventory are static too, lost the addresses due to lazyness. Same goes for arrows and arrowpacks.
I always had a little script running that checked if pots < 2 && items > 38 and scrolled back once one of both became true (copartner will level till you die and / or stop picking stuff if the inventory is full).
Pretty great for making arrow reloaders too.
|
|
|
12/04/2006, 03:07
|
#21
|
elite*gold: 0
Join Date: Aug 2006
Posts: 449
Received Thanks: 4
|
I thought AutoIt is harder than autohotkey, and i wanted a quick solution, lol
@Christoph_
how do you check your inventory items?
|
|
|
12/04/2006, 05:02
|
#22
|
elite*gold: 0
Join Date: Nov 2006
Posts: 57
Received Thanks: 2
|
Quote:
Originally posted by yokoyoko@Dec 3 2006, 21:07
I thought AutoIt is harder than autohotkey, and i wanted a quick solution, lol
@Christoph_
how do you check your inventory items?
|
I believe he meant the amount of items in inventory and the amount of pots in inventory.
Also, AutoIt is actually much easier to understand and work with. AutoIt has a larger user base, a kinder community, and a lot of examples. Not to mention it handles the use of DLLs very well.
I prefer it for macro programming over everything else. In fact, soon I will be posting the code example for AutoIt3.
|
|
|
12/04/2006, 12:27
|
#23
|
elite*gold: 0
Join Date: Sep 2006
Posts: 199
Received Thanks: 26
|
For autoit you need:
mem.au3
This function, not mine, but see the comment at the end:
Code:
Func _HexadecimalToDecimal($var)
$result = 0
$sum = 0
$power=0
Do
$currentDigit = StringRight(_MemRev($var),$power+1)
$currentDigit = StringLeft($currentDigit,1)
If $currentDigit = "A" Then
$currentDigit = 10
ElseIf $currentDigit = "B" Then
$currentDigit = 11
ElseIf $currentDigit = "C" Then
$currentDigit = 12
ElseIf $currentDigit = "D" Then
$currentDigit = 13
ElseIf $currentDigit = "E" Then
$currentDigit = 14
ElseIf $currentDigit = "F" Then
$currentDigit = 15
EndIf
$result=$currentDigit*16^$power
$power = $power + 1
$sum = $sum + $result
Until $currentDigit = "x"
Return $sum
EndFunc;==>_HexadecimalToDecimal by joshdb
And here is an example howto read data from memory, the offsets are outdated, cos it's old. I used it to watch copartner.
Code:
Func Gateway ()
$Process = "Conquer.exe"
$Pid = ProcessExists($Process)
$h_open1 = _MemOpen($pid)
$Read3 = _MemRead($h_open1,0x01540284,4)
$Potions = _HexadecimalToDecimal($Read3)
$Read4 = _MemRead($h_open1,0x4FF40C,4)
$Items = _HexadecimalToDecimal($Read4)
_MemClose($h_open1)
If $Potions < 5 Then
Send("{F11}")
Send("{F3}")
Send("{ENTER}")
Sleep (1500)
If $Items >35 Then
WinActivate ("[Conquer2.0]")
Send("{F11}")
Sleep (6000)
Send("{F3}")
Send("{ENTER}")
Sleep (1500)
Else
Sleep(300)
Endif
Endfunc
|
|
|
12/04/2006, 23:22
|
#24
|
elite*gold: 0
Join Date: Aug 2006
Posts: 449
Received Thanks: 4
|
the memory reading seems so much easier than autohotkey
|
|
|
12/05/2006, 00:20
|
#25
|
elite*gold: 0
Join Date: Nov 2006
Posts: 57
Received Thanks: 2
|
Here is an example that gets the user's Gold (static) and Current HP (dynamic) in AutoIt3:
Code:
;Get the Process ID of Conquer.exe
$pid=ProcessExists("Conquer.exe")
;Check if Conquer.exe is Running
If $pid Then
;Open the Process for memory Handling
$mem=MemOpen($pid)
;Check if Memory Access Established and No Errors Present
If Not @error Then
;Get the Amount of Gold
$gold=MemRead($mem, 0x004FF1E0, "int")
;Get the Base Pointer Address for Char HP
$hpa=MemRead($mem, 0x004FF1B8, "int")
;Get the Char HP
$hp=MemRead($mem, $hpa + 24, "int")
;Close the Memory Access and Process Handle
MemClose($mem)
;Display the Gold Amount and Char HP
MsgBox(0,"CO2 Gold and HP","Gold: " & $gold & @CRLF & "HP:" & $hp)
EndIf
EndIf
#region Memory Access Functions (Reusable)
;Open Process for Memory Access
Func MemOpen( $i_Pid, $i_Access = 0x1F0FFF, $i_Inherit = 0 )
Local $av_Return[2] = [DllOpen('kernel32.dll')]
Local $ai_Handle = DllCall($av_Return[0], 'int', 'OpenProcess', 'int', $i_Access, 'int', $i_Inherit, 'int', $i_Pid)
If @error Then
DllClose($av_Return[0])
SetError(1)
Return 0
EndIf
$av_Return[1] = $ai_Handle[0]
Return $av_Return
EndFunc
;Close Process Handle Returned by MemOpen
Func MemClose( $ah_Mem )
Local $av_Ret = DllCall($ah_Mem[0], 'int', 'CloseHandle', 'int', $ah_Mem[1])
DllClose($ah_Mem[0])
Return $av_Ret[0]
EndFunc
;Read a Process Handle Returned by MemOpen at a Certain Address and Return Type
Func MemRead( $ah_Mem, $i_Address, $s_Type = '' )
If $s_Type = '' Then
Local $v_Return = ''
Local $v_Struct = DllStructCreate('byte[1]')
Local $v_Ret
While 1
DllCall($ah_Mem[0], 'int', 'ReadProcessMemory', 'int', $ah_Mem[1], 'int', $i_Address, 'ptr', DllStructGetPtr($v_Struct), 'int', 1, 'int', 0)
$v_Ret = DllStructGetData($v_Struct, 1)
If $v_Ret = 0 Then ExitLoop
$v_Return &= Chr($v_Ret)
$i_Address += 1
WEnd
Else
Local $v_Struct = DllStructCreate($s_Type)
DllCall($ah_Mem[0], 'int', 'ReadProcessMemory', 'int', $ah_Mem[1], 'int', $i_Address, 'ptr', DllStructGetPtr($v_Struct), 'int', _SizeOf($s_Type), 'int', 0)
Local $v_Return = DllStructGetData($v_Struct, 1, 1)
EndIf
Return $v_Return
EndFunc
;Gets the Size of a DLL Structure
Func _SizeOf( $s_Type )
Local $v_Struct = DllStructCreate($s_Type), $i_Size = DllStructGetSize($v_Struct)
If @error Then
SetError(1)
Return 0
EndIf
$v_Struct = 0
Return $i_Size
EndFunc
#endregion
|
|
|
12/05/2006, 02:05
|
#26
|
elite*gold: 0
Join Date: Sep 2006
Posts: 199
Received Thanks: 26
|
Quote:
Originally posted by yokoyoko@Dec 4 2006, 23:22
the memory reading seems so much easier than autohotkey
|
Because ColdStart did reinvent the wheel in the post above this one
There is a UDF called MemRead published on autoitscript which can be included so you only need to call Memread instead of coding the dll-call part again.
I used that one, so I need only 2-4 lines of code to retrieve the data instead of something like 30. It's always better to drop all support functions into seperate files and call them from the main "bot" file.
But I'm thankfull that he did the Autohotkey part, because Autohotkey is better for a few things (has some functions that are nice for bot making which Autoit lacks).
|
|
|
12/05/2006, 02:15
|
#27
|
elite*gold: 0
Join Date: Apr 2006
Posts: 176
Received Thanks: 8
|
Quote:
Originally posted by smoothjonny@Dec 3 2006, 06:14
he's a noob after our hearts
|
he got mine, I've been trying to get this addresses for a long time
+K
|
|
|
12/05/2006, 02:34
|
#28
|
elite*gold: 0
Join Date: Nov 2006
Posts: 57
Received Thanks: 2
|
Quote:
Originally posted by Christoph_+Dec 4 2006, 20:05--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Christoph_ @ Dec 4 2006, 20:05)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--yokoyoko@Dec 4 2006, 23:22
the memory reading seems so much easier than autohotkey
|
Because ColdStart did reinvent the wheel in the post above this one
There is a UDF called MemRead published on autoitscript which can be included so you only need to call Memread instead of coding the dll-call part again. [/b][/quote]
Ha, well I never noticed. My code is near identical except for the bit-size versus type handling in the MemRead function
You could easily put it into a separate file and include it.
Well... sometimes you have to reinvent the the wheel in order to make it better.
|
|
|
12/05/2006, 05:27
|
#29
|
elite*gold: 0
Join Date: Jan 2006
Posts: 1,919
Received Thanks: 178
|
#move CO2 Exploits, Hacks & Tools
#pinned
@ColdStart, thank you for your great contribution. 
We are proud of you !
DM
|
|
|
12/05/2006, 06:36
|
#30
|
elite*gold: 0
Join Date: May 2006
Posts: 149
Received Thanks: 112
|
very cool i've been using autohotkey for a while now but never really incorporated mem within. This is very very useful since i don't feel like breaking out c++ :P
|
|
|
 |
|
Similar Threads
|
anyone have 12 Sky 1 memory addresses?
08/25/2009 - General Gaming Discussion - 1 Replies
Has anyone tried memory scanning for 12 sky 1?
I tried the method in the post on 12 sky 2, but to no avail. when i'd find 4-6 addresses... i'd try to change value and nothing happened... also i noticed that if watched the values and didn't mess with them.. .they'd cycle through different values fairly quickly. I'm sure this is probably a method to prevent hacking.
I also buffed... scanned for all unknown initial value... then immediately scanned for unchanged values (buff still on) and got...
|
Memory addresses
03/18/2008 - Conquer Online 2 - 13 Replies
did a search but didnt come up with much.. anyone know how to find the new memory addresses?
|
Memory addresses...
03/29/2006 - Conquer Online 2 - 19 Replies
Well I'm gonna try for my first hack ever to do a simple fun client side editting one. It'll mainly be for fun nothing else. So far all I have is address for money I need address for dex, vitality, mana, and strength. If anyone knows any other numeric entrys please tell me. Once I figure out the number letter thing for server, name, guild, spouces name then I'll make an even more advanced one. Tonight I'm gonna try at getting dex and stuff but the easyest way is the way of using dragonballs to...
|
memory addresses
12/07/2005 - Conquer Online 2 - 0 Replies
does anyone know the memory addresses for data such as the information about items you're looking at in the market, items equipped on people you're looking at's equipment, or your own equipment? Specifically, all of the data present in a weapons packet..
from another post, there's this:
18 00 F0 03 PL PL PL PL IT IT IT IT RD RD MD MD 04 00 XX S1 S2 EF 00 CP
---
PL PL PL PL <Player ID>
IT IT IT IT <item ID (Itemtype.dat)>
RD RD <remaining dura/arrows etc>
MD MD <max dura>
XX...
|
All times are GMT +1. The time now is 13:17.
|
|