monji Posted February 18, 2006 Share Posted February 18, 2006 Do I have to write it as a hex though? I would like to have a GUI Input Ctrl with a number And just do: _MemWrite( $Mem, 0x000000,_MemCreate(GuiCtrlRead($Input1))) How am i supposed to do that? Do I need to convert the number to something first? I'm confused Hallman yes, i think you have to convert it to hex. it seems that _MemCreate accepts only strings or a sequence of bytes. i think this would work: $in = 2000 $h = hex( $in, 8 ) dim $arrBytes[4] $i = 0 while $i < UBound( $arrBytes ) $arrBytes[$i] = Int( '0x' & StringLeft( $h, 2 ) ); int() to make sure it won't be passed to _MemCreate as string $h = StringTrimLeft( $h, 2 ) $i += 1 wend _MemWrite( $mem, $addr, _MemCreate( $arrBytes[0], $arrBytes[1], $arrBytes[2], $arrBytes[3] ) ) i'm not too sure about the byte order though. if it doesn't work, try passing $arrBytes[3]->$arrBytes[0] to _MemCreate. Link to comment Share on other sites More sharing options...
CoderDunn Posted February 18, 2006 Share Posted February 18, 2006 yes, i think you have to convert it to hex. it seems that _MemCreate accepts only strings or a sequence of bytes. i think this would work: $in = 2000 $h = hex( $in, 8 ) dim $arrBytes[4] $i = 0 while $i < UBound( $arrBytes ) $arrBytes[$i] = Int( '0x' & StringLeft( $h, 2 ) ); int() to make sure it won't be passed to _MemCreate as string $h = StringTrimLeft( $h, 2 ) $i += 1 wend _MemWrite( $mem, $addr, _MemCreate( $arrBytes[0], $arrBytes[1], $arrBytes[2], $arrBytes[3] ) ) i'm not too sure about the byte order though. if it doesn't work, try passing $arrBytes[3]->$arrBytes[0] to _MemCreate. Yep Works Good. You do need to switch the order of the bytes the other way 'round for it to work. Thanks Alot, Iv'e been waiting for this a long time Hallman Link to comment Share on other sites More sharing options...
jvanegmond Posted March 22, 2006 Share Posted March 22, 2006 Wow this is really cool, i'm going to build a trainer/macro for Dungeon Siege II. github.com/jvanegmond Link to comment Share on other sites More sharing options...
Coolrider64n Posted March 28, 2006 Share Posted March 28, 2006 I'm still a noob to this but if you can explan the functions than I would use this and put it to good use. Specialy since I have a good idea of what to do with this(memory editing). Link to comment Share on other sites More sharing options...
Ster Posted April 14, 2006 Share Posted April 14, 2006 These codes dont work for me inAutoIt 3.1.1. undefined functions DllStructDelete and DllStructCreate Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted April 14, 2006 Moderators Share Posted April 14, 2006 These codes dont work for me inAutoIt 3.1.1.undefined functions DllStructDelete and DllStructCreateThose are AutoIt Beta Options... If you look in the realeased help file, you won't find them, Here is the link to download Beta: http://www.autoitscript.com/forum/index.php?showtopic=19717 Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Ster Posted April 14, 2006 Share Posted April 14, 2006 (edited) Those are AutoIt Beta Options.....Thanks I'm further along now, i can read just fine.I want to inject code like: 0x89, 0x08, 0x89, 0x0D, 0x60, 0x08, 0x01, 0x00, 0x50, 0x8B, 0xCEhow do i use _MemWrite+_MemCreate for these hex values? or do i not use _memcreate at all? send an array? i'm slightly confused.this did not seem to work as expected: _MemWrite( $h_open, 0x108A0, _MemCreate(0x89, 0x08, 0x89, 0x0D, 0x60, 0x08, 0x01, 0x00, 0x50, 0x8B, 0xCE ) ) Edited April 14, 2006 by Ster Link to comment Share on other sites More sharing options...
NegativeNrG Posted April 15, 2006 Share Posted April 15, 2006 (edited) _MemWrite( $h_open,0x108A0, _MemCreate(0x89, 0x08, 0x89, 0x0D, 0x60, 0x08, 0x01, 0x00, 0x50, 0x8B, 0xCE ) )The one in Bold, doesn't look like a proper address. So you would (Probably) do 0x000108A0, i'm not sure though, because once i done it (less then 8 chars), it didn't work. Edited April 15, 2006 by NegativeNrG [size=20]My File Upload[/size]Register at my site and upload. Link to comment Share on other sites More sharing options...
JRowe Posted April 15, 2006 Share Posted April 15, 2006 This is an absolutely necessary function for us gamers. Being able simply to read values from a client program is an indispensable function. Although finding the values to read is a tedious process, having a macro know exactly how many HP you have and how much life your target has left... these are very cool things. _memRead at least should be included in the next release. [center]However, like ninjas, cyber warriors operate in silence.AutoIt Chat Engine (+Chatbot) , Link Grammar for AutoIt , Simple Speech RecognitionArtificial Neural Networks UDF , Bayesian Networks UDF , Pattern Matching UDFTransparent PNG GUI Elements , Au3Irrlicht 2Advanced Mouse Events MonitorGrammar Database GeneratorTransitions & Tweening UDFPoker Hand Evaluator[/center] Link to comment Share on other sites More sharing options...
NegativeNrG Posted April 15, 2006 Share Posted April 15, 2006 _MemRead, Does Exists. [size=20]My File Upload[/size]Register at my site and upload. Link to comment Share on other sites More sharing options...
Ster Posted April 16, 2006 Share Posted April 16, 2006 (edited) _MemWrite( $h_open,0x108A0, _MemCreate(0x89, 0x08, 0x89, 0x0D, 0x60, 0x08, 0x01, 0x00, 0x50, 0x8B, 0xCE ) )The one in Bold, doesn't look like a proper address. So you would (Probably) do 0x000108A0, i'm not sure though, because once i done it (less then 8 chars), it didn't work.Okay i found out it's wrong hex vales, so does that mean i used the _MemCreate function correctly if only i had good data?--------EDIT -- IT ALL WORKS, TY! Edited April 18, 2006 by Ster Link to comment Share on other sites More sharing options...
JRowe Posted April 19, 2006 Share Posted April 19, 2006 (edited) edit: Basically what I'm doing is writing a game bot that reads HP from targets. I have the hotkeys set up, the memory values hacked, now it's just a matter of writing a function for each action in game and a basic AI to control those actions. Figured out what I was looking for Edited April 19, 2006 by Jrowe [center]However, like ninjas, cyber warriors operate in silence.AutoIt Chat Engine (+Chatbot) , Link Grammar for AutoIt , Simple Speech RecognitionArtificial Neural Networks UDF , Bayesian Networks UDF , Pattern Matching UDFTransparent PNG GUI Elements , Au3Irrlicht 2Advanced Mouse Events MonitorGrammar Database GeneratorTransitions & Tweening UDFPoker Hand Evaluator[/center] Link to comment Share on other sites More sharing options...
faldo Posted May 6, 2006 Share Posted May 6, 2006 Great script w0uter... i'd also suggest adding privilege controll aswell (_SeDebugPrivilege) since some games won't let you write anything without the proper privilege. Check out my other scripts: RDP antihammer/blacklist generator | Phemex cryptocurrency exchange API Link to comment Share on other sites More sharing options...
Sardith Posted May 11, 2006 Share Posted May 11, 2006 Quick question for you all... I understand the _memread i've already put it to use.. but does anyone have a working example of how you'd write to a adress after you've read it? [font="Verdana"]Valik:Get it straight - I'm not here to say please, I'm here to help - if my help's not appreciated then lotsa luck, gentlemen.[/font] Link to comment Share on other sites More sharing options...
Busti Posted May 17, 2006 Share Posted May 17, 2006 *push* - please post some more (working) examples to learn from^^ 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 More sharing options...
quick_sliver007 Posted May 18, 2006 Share Posted May 18, 2006 Is there a _MemSearch() udf? A UDF to search for the address of a value. . Link to comment Share on other sites More sharing options...
w0uter Posted May 18, 2006 Author Share Posted May 18, 2006 no. use a memory searcher like T-Search. 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 More sharing options...
JoshDB Posted May 18, 2006 Share Posted May 18, 2006 Func Health() $h_open = _MemOpen($pid) $currentHealth = Int(_MemRead($h_open,IniRead("SLB.ini","memory","currentHealth",0),4)) $maxHealth = Int(_MemRead($h_open,IniRead("SLB.ini","memory","maxHealth",0),4)) $Healthpercent = $currentHealth/$maxHealth*100 _MemClose($h_open) Return $Healthpercent EndFunc Ha, I haven't been on these forums since... 2006, almost. Behold, my legacy signature:My AutoIt idol is Valuater. You know you love him, too.My Stuff: D&D AGoT Tools Suite Link to comment Share on other sites More sharing options...
xXx Posted May 25, 2006 Share Posted May 25, 2006 Nice work w0uter could u include also other types of values? (as Scrawni posted before) i would like to write with a float value... -xXx Link to comment Share on other sites More sharing options...
ironmanexe Posted May 25, 2006 Share Posted May 25, 2006 (edited) time to re-write my teleport-hack (for Knight Online) into autoit (previosly written in actools) Edited May 25, 2006 by ironmanexe Time + Effort = Constant Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now