killerofsix Posted August 5, 2008 Share Posted August 5, 2008 ok I'm sure it has something to do with my syntax or something, but i just can't seem to be able to get _MemoryWrite to work! I've done @error checks and it returns no error but when i check with cheat engine to see if the value has changed, it hasn't! I've been going through the forums looking for an answer for about 4 hours now and still nothing.Here's what i have written in my script:_MemoryWrite( 0x008C8398, $processhandle, 0.1, 'float')Here's a pic of the addres in cheat engineI think the problem is with the address, in _Memorywrite all i did was take the address from cheat engine and put '0x' in front of it which i assume is correct. I'd appreciate it if someone could tell me what I'm doing wrong and guide me in the correct direction. And don't send me to some other thread saying the answer is there cause I've seen just about every thread there is with the words _Memorywrite in it so either I've seen the answer, but it just went over my head, or I haven't seen the answer and I need help! I need a direct and simple answer please. Thank you to anyone who helps. "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
DW1 Posted August 5, 2008 Share Posted August 5, 2008 Well, I don't use _MemoryWrite in my scripts since I found NamadMemory. However, at a glance, I would suggest sending the value as hex instead of dec. AutoIt3 Online Help Link to comment Share on other sites More sharing options...
killerofsix Posted August 6, 2008 Author Share Posted August 6, 2008 nope that doesn't work. even in all the examples i've seen they've always been in decimal or char format. hex does nothing, just some extra errors thank you danwilli for the suggestion. can anyone else help please. "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
killerofsix Posted August 6, 2008 Author Share Posted August 6, 2008 bump for help please "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
DW1 Posted August 6, 2008 Share Posted August 6, 2008 You could just use NomadMemory: NomadMemory.au3 AutoIt3 Online Help Link to comment Share on other sites More sharing options...
killerofsix Posted August 6, 2008 Author Share Posted August 6, 2008 thats what im using "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
DW1 Posted August 7, 2008 Share Posted August 7, 2008 I always just send one byte at a time, sending hex for the value like this from a working script of mine: _MemoryWrite( 0x0453701, $M_open, "0x90", 'byte[1]' ) hope this helps... if not I will keep looking into it. AutoIt3 Online Help Link to comment Share on other sites More sharing options...
killerofsix Posted August 8, 2008 Author Share Posted August 8, 2008 ok how do i send 0.1 as a hex value and i need to send it as a float value, not a byte. "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
DW1 Posted August 8, 2008 Share Posted August 8, 2008 when you send a float, you are just sending several bytes, so you could simply use the information from cheat engine to see what bytes are changed when you change the float value and then make those changes via nomadsmem. Just look at the asm view or hex and see what changes when the float is changed. Again I hope this helps, sorry I am only offering a workaround and not a solution, but I didn't see anybody else replying to this topic... figured I would toss in my thoughts AutoIt3 Online Help Link to comment Share on other sites More sharing options...
killerofsix Posted August 8, 2008 Author Share Posted August 8, 2008 ah i see, thank you very much for the help. just to clarify something, since a float is 4 bytes, would that mean when i i would have to write the value 4 times or in the type i would put 'byte[4]' And I really appreciate your help with this stuff. "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
DW1 Posted August 8, 2008 Share Posted August 8, 2008 I think you should be able to use 'byte[4]', but I always just do it one at a time (byte[1]) just because I ran into some issues doing it other ways. It may not be an issue with the udf, it may just be me doing it wrong, but I never had any problems doing it one byte at a time. AutoIt3 Online Help Link to comment Share on other sites More sharing options...
killerofsix Posted August 8, 2008 Author Share Posted August 8, 2008 (edited) ok i have no idea why but none of Nomad's functions work for me! I've tried them on vista and xp both using the same version of autoit, and nothing works! I even tested with this memory_gui thing i found while searching other topics, but these function dont work for me. i'm gonna try it with an older version of autoit. EDIT: I tried with autoit 3.2 and the functions still wont work for me. i've tried just writing single 4 byte values and nothing works Memory_GUI.au3 Edited August 8, 2008 by killerofsix "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
killerofsix Posted August 8, 2008 Author Share Posted August 8, 2008 ok how do u write ur address? For example, in cheat engine the address i would write is: 0084A3F7 Now in _MemoryWrite, how would you write that? _MemoryWrite(0x0084A3F7,.......etc.) is correct, no? "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
DW1 Posted August 8, 2008 Share Posted August 8, 2008 That is correct... what game/app are you trying to do this on? AutoIt3 Online Help Link to comment Share on other sites More sharing options...
killerofsix Posted August 8, 2008 Author Share Posted August 8, 2008 (edited) I'm trying to use it on WoW. I know it can be done, I've seen the topic made by Malu05. EDIT: Do these nomads functions still work for you? response from anyone would be nice. Edited August 9, 2008 by killerofsix "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
Glyph Posted August 9, 2008 Share Posted August 9, 2008 I'm trying to use it on WoW. I know it can be done, I've seen the topic made by Malu05.EDIT: Do these nomads functions still work for you? response from anyone would be nice. This is kind of off topic, but i'm pretty sure warden will detect this?Is it worth getting banned??anyway, sorry for the off-topicness!free bump! tolle indicium Link to comment Share on other sites More sharing options...
Juppie7 Posted August 9, 2008 Share Posted August 9, 2008 (edited) Lol this is funny. I ran into your problem, but the resolution is gonna make you unhappy lol. Cause you did all the syntax stuff above, and it took so long just for 1 resolution. (Dont worry i feel your pain, it happened to me too)Hmmm... To share... or not to share.. That is the question.. I decided I'll share. What your looking for, is called PageFile protection. In C++ it's easy as hell to fix this, just 2 simple commands will remove and re-apply protection to the page files.What I've found to work with WoW is you need DebugPriveleges in autoit. Getting this to work is one hell of a trick, and I have yet to figure it out completely, but I do have it working using the attached UDF.Just use that instead of NomadMemory udf,and additionally, before you access the memory, do the following:$Priv=SetPrivilege("SeDebugPrivilege",1) $Priv=0x38And BELIEVE ME!! If you change the above two lines in ANY way, it will not work. Ill stake my life on that. Aside from changing the variable name of course. Then call C_MemRead($mem,$addy,$ScanSize)or C_MemWritewherever it is needed.I also attached my modified version of NomadMemory, and it works great in conjunction with the "CustomMem.au3" include file. Although, it does not work for Wow.exe because of memory pagefile protection. So it's kinda useless, aside from the functions I wrote, which aren't that awesome anyway.I got into this cause I was making an autoit program that would edit Gliders keys.xml file by reading the hotbar buttons in game, and synchronizing their item id's converted to decimal from the 1st octect of hexidecimal in memory with wow.allakhazam.com using INetGet(). Worked great, but ran out of time(and interest =/ ) to finish it. =/God knows why I'm sharing this file.... It took me so... SO very long to get this working.(Like almost an entire week) I gave up for a while and went to C++ even. What can I say, I love how easy it is to make a GUI w/ autoit...Just make sure you leave the credits intact. The UDF functions were originally written by someone @ http://edgeofnowhere.cc (Bah, another piece of information I really didn't wanna give out. lol This site has alot of cool stuff in it) .I would really like to ask you to credit me some for this, but I didn't write the code - just did the research and put it all together; and in the end, he who wrote the code seems to be all that matters - and so I won't ask. Guess my only benefit is that I feel all warm and fuzzy inside cause I helped someone with this. lol =/Oh, and by the way, it is HIGHLY likely that Warden will detect MemoryWrites. Whereas, I have tested the MemoryReads, and they are not detected, or atleast, don't raise any flags. I would do the following:1.) Test your code on a private server - easily findable using google.com2.) Check warden detection using a 10day free trial account.If all goes sexy, then release and make ur uber $$ CustomMem.au3NomadMemoryEd.au3 Edited August 9, 2008 by Juppie7 Link to comment Share on other sites More sharing options...
killerofsix Posted August 9, 2008 Author Share Posted August 9, 2008 (edited) Thank you very much juppie7! I pretty sure this will do the trick, and btw my program is meant to be used on private servers so i don't have to worry about warden really. Anyways, thank you very much for sharing this valuable information with me and everyone else who reads this topic. I'm gonna now go make the necessary modifications to my script and test it, hopefully it will now work. EDIT: I'll add your name to credits if this works Edited August 9, 2008 by killerofsix "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
killerofsix Posted August 12, 2008 Author Share Posted August 12, 2008 (edited) Sorry i feel like I'm bringing an old topic back but I've finally had success with Nomads functions (_MemoryPointerWrite). I was able to write to an address in wow thats a byte but I'm unable to write to any address's that has floating point value. Everything else works as long as I'm not writing to a floating point. does anyone have any suggestions? Thank you juppie7, I am now able to write to memory address's just not one's with floating point values Any help with fixing this problem of writing to floating points would be nice. Thanks. EDIT: Ok I'm only having a problem with writing 0.1 to an address. Here's my code: _MemoryWrite(0x008C8398, $processhandle, 0.1, 'float') Edited August 12, 2008 by killerofsix "The quieter you are, the more you are able to hear..." My AppsUSB Finder Link to comment Share on other sites More sharing options...
Oldschool Posted August 13, 2008 Share Posted August 13, 2008 Try using a DLLStructCreate to create a float datastructure Then DLLStructSetData to set the value in there Then pass the DllStructGetPtr into the mem write function, which you will probably have to mod to accommodate this. 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