Jump to content

new _Mem functions


w0uter
 Share

Recommended Posts

:D:) time to re-write my teleport-hack (for Knight Online) into autoit :(

(previosly written in actools) :oops:

well i think u need also float values to write a teleport-hack...

i would like to see more types of values and not only byte if that would be possible :(

Link to comment
Share on other sites

nobody here who could show us a example, how to read the memory of a game, with a tutorial, wvideo tutorial would be niceĀ²

i want to write a WoW Bot but i cand without a start, i currently dont unterstand the memory reading, i cant find values etc.

My UDF's : Startet on : 06.06.2006_CaseSearchOrReplaceStr();~> Searches OR Replaces a String,;~> With or Without Casesensivity
Link to comment
Share on other sites

nobody here who could show us a example, how to read the memory of a game, with a tutorial, wvideo tutorial would be niceĀ²

i want to write a WoW Bot but i cand without a start, i currently dont unterstand the memory reading, i cant find values etc.

well to find the adresses and values etc u need a programm like CE (Cheat Engine) http://www.syndiv.com/ce/

Link to comment
Share on other sites

WoW's warden dosent block autoit o.o??

and ya, floats... ill figure it out =D

procedure xmove
  readmemoryex xcord1const =  $xcord1,single
  readmemoryex xcord2const = $xcord2 ,single
  compute xupdown = $xcord1const - $xcorduser
  if $xupdown > 0
    call computex-
  else
    call computex+
  end
end

the reason there are two x-cordinate values is because one is your x-cordinate in memory and the other is what Ko (knight online) is sending as your cord to the server hence you must move both equaly or you d-sync :(

there's a lil snippet :) thats in actool btw..

(it cant be compiled to an exe >.> so thats why i would convert it to auto it

p.s cheat engine is n00b use t-search (this is a hexed version... less detectable by SOME games

http://rapidshare.de/files/6943841/Vmod_tsearch.zip.html (credit for modded t-search goes to Vision @ fuckgaming.net

Edited by ironmanexe

Time + Effort = Constant

Link to comment
Share on other sites

WoW's warden dosent block autoit o.o??

and ya, floats... ill figure it out =D

procedure xmove
  readmemoryex xcord1const =  $xcord1,single
  readmemoryex xcord2const = $xcord2 ,single
  compute xupdown = $xcord1const - $xcorduser
  if $xupdown > 0
    call computex-
  else
    call computex+
  end
end

the reason there are two x-cordinate values is because one is your x-cordinate in memory and the other is what Ko (knight online) is sending as your cord to the server hence you must move both equaly or you d-sync :(

there's a lil snippet :) thats in actool btw..

(it cant be compiled to an exe >.> so thats why i would convert it to auto it

ya i know....

well w0uter could u include also other types?

Link to comment
Share on other sites

ya'll put alot on w0uter, and by the way, decimal = float

as in

3 is an integer because it has no decimal

where as

3.2 is a decimal number and therefore a float

also as people have said "dllconstructcreate" no longer exist .. cant i just use an older autoit version o.O?

ALSO SEE

http://www.autoitscript.com/forum/index.ph...06entry116506

floats <3

Edited by ironmanexe

Time + Effort = Constant

Link to comment
Share on other sites

Anyone can help me?

I got this error:

Line 4 (File "E:\teste\memory.au3"):

Local $av_Return[2] = [DllOpen('kernel32.dll') ]

Error: Unable to open file, the maximum number of open files has been exceeded.

When i try to use this code many times:

$Process = "casino.exe"

$Pid = ProcessExists($Process)

$h_open = _MemOpen($pid)

$Read = _MemRead($h_open,$Address)

Return $Read

_MemClose($h_open)

Note: memory.au3 is your script

Thak you

Edited by D.M.
Link to comment
Share on other sites

@D.M.

you return before you close the dll again.

also if you call it a lot you should open it only 1 time and then call a lot then close it.

ex:

This is GOOD:

_open()

_call()

_call()

_call()

_close()

This is BAD:

_open()

_call()

_close()

_open()

_call()

_close()

@ironmanexe

DllStructDelete doesnt exist anymore it will delete itself when you do $struct = 0

@the rest

ill edit this post after i have read your questions :)

@persons that asked about bytes

writing:

as you can see here $v_inject is just a dllstruct

Func _MemWrite($ah_Mem, $i_Address, $v_Inject)
    Local $av_Call = DllCall($ah_Mem[0], 'int', 'WriteProcessMemory', 'int', $ah_Mem[1], 'int', $i_Address, 'ptr', DllStructGetPtr($v_Inject), 'int', DllStructGetSize($v_Inject), 'int', '')
    Return $av_Call[0]
EndFunc  ;==>_MemWrite

so just do DllStructCreate('types;you;want[4]')

reading:

just read the number of bytes and then combine then into the value you want :(

Edited by w0uter

My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll

Link to comment
Share on other sites

ummmm yes 1.254646 is a float if thats what your asking...

yes i know its not that what i am asking...

i want to know how to write/read float values... and asked w0uter for an example or to show what i need to change to read/write float values

Link to comment
Share on other sites

this should give you an idee how to write :)

$struct = dllstructcreate('float')
dllstructsetdata($stuct, float)
_memwrite($pid, 0xf4f3, $struct)

and some pseudocode for reading (yes i know it sucks with the current implementation. later it will support custom structs :()

$byte_array = _memRead()
$store_struct = DllStructcreate('byte[' & Ubound($byte_array) & ']')

(loop and write it into the struct using for ... to ubound $bytearray)

$final_struct = DllStructCreate('what;ever;you[2];want[5]', dllstructgetptr($store_struct))

$what = DllStructgetdata($final_struct, 1)
..etc
Edited by w0uter

My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll

Link to comment
Share on other sites

this should give you an idee how to write:P

$struct = dllstructcreate('float')
dllstructsetdata($stuct, float)
_memwrite($pid, 0xf4f3, $struct)
ouh i see

and what about if i have

$mem = _Memcreate(+0x10)

and want then that it writes 10 to the float value?

_memwrite($pid, 0xf4f3, $mem ($struct))

?

Edited by xXx
Link to comment
Share on other sites

im sorry but you are unclear.

_memcreate creates a Dllstruct for you

but you could also create your own struct using dllstructcreate and then just pass it to the func.

lets say you want to write the float value of 10

$struct = dllstructcreate('float')
dllstructsetdata($stuct, 10) ;<---- there is your float of 10
_memwrite($pid, 0xf4f3, $struct)

My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll

Link to comment
Share on other sites

It gives me 2 errors:

ERROR: DllStructSetData() [built-in] called with wrong number of args.

and

ERROR: $stuct: undeclared global variable.

Edited by xXx
Link to comment
Share on other sites

my problem is just that i want to write with float instead of byte...

with byte it works perfectly just here now with your additions i got problems like this error above

Link to comment
Share on other sites

It gives me 2 errors:

ERROR: DllStructSetData() [built-in] called with wrong number of args.

and

ERROR: $stuct: undeclared global variable.

you could have gotten this from the helpfile & common sense.

$stuct = $struct ;(typo)

DllStructSetData(...) = dllstructsetdata($stuct, 1, 10) ;(missed index)

My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...