Busti Posted May 9, 2007 Posted May 9, 2007 (edited) Hey maulu, are you working with static-pointers, or are you searching the Adress in the DMA everytime ? PS : keep up teh good work Edited May 9, 2007 by Busti My UDF's : Startet on : 06.06.2006_CaseSearchOrReplaceStr();~> Searches OR Replaces a String,;~> With or Without Casesensivity
malu05 Posted May 9, 2007 Author Posted May 9, 2007 Just downloaded winpcap and made a little wow sniffer.Think its nifty enough for Thermo Prime.... [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
Busti Posted May 9, 2007 Posted May 9, 2007 Can you say me the adress to read the packets ? My UDF's : Startet on : 06.06.2006_CaseSearchOrReplaceStr();~> Searches OR Replaces a String,;~> With or Without Casesensivity
malu05 Posted May 9, 2007 Author Posted May 9, 2007 A little more experimentating concluded that it could be used.Here i have added a filter to get position packets only.And as you can see in the buttom right side, the info is ready to extract. [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
malu05 Posted May 9, 2007 Author Posted May 9, 2007 Hey maulu, are you working with static-pointers, or are you searching the Adress in the DMA everytime ?PS : keep up teh good work The static pointers are a waste of time to find...DMA every time... however might be learning a new method soon..Can you say me the adress to read the packets ?what do you mean?? [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
Busti Posted May 9, 2007 Posted May 9, 2007 i cant run it, i intsalled the sniffer and then ran the script but it doesnt work My UDF's : Startet on : 06.06.2006_CaseSearchOrReplaceStr();~> Searches OR Replaces a String,;~> With or Without Casesensivity
malu05 Posted May 9, 2007 Author Posted May 9, 2007 i cant run it, i intsalled the sniffer and then ran the script but it doesnt workWell.. try mine... (incomming big letters...)World Of Warcraft PacketSniffer.http://files.filefront.com/Wow_Packet_Snif...;/fileinfo.htmlFiles included;WinPcap_4_0.exe Setup.exePacket.exePacket.au3Install WinPcap 4.0Then install Packet X 3.2 (Setup.exe)Run the script via the au3 or the compiled *.exe file.For "no trusters" Both WinPcap 4.0 and Packet X 3.2 can be downloaded from their official homepages.. google them if needed.Start World Of Warcraft, log in on your char.Press "Start Capture".. and the program will begin to tap the packets that contains movement data.You can stop/pause the sniffer at any time and resume it.. you can also clear all the data.Aditional features is the "on top" checkbox that ensure that the Packet Sniffer window will always stay on top.You can also set it to Transparent so it doesnt steal that much of the screen.The code can easily be modified. But it was made a bit fast, so it is not that well structured. [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
Busti Posted May 9, 2007 Posted May 9, 2007 #include <NomadMemory.au3> but thx for sharin' My UDF's : Startet on : 06.06.2006_CaseSearchOrReplaceStr();~> Searches OR Replaces a String,;~> With or Without Casesensivity
malu05 Posted May 10, 2007 Author Posted May 10, 2007 (edited) World Of Warcraft Wallhack and AltitudeHack(requires <NomadMemory.au3>)How to use?1. Start up World Of Warcraft and Log In on your Char.2. Start the script.3. The script will start scanning for the needed memory locations. Make sure that your char does'nt move.4. When the script have found all the needed memory locations you are ready to go.(for Altitude Hack)5. Set the altitude. This defines how hight up in the air you want to go. If you set this to 0,1,2 you might just loose some fall damage. If you set it to 5-10 you might die.. 20-> = death on land, unless you are trying to reach something.6. Press Alt+Shift+1 while running (You Must Run, or else you will get disconnected)(for Wall hack)5. Set the altitude to 20-50 (higher might cause disconnect)6. Go to the wall you want to go through. If you want to go North press Alt+Shift+2 (dont need to run) If you want to go south, set +/- and press Alt+Shift+1 If you want to go east press Alt+Shift+2 If you want to go west, set +/- and press Alt+Shift+2You can also press Alt+Shift+9.. then you will be able to set a destination you want to go to. However if you move you get disconnected. This is only the lite version and doesnt support packets to prevent that.expandcollapse popup; ---------------------------------------------------------------------------- ; ---------------------------------------------------------------------------- ; ; Author: ; Malu05 aka. Mads Hagbart Lund <Batmazbaz@hotmail.com> ; ; Script Function: ; Data Stream Manipulator (non-public) ; ; Notes: ; Please Respect The Author of This Code - ; by not re-releasing this code for intially hacking purpose. ; Please only use this application for testing and research. ; ---------------------------------------------------------------------------- ; ---------------------------------------------------------------------------- ;;================================================================================ ;;Includes; ;;================================================================================ #include <NomadMemory.au3> #include <GUIConstants.au3> #include <String.au3> #include <Date.au3> #include <array.au3> #Include <Misc.au3> HotkeySet("+!1","moveup") HotkeySet("+!2","movex") HotkeySet("+!3","movey") HotkeySet("+!0","setval") HotkeySet("+!9","predef") HotkeySet("{ESC}","terminate") ;;================================================================================ ;;Variable Definition; ;;================================================================================ Dim $datafoundX,$datafoundX2, $datafoundY, $datafoundZ = 0 Dim $Finalrot, $Finallocx,$Finallocy,$Finalrandom dim $value = 100 dim $knownX = 0x00D0E54C dim $startsearchX = 0x00000B88 dim $startsearchX5 = 0x00000BBC dim $knownY = 0x00D0E550 dim $startsearchY = 0x00000B8C dim $knownZ = 0x00D0E554 dim $startsearchZ = 0x00000B90 dim $memoryX = 0 dim $memoryX2 = 0 dim $memoryY = 0 dim $memoryZ = 0 ;0x184d8b90 dim $addZ =10.5 dim $addX =0.03 dim $processfound = 0 dim $appname = "DSM" Global $defaultstatus = "Ready" dim $scanprocess = 0 dim $startX, $startY, $startZ dim $transyn = 0 ;;================================================================================ ;;Process front ;;================================================================================ Opt("WinTitleMatchMode", 4) SetPrivilege("SeDebugPrivilege", 1) processopen() func processopen() Global $ProcessID = WinGetProcess("World of Warcraft","") Global $offset = 0x1000 while $processfound = 0 If $ProcessID = -1 Then MsgBox(4096, "ERROR", "Failed to detect process.") $reply = msgbox(1,$appname,"If world of warcraft is running please enter the name of the process (Ie, WORLD OF WARCRAFT) (uppercase sensitive)") if $reply = 2 then Exit Else $Processnewname = InputBox($appname,"Please enter the name of the process. (Case sensitive)") Global $ProcessID = WinGetProcess($Processnewname,"") EndIf Else $processfound = 1 EndIf WEnd EndFunc Local $DllInformation = _MemoryOpen($ProcessID) If @Error Then MsgBox(4096, "ERROR", "Failed to open memory for process;" & $ProcessID) Exit EndIf ;;================================================================================ ;;GUI Creation ;;================================================================================ GUICreate($appname, 150, 170) GUICtrlCreateLabel($appname & " by Malu05", 0, 0, 150, 30,BitOr($SS_CENTER ,$SS_SUNKEN)) $statuslabel = GUICtrlCreateLabel ($defaultstatus,0,155,150,15,BitOr($SS_SIMPLE,$SS_SUNKEN)) GUICtrlCreateLabel("Altitude:", 5, 35, 35, 20) $valueInput = GUICtrlCreateInput ( "0", 50, 34, 30, 20) GUICtrlCreateLabel("", 0, 60, 150, 3,BitOr($SS_CENTER ,$SS_SUNKEN)) GUICtrlCreateLabel("X Axis Pointer:", 5, 65, 95, 50) $Xvaluepointer = GUICtrlCreateLabel("Not found", 80, 65, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) GUICtrlCreateLabel("Y Axis Pointer:", 5, 85, 95, 50) $Yvaluepointer = GUICtrlCreateLabel("Not found", 80, 85, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) GUICtrlCreateLabel("Z Axis Pointer:", 5, 105, 95, 20) $Zvaluepointer = GUICtrlCreateLabel("Not found", 80, 105, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) GUICtrlCreateLabel("", 0, 130, 150, 3,BitOr($SS_CENTER ,$SS_SUNKEN)) $ontop= GUICtrlCreateCheckbox ("On Top", 90, 135, 120, 18) $trans= GUICtrlCreateCheckbox ("Transparent", 5, 135, 80, 18) $PlusOrMinus= GUICtrlCreateCheckbox ("+/-", 90, 35, 120, 18) GUISetState() $CurrentLocX = _MemoryRead($knownX , $DllInformation, 'float') $CurrentLocY = _MemoryRead($knownY , $DllInformation, 'float') $CurrentLocZ = _MemoryRead($knownZ , $DllInformation, 'float') TrayTip($appname, "Scanning For Memory Pointers. Do NOT move your character while scanning...", 5, 1) GUICtrlSetState ( $valueInput, $GUI_DISABLE ) ;;================================================================================ ;;Pointer Scanner ;;================================================================================ ;X Pointer GUICtrlSetData($Xvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer X1...") while $datafoundX = 0 $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') if $valueSS = $CurrentLocX Then TrayTip($appname, "X Position Pointer1 Found", 5, 1) GUICtrlSetData($Xvaluepointer,"Found.") $memoryX = "0x" & hex($startsearchX,8) $datafoundX = 1 Else $startsearchX = $startsearchX+$offset EndIf WEnd GUICtrlSetData($Xvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer X2...") while $datafoundX2 = 0 $valueSS = _MemoryRead($startsearchX5 , $DllInformation, 'float') if $valueSS = $CurrentLocX Then TrayTip($appname, "X Position Pointer2 Found", 5, 1) GUICtrlSetData($Xvaluepointer,"Found.") $memoryX2 = "0x" & hex($startsearchX5,8) $datafoundX2 = 1 Else $startsearchX5 = $startsearchX5+$offset EndIf WEnd ;Y Pointer GUICtrlSetData($Yvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer Y...") while $datafoundY = 0 $valueSS = _MemoryRead($startsearchY , $DllInformation, 'float') if $valueSS = $CurrentLocY Then TrayTip($appname, "Y Position Pointer Found", 5, 1) GUICtrlSetData($Yvaluepointer,"Found.") $memoryY = "0x" & hex($startsearchY,8) $datafoundY = 1 Else $startsearchY = $startsearchY+$offset EndIf WEnd ;Z Pointer GUICtrlSetData($Zvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer Z...") while $datafoundZ = 0 $valueSS = _MemoryRead($startsearchZ , $DllInformation, 'float') if $valueSS = $CurrentLocZ Then TrayTip($appname, "Z Position Pointer Found - The Manipulator is now ready", 5, 1) GUICtrlSetData($Zvaluepointer,"Found.") $memoryZ = "0x" & hex($startsearchZ,8) $datafoundZ = 1 Else $startsearchZ = $startsearchZ+$offset EndIf WEnd GUICtrlSetData($statuslabel,"Ready.") GUICtrlSetState ( $valueInput, $GUI_ENABLE ) $startX = $CurrentLocX $startY = $CurrentLocY $startZ = $CurrentLocZ while 1 $scanprocess = 0 if GUICtrlRead($trans) = 4 Then if $transyn = 1 Then WinSetTrans( $appname, $appname, 255) $transyn = 0 EndIf Else if $transyn = 0 Then WinSetTrans( $appname, $appname, 200) $transyn = 1 EndIf EndIf if GUICtrlRead($ontop) = 1 Then WinSetOnTop($appname, "", 1) Else WinSetOnTop($appname, "", 0) EndIf ;nothing WEnd ;;================================================================================ ;;Moveup ;;================================================================================ func moveup() $Value = GUICtrlRead($valueInput) $CurrentLocZ = _MemoryRead($memoryZ , $DllInformation, 'float') WinActivate("World of Warcraft") sleep(100) for $x = 0 to $value Step +1 ;Process if GUICtrlRead($PlusOrMinus) = 4 Then $CurrentLocZ = ($CurrentLocZ+$addZ) Else $CurrentLocZ = ($CurrentLocZ-$addZ) EndIf _MemoryWrite($memoryZ , $DllInformation,$CurrentLocZ , 'float') Next EndFunc ;;================================================================================ ;;Movex ;;================================================================================ func movex() $Value = GUICtrlRead($valueInput) WinActivate("World of Warcraft") sleep(100) $CurrentLocX = _MemoryRead($memoryx , $DllInformation, 'float') for $x = 0 to $value Step +1 send("aaa") $CurrentLocX = _MemoryRead($memoryx , $DllInformation, 'float') if GUICtrlRead($PlusOrMinus) = 4 Then $CurrentLocX = ($CurrentLocX+$addX) Else $CurrentLocX = ($CurrentLocX-$addX) EndIf _MemoryWrite($memoryX , $DllInformation, $CurrentLocX , 'float') ;_MemoryWrite($memoryX2 , $DllInformation,($CurrentLocX+$addX) , 'float') ;sleep(1) $scanprocess = $scanprocess + 1 GUICtrlSetData($statuslabel,$scanprocess) next send("aaa") EndFunc ;;================================================================================ ;;MoveY ;;================================================================================ func movey() $Value = GUICtrlRead($valueInput) WinActivate("World of Warcraft") sleep(100) $CurrentLocy = _MemoryRead($memoryy , $DllInformation, 'float') for $x = 0 to $value Step +1 send("aaa") $CurrentLocY = _MemoryRead($memoryY , $DllInformation, 'float') if GUICtrlRead($PlusOrMinus) = 4 Then $CurrentLocY = ($CurrentLocY+$addX) Else $CurrentLocY = ($CurrentLocY-$addX) EndIf _MemoryWrite($memoryY , $DllInformation, $CurrentLocY , 'float') next send("aaa") EndFunc ;;================================================================================ ;;Setval ;;================================================================================ func setval() $addX=inputbox("X Pos Value","Set Value of Xaxis") EndFunc ;==>setval ;;================================================================================ ;;Predef ;;================================================================================ func Predef() $portX=inputbox("Portal","Enter Position X") $portY=inputbox("Portal","Enter Position Y") $portZ=inputbox("Portal","Enter Position Z") _MemoryWrite($memoryX , $DllInformation,$portX , 'float') _MemoryWrite($memoryY , $DllInformation,$portY , 'float') _MemoryWrite($memoryZ , $DllInformation,$portZ , 'float') EndFunc ;==>setval ;;================================================================================ ;;MouseMovePlus (thx to Oxin8 for this code) ;;================================================================================ Func _MouseMovePlus($X, $Y,$absolute = 0) Local $MOUSEEVENTF_MOVE = 1 Local $MOUSEEVENTF_ABSOLUTE = 32768 DllCall("user32.dll", "none", "mouse_event", _ "long", $MOUSEEVENTF_MOVE + ($absolute*$MOUSEEVENTF_ABSOLUTE), _ "long", $X, _ "long", $Y, _ "long", 0, _ "long", 0) EndFunc ;;================================================================================ ;;Predef ;;================================================================================ func terminate() sleep(100) ;MouseUp("right") send("{a up}") exit 0 EndFunc ;==>Terminate Edited May 10, 2007 by malu05 [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
Busti Posted May 10, 2007 Posted May 10, 2007 phät release...!! My UDF's : Startet on : 06.06.2006_CaseSearchOrReplaceStr();~> Searches OR Replaces a String,;~> With or Without Casesensivity
BladeZ Posted May 10, 2007 Posted May 10, 2007 malu05 not trying to be rude in any way but do you really think it is wise to release that to the public?
malu05 Posted May 10, 2007 Author Posted May 10, 2007 malu05 not trying to be rude in any way but do you really think it is wise to release that to the public?No... i accturaly think its kinda dump.One of my irl "friends" just "accedently" gave away the code to some "website", and god knows what will happen in a matter of days.... so i thought it would be better to show off the good sides of the code here since there are a little neat feature or two in it that can be used for alot of other projects.I don't really have time to digg out the initial parts of the code but i hope i can be for some use.I didnt have the time to make a new example where i used this function in so i just released this along side it.I am going to move, and meanwhile my comp is going to be packet away.Blizzard will propably nurf this in a matter of no time anyway. [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
BladeZ Posted May 10, 2007 Posted May 10, 2007 No... i accturaly think its kinda dump.One of my irl "friends" just "accedently" gave away the code to some "website", and god knows what will happen in a matter of days.... so i thought it would be better to show off the good sides of the code here since there are a little neat feature or two in it that can be used for alot of other projects.I don't really have time to digg out the initial parts of the code but i hope i can be for some use.I didnt have the time to make a new example where i used this function in so i just released this along side it.I am going to move, and meanwhile my comp is going to be packet away.Blizzard will propably nurf this in a matter of no time anyway.Man that sucks... You gave me the inspiration to begin working on my own versions of what you have been doing and finding it really interesting but now since your code got leaked ( referring to your friend ) blizzard will probably patch this up pretty fast
malu05 Posted May 10, 2007 Author Posted May 10, 2007 Man that sucks... You gave me the inspiration to begin working on my own versions of what you have been doing and finding it really interesting but now since your code got leaked ( referring to your friend ) blizzard will probably patch this up pretty fast Yhea... it kinda sucks.I hope his new firneds at ****-****.net will appricite the little no-brainer he is... But anyway, it was a really /offtopic creation and was initially only made to test the new aditions to Thermo Prime.I never ment to "hack" the game, but... when i saw the door was open.. i just wanted to try it out ^^.Back to buizz.I dont hope too many will feel screwed because i released it.But see it like this... its out anyway. [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center]
ffrankcool Posted May 10, 2007 Posted May 10, 2007 Hey, just wanted I've been following this thread (project) for 2-3 weeks now, I didn't think I'd ever register (lazyness lol). But finally I did, I just wanted to drop by and say that what you're doing Malu looks very promising! ffrankcool
JRSmile Posted May 10, 2007 Posted May 10, 2007 i got tired as i head that you were forced to release the code, this always happens accidentally i think if one good guy for example you or Albert Einstein developed something beautiful like the atom modell or this packet analyzer there are always people raping the code to something bad ... i personally excuse for all the people using your well done example for cheating and hacking. i love the way you think and that you can get information out of the data stream of wow ... and with a bit of low level keyboard hooking wow won't never ever know how the bot acts in the world ( by the way i play wow to.... who not and i lost fun exactly like u in the game, i just write addons for it.) but as a result of your code i saw you got more further with packet analyzing then i got with my firewall so ill ask you if i can take your code and build a firewall out of it, would this suit your way of thinking? $a=StringSplit("547275737420796F757220546563686E6F6C75737421","") For $b=1 To UBound($a)+(-1*-1*-1)step(2^4/8);&$b+=1*2/40*µ&Asc(4) Assign("c",Eval("c")&Chr(Dec($a[$b]&$a[$b+1])));''Chr("a")&"HI" Next ;time_U&r34d,ths,U-may=get$the&c.l.u.e;b3st-regards,JRSmile; MsgBox(0x000000,"",Eval("c"));PiEs:d0nt+*b3.s4d.4ft3r.1st-try:-)
Periklis Posted May 10, 2007 Posted May 10, 2007 DUH. It blew the air out of me .... i was looking forward to a programming weekend of trial and error. Tell your "friend" not to accidentally post source code if he can't realise the consequences. But on the other hand there will be a nice cleanup from blizzard ... (Diabolical laughter). Anyway back to my part in this history: After a late night struggling with the Direct 3D i lost the battle, but not the war. Ready at the moment: Overal Continent map. Clickable -- On_MouseDown(MouseEvent e) -- opens a new window with the BLP where you can put your Pathfinding costs. But realize one thing. One blp is 533.375 * 533.375 = (Roughly removing the decimals) 284089 coordinate positions. It is humanely imposible to add Pathfinding costs for all BLP but on the other hand 2/3 of the continent map is empty, and roughly 30% of a blp is impassable so only the contour of the impassable area needs to be marked. Im working on a part of Stonetalon Mountain, Barrens, Mulgore, Durotar (Overall coordinates 24,24 to 31,31 (Blp coordinates). Still strugling with the grid settings cause of the damn .375 but im soon there. I will post screendumps soon (2-3 days). Until then ... have a good life. BR /P .
Busti Posted May 10, 2007 Posted May 10, 2007 @Periklis you should think realy good before you write such as much code, becouse if you want to add something...hf @ rewriting ;/ My UDF's : Startet on : 06.06.2006_CaseSearchOrReplaceStr();~> Searches OR Replaces a String,;~> With or Without Casesensivity
ffrankcool Posted May 10, 2007 Posted May 10, 2007 i just write addons for it.If I might ask, which addon did you write? (links to curse gaming or wow ui plz)
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