Event based framework.. menu

User Tag List

Page 1 of 3 123 LastLast
Results 1 to 15 of 37
  1. #1
    shauno's Avatar Member
    Reputation
    3
    Join Date
    Oct 2008
    Posts
    34
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Event based framework..

    Me again

    This time I have something to share myself.

    This is sorta what I want to be working towards completing.

    What is it?
    Wow.NET Framework..
    Similar to Wowbasic really except this is event driven
    And that mine has ****-all to it

    This is mostly just a proof-of-concept type thing, if you will, just to gauge what people think.

    At the moment the only values I'm pulling are all GameObjects, their GUIDs, X, Y and Z positions.

    Based on that we have 3 events

    GameObjectCreated
    GameObjectReleased
    GameObjectPositionChanged

    Which are fired at the appropriate times.. then within the EventArgs we get the guid of the GameObject and for the PositionChanged EventArgs, we also get which position changed (X,Y,Z) and the old and new values.

    These are the only things I'm pulling so far, because they're easy and I know how and that's about it.

    Download precompiled binaries: RapidShare: Easy Filehosting

    Download source code: RapidShare: Easy Filehosting

    Really the code to interface with this is so damn easy, not to mention most(used) public members and events are XML documented

    So here it is:

    NoMorePasting.com

    Simple enough, it will just write to the console whenever the event gets fired.

    From there, you can access the GameObject itself like so

    WowNetFramework.GameObjects[GUID].Property

    About the only downside to this is it can be a bit of a CPU hog if you have the refresh rate set too high.. I find at about 100ms it used a peak of 5% on my crappy 2.66ghz.. but mostly below 1% so it can be set with WowNetFramework.RefreshRate property

    Anyway.. just wanted to get a general reaction on this.. any ideas of the way it presents itself and is used would be helpful

    Eventually I want to add hooks in there (WowNetFramework.UseItem() etc) and obviously the rest of the missing properties/features/values/functions that a fully featured framework should have, once I learn how to actually do those things.

    Thanks to all those who help out on the forums, champions and thanks to the creator of MemoryLib.dll (found it on Shynd's blog, not sure if he made it or not though)

    And to add, if anyone wants to help adding functions and properties in there, feel free to flick me a PM so I can add it in ^_^
    Last edited by shauno; 10-21-2008 at 05:07 AM.

    Event based framework..
  2. #2
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    look's nice btw.
    to get object names u can use the vmt function 47 i posted some code in the getplayername thread it works for all kind of objects items/gameobjects/players etc..
    oh and if someone get's 34 to work id be happy to hear how
    +Rep

  3. #3
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Nesox View Post
    look's nice btw.
    to get object names u can use the vmt function 47 i posted some code in the getplayername thread it works for all kind of objects items/gameobjects/players etc..
    oh and if someone get's 34 to work id be happy to hear how
    +Rep

    34 is working fine for me.

  4. #4
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cypher View Post

    34 is working fine for me.
    Code:
    ProcessASM WowASM = new ProcessASM(Memory.GetProcessIdByProcessName("wow.exe"));
    
    //get the adress of the call for 34 (Interact)
    uint interact = Memory.ReadUInt(hProcess,
    (Memory.ReadUInt(hProcess, objects[i].OBJECT_FIELD_BASEADRESS) + (34 * 4)));
    
    WowASM.AddLine("mov EDX, [0x011C8248]");   //Start UpdateCurMgr
    WowASM.AddLine("mov EDX, [EDX+0x285C]");
    WowASM.AddLine("FS mov EAX, [0x2C]");
    WowASM.AddLine("mov EAX, [EAX]");
    WowASM.AddLine("add EAX, 8");
    WowASM.AddLine("mov [EAX], EDX"); // End UpdateCurMgr
    
    //Move the object to interact with into ecx
    WowASM.AddLine("mov ecx, " + "0x" + objects[i].OBJECT_FIELD_BASEADRESS.ToString("X"));
    
    //move the function call into eax and then calling it.
    WowASM.AddLine("mov eax, 0x" + interact.ToString("X") + "");
    WowASM.AddLine("call eax");
    
    //return so wow doesnt dies.
    WowASM.AddLine("retn");
    
    WowASM.Execute();
    nothing happens after i run this, and i know it's the right object. does anything look strange?

  5. #5
    shauno's Avatar Member
    Reputation
    3
    Join Date
    Oct 2008
    Posts
    34
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Is it possible to use the virtual methods without the ProcessASM library?
    Well, of course it's possible.. but what would be the method other than using the raw ASM like that?

    Actually, just google searched 'code cave' and 'writememory'

    NoMorePasting.com

    Got that paste link off google and that is the kind of thing I'm after.
    However the ASM solution looks a lot cleaner and easier to manage after any patches..
    Just how to do it without ASM directly in code, or rather without having to use the ASM library.

  6. #6
    Shynd's Avatar Contributor
    Reputation
    97
    Join Date
    May 2008
    Posts
    393
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You have to inject code some way, some how. Either you inject the already assembled bytecode and patch offsets (as in nomorepasting link, which is an ugly bit of code I wrote a few months ago =p), you use an assembly library and have it assemble the bytecode from assembly mnemonics for you and inject that, or you inject a DLL. There's really not too many alternatives.

  7. #7
    shauno's Avatar Member
    Reputation
    3
    Join Date
    Oct 2008
    Posts
    34
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks Shynd, that all makes sense
    So basically the code you wrote and the code Nesox is writing are essentially doing the same thing?
    I guess the hard part is just finding what to patch and how.
    That's about the the only thing I need to learn now.. of course its the biggest and hardest thing that I know slim about

  8. #8
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by shauno View Post
    Thanks Shynd, that all makes sense
    So basically the code you wrote and the code Nesox is writing are essentially doing the same thing?
    I guess the hard part is just finding what to patch and how.
    That's about the the only thing I need to learn now.. of course its the biggest and hardest thing that I know slim about
    yea but my function for vmt 34 isnt working, 47 works like a charm on 3.0.2 but 34 doesnt. on 2.4.3 it works flawless so something must have changed or im just stupid :weepy:

  9. #9
    shauno's Avatar Member
    Reputation
    3
    Join Date
    Oct 2008
    Posts
    34
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    After reading over Shynd's blog more carefully and the information he gives in regards to using Object.Interact() I have a better understanding of the implementation of it and will try to add it to the code today..

    Does SelectUnit need to be called before Object.Interact() on any item?

    I'm curious Shynd, what app do you use to convert your ASM mnemonics to bytecode and then to hex?
    Last edited by shauno; 10-21-2008 at 09:59 PM.

  10. #10
    shauno's Avatar Member
    Reputation
    3
    Join Date
    Oct 2008
    Posts
    34
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Wow ok, my Interact doesn't appear to be working
    Just using the code from the pastebin above of Shynd's, has it changed since then?

    Also using the SelectUnit code from your site just crashes WoW, does anyone have the new address for SelectUnit?

    Cheers

  11. #11
    MaiN's Avatar Elite User
    Reputation
    335
    Join Date
    Sep 2006
    Posts
    1,047
    Thanks G/R
    0/10
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by shauno View Post
    Wow ok, my Interact doesn't appear to be working
    Just using the code from the pastebin above of Shynd's, has it changed since then?

    Also using the SelectUnit code from your site just crashes WoW, does anyone have the new address for SelectUnit?

    Cheers
    Yes it has actually. It changed over the patch, Nesox has been trying to get it working too. There seems to be some problems.
    [16:15:41] Cypher: caus the CPU is a dick
    [16:16:07] kynox: CPU is mad
    [16:16:15] Cypher: CPU is all like
    [16:16:16] Cypher: whatever, i do what i want

  12. #12
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by shauno View Post
    Wow ok, my Interact doesn't appear to be working
    Just using the code from the pastebin above of Shynd's, has it changed since then?

    Also using the SelectUnit code from your site just crashes WoW, does anyone have the new address for SelectUnit?

    Cheers
    u dont need to call select unit first, atleast u didnt have to in 2.4.3

  13. #13
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The Interact function in the VMT calls SelectUnit internally, if you bothered to look you'd see that.

    Also, sorry I didn't mention this, I forgot I updated it in my VMT, but interact has moved up two functions to 36. Then again I shouldn't really be apologizing because it would've been blatently obvious had any of you noobs bothered to check.

  14. #14
    Shynd's Avatar Contributor
    Reputation
    97
    Join Date
    May 2008
    Posts
    393
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by shauno View Post
    After reading over Shynd's blog more carefully and the information he gives in regards to using Object.Interact() I have a better understanding of the implementation of it and will try to add it to the code today..

    Does SelectUnit need to be called before Object.Interact() on any item?

    I'm curious Shynd, what app do you use to convert your ASM mnemonics to bytecode and then to hex?
    http://www.shynd.com/public/fasmdll_managed.rar

    http://forum.gamedeception.net/showthread.php?t=14333 is the release post for the library, though the version hosted on shynd.com is updated from the one attached to the post. I'll update the attachment sooner or later.
    Last edited by Shynd; 10-22-2008 at 04:04 PM. Reason: Clarification

  15. #15
    shauno's Avatar Member
    Reputation
    3
    Join Date
    Oct 2008
    Posts
    34
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks heaps Shynd, this should prove useful for my collection of tools n things. (is it just me or is GD down?)
    Gonna give getting Interact working another whack again tonight
    Framework is slowly getting more features... slowly
    It's hella easy to code front-end apps though with it being event driven, it's just all about it keeping the CPU down
    Did a couple tests, with it not being verbose on the front end, scanning all objects, identifying your target and outputting current target to console, running 0% cpu and 4mb memory the whole time. So far so good..

    It would be nice to eventually for it to be a plugin-based framework.. but meh.

Page 1 of 3 123 LastLast

Similar Threads

  1. CMS\FRAMEWORK Based on Trinitycore
    By natt_ in forum Programming
    Replies: 7
    Last Post: 04-24-2010, 09:05 AM
  2. WSG flag hide spot,ally base! 1.12
    By TMK in forum World of Warcraft Exploits
    Replies: 22
    Last Post: 08-28-2006, 01:20 PM
  3. Warsong Gultch- Enemy base before game begins
    By Cloud in forum World of Warcraft Exploits
    Replies: 29
    Last Post: 08-21-2006, 02:27 PM
  4. Something very odd in AV on top of the alliance main base in
    By JoKeR` in forum World of Warcraft Exploits
    Replies: 11
    Last Post: 08-20-2006, 03:58 AM
  5. Mount in Enemy Base in WSG
    By Matt in forum World of Warcraft Exploits
    Replies: 6
    Last Post: 08-09-2006, 11:26 PM
All times are GMT -5. The time now is 10:02 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search