Jump to content

World Of Warcraft Development


malu05
 Share

Recommended Posts

@J0ker, not sure how easily it would be to do with AutoIt. But I know I've used a mem editing prog before that let me watch values in my ram that would go up, down, or stay the same between checks. Doing that I could let things like my health stay the same for a long time and keep doing checks and narrow it down :)

Yes using a memory editor it's easy but what Im trying to do is kinda make a trainer that will look for a value but using Autoit ( like malu did for his memory scanner).

Link to comment
Share on other sites

  • Replies 470
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

I can't register on the new site...not getting the confirmation e-mails. Is anyone able to get on?

have some trouble with the e-mail validation all users are approved by hand right now .. can take some time, but you are enabled right now...

$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:-)
Link to comment
Share on other sites

Ok... after a bit of searching I finally found the forum I am looking for it seems. I have been playing Warcraft off and on for about two years now. I'm really interested in making a BG bot and an auto leveling bot. I have power leveled by hand many toons and it gets to be a little boring. I'd also like to develop some profession leveling tools since I usually work on my professions much later on in the game.

I tried to use autoit before to move about and stop going afk in the battlegrounds but unfortunately didn't have much success... I am hoping I can help you guys out as I have plenty of time to learn this stuff and plenty of technical know-how. I am use to coding but not very familiar with reading memory. My main concern is that WoW's spy bot will detect what I am doing in AutoIt and ban my account. Is there anyway to see exactly what WoW's software is doing and what triggers it to warn the GMs?

Thanks

Link to comment
Share on other sites

Ok... after a bit of searching I finally found the forum I am looking for it seems. I have been playing Warcraft off and on for about two years now. I'm really interested in making a BG bot and an auto leveling bot. I have power leveled by hand many toons and it gets to be a little boring. I'd also like to develop some profession leveling tools since I usually work on my professions much later on in the game.

I tried to use autoit before to move about and stop going afk in the battlegrounds but unfortunately didn't have much success... I am hoping I can help you guys out as I have plenty of time to learn this stuff and plenty of technical know-how. I am use to coding but not very familiar with reading memory. My main concern is that WoW's spy bot will detect what I am doing in AutoIt and ban my account. Is there anyway to see exactly what WoW's software is doing and what triggers it to warn the GMs?

Thanks

Hello there, first of all the api we develop makes it possible to write bots for yourself so no out of the box lvling ...

of course you can create a bot in autoit with the help of this api. But you need to know a bit about autoit to do so, the project is still in a very early state so no releases are planned jet. What you can do is to play ab bit with autoit learn how guis and funtions work and how to act with com objects.

if there is a release you will then be able to work with wow in an easy way like _wowTargetMob($aRange) or _wowRunTo("Orgrimmar") :-)

you don't need to figure out how to move and how to get data from wow... the api will be fully undetectable because it just reads the memory :rolleyes:

and uses global hooks to send keys to wow... no chance for warden to "see" it :rambo:

kind regards,

JR

Edited by JRSmile
$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:-)
Link to comment
Share on other sites

I think that would be using regular packet sniffer, then finding packet that would change when doing XXX event, then cracking it.

But im not sure if thats how he did it.

Edited by jokke
UDF:Crypter a file encrypt / decrypt tool with no need to remember a password again. Based on Caesar cipher using entire ASCII Table.Script's: PixelSearch Helper, quick and simple way to create a PixelSeach.Chatserver - simplified, not so complicated multi-socket server.AutoIT - Firewall, simple example on howto create a firewall with AutoIt.
Link to comment
Share on other sites

I have a question on my mind...

How did you manage to find the key of the packets(which are encrypted) and then build a packet with the according key to it?

I thought malu05 gave up the idea of catching packet in favour of memory reading ?

memory reading is very straight forward, however I find hack the network communication is fun.

Inspired by the posts in this thread, I spent several nights after early leave from work during past weeks, I managed to retrieved the encryption key of wow, it's not that hard, since the method wow use is XOR which easy to crack.

All you need to know is how they encrypt and the message structure.

Don't give too many details here, to break my hacking is as easy as hack their key :rolleyes:

Edited by HWai
Link to comment
Share on other sites

  • 4 weeks later...

hit here, i am new to autoit and am just loking for a way to export location from wow and save to xml with/out the the autowalk thingie :whistle:

i have installed autoit and compiled the scripts but where s the addon for wow??/

Also where the latest scripts?? it it on the first post?

Link to comment
Share on other sites

Malu5 or Perkilis or anyone else know how to convert coords collected with WoW ingame Addons such as gatherer or cartographer to coords sniffed from memory?

Here is what I have discovered so far:

Most AddOns seem to use the GetPlayerMapPosition function to determine coords.

The function returns the postion of a unit on the current map

posX, posY = GetPlayerMapPosition("unit")

posX = X value of the unit position (a proportion between 0 and 1, relative to WorldMapDetailFrame)

posY = Y value of the unit position (a proportion between 0 and 1, relative to WorldMapDetailFrame)

eg 0.43320921063423, 0.69365233182907

The key word is "current" map. So the coords are localized to the current zone.

I understand that the coords sniffed from memory relate to the coordinate system explained in this post http://www.autoitscript.com/forum/index.ph...st&p=337598

I need to know how to convert from localized zone coords to sniffed coords. A current AddOn called Nauticus has a Maplibrary with some functions that might help. I thought I figured it out with the following function but I can't get it to correlate properly with the zone offsets and scales (in the Maplibrary.lua file).

-- translates from zone coordinates to world coordinates.

-- returns nil on failure (if the zone is not calibrated)

local function MapLibrary_TranslateZoneToWorld(zx, zy, zone)

if zone == "World" then

return zx, zy

end

if MapLibrary_ZoneIsCalibrated(zone) then

local t = MapLibraryData.translation[zone]

return (zx - t.offset_x) / t.scale_x, (zy - t.offset_y) / t.scale_y

end

return nil

end

I am currently at a dead end and any help would be greatly appreciated.

brain

Link to comment
Share on other sites

converting ingame addon coords to memory coords is almost not possible. beacause of the differences u mentioned. however u might wanna take a look at malus Thermo Binary Travel Bot.

I'd like to have a look on Thermo Binary as well, by I failed to find any link to it. Do you Zephir have one? Edited by wye
Link to comment
Share on other sites

Bump Bump

can anyone help me? im tryin to update malu's DSM (altitude) but the modifications i made dont seem to be working :). Instead of changing altitude it changes the X value. Can anyone take a look at this code and tell me what im doing wrong??

; ----------------------------------------------------------------------------
; ----------------------------------------------------------------------------
;
; 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("+!9","predef")
HotkeySet("{ESC}","terminate")
$UpdateSpeed = 5;Defines the update speed in milliseconds.
;;================================================================================
;;Variable Definition;
;;================================================================================
Dim $datafoundX= 0
Dim $Finallocx
dim $value = 100
dim $knownX = 0x00CD9008
dim $startsearchX = 0x040B8C
dim $startsearchZ
dim $addZ =10.5
dim $memoryX, $memoryZ = 0
dim $processfound = 0
dim $appname = "Altitude Hack"
Global $defaultstatus = "Ready"
dim $scanprocess = 0
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, 230, 120)
GUICtrlCreateLabel($appname & " updated by Demonshade", 0, 0, 230, 30,BitOr($SS_CENTER 

,$SS_SUNKEN))
$statuslabel = GUICtrlCreateLabel ($defaultstatus,0,105,230,15,BitOr($SS_SIMPLE,$SS_SUNKEN))
;z
GUICtrlCreateLabel("Z Axis Pointer:", 5, 35, 95, 50)
$Zvaluepointer = GUICtrlCreateLabel("Not found", 80, 35, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN))
$Zvalue = GUICtrlCreateLabel("Not found", 160, 35, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN))
;alt
GUICtrlCreateLabel("Altitude:", 5, 55, 95, 20)
$valueInput = GUICtrlCreateInput ( "0", 80, 55, 70, 18)
$PlusOrMinus= GUICtrlCreateCheckbox ("+/-", 160, 55, 70, 18)

GUICtrlCreateLabel("", 0, 80, 230, 3,BitOr($SS_CENTER ,$SS_SUNKEN))
$ontop= GUICtrlCreateCheckbox ("On Top", 90, 85, 120, 18)
$trans= GUICtrlCreateCheckbox ("Transparent", 5, 85, 80, 18)
GUISetState()
$CurrentLocX = _MemoryRead($knownX , $DllInformation, 'float')
$CurrentLocZ = _MemoryRead($memoryZ , $DllInformation, 'float')
TrayTip($appname, "Scanning For Memory Pointers. Do NOT move your character while scanning...", 

5, 1)
;;================================================================================
;;Pointer Scanner
;;================================================================================
GUICtrlSetData($Zvaluepointer,"Scanning...")
$begin = TimerInit()
$valueSS = _MemoryRead($startsearchX , $DllInformation, 'float')
while $CurrentLocX <> $valueSS
$startsearchX = $startsearchX+$offset
$valueSS = _MemoryRead($startsearchX , $DllInformation, 'float')
WEnd
$dif = TimerDiff($begin)
TrayTip($appname, "X, Y and Z Position Pointer Found in "& (floor($dif)/1000) & " Seconds", 5, 1)
$memoryX = "0x" & hex($startsearchX,8)
$startsearchZ = $startsearchX + 0X4
GUICtrlSetData($Zvaluepointer,hex($startsearchZ))
$memoryZ = "0x" & hex($startsearchx,8)
GUICtrlSetData($statuslabel,"Ready. Time = " & (floor($dif)/1000)& " Seconds")
while 1
    Memscan()
    $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
;;================================================================================
;;Memscan
;;================================================================================
Func Memscan()
GUICtrlSetData($Zvalue,floor(_MemoryRead($startsearchZ, $DllInformation, 'float')))
sleep($UpdateSpeed)
EndFunc
;;================================================================================
;;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

;;================================================================================
;;Predef
;;================================================================================
func Predef()
$portZ=inputbox("Portal","Enter Position Z")
_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
Link to comment
Share on other sites

1. Where did u get this code from?^^ Randomly copy/pasted together? wtf is the mousemoveplus func doing there?

2. I wonder how you found the offsets etc.... if you cannot even figure out what is wrong with that...

3. Blizzard fixed the altitude hack back when it got leaked. so dont even try

Edited by Zephir
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...