WoW Client Lua Interface (unlock) menu

User Tag List

Results 1 to 8 of 8
  1. #1
    GlittPrizes's Avatar Active Member CoreCoins Purchaser
    Reputation
    34
    Join Date
    Nov 2019
    Posts
    85
    Thanks G/R
    44/23
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    WoW Client Lua Interface (unlock)

    I would have enjoyed making some profit off my work, but the last 100 yard dash always feels impossible with my projects. It will eat away with me to have invested so much effort to just step away and let it rot, so I'm releasing my sources. I'm sorry if you think this is a poor decision to make it available to everyone, but in the cat and mouse game of game cheats if the mouse never ups the ante then the program will stay primitive.

    WARNING: This is experimental software and may result in bans or might not work in your environment

    ofdreams . GitHub

    Sources:
    Gleam - Unlock
    Gem - Addon (Place 'Gemini' folder in WoW AddOns directory)
    Cig - Signature Scanner

    *Compile both Nydus and GG (from Gleam project) under x64 Release and Open Nydus to inject. After in the game world + 5 seconds it will register a minimap icon which you can left click to open the required lua addon (see README). Right click to free the module (uninject).

    Over the next few days I will be keeping tabs on this thread as well as adding some documentation to the repository. I'm not interested in your vision for this software - go ahead and fork it. I want to have a slow crawl approach to adding new things, so it doesn't pull a World of Warcraft and morph into something that betrays its roots or chase features.

    This is more of a developer tool to build your bot logic on top of and not the bot itself. For now, just compile and send through a Jump() command (Jump() is the alias see 'core.lua'). Tomorrow I will add a bunch more examples with some better documentation but these below should get you started.

    WriteFile
    Code:
    local fileName = "Hello.lua"
    local appDir = GetDirApp()
    local modulePath = appDir .. "scripts\\" .. fileName
    print(modulePath)
    print(FileExists(modulePath))
    WriteFile(modulePath, "print('Your file content here')")
    LoadFile
    Code:
    local fileName = "Hello.lua"
    local appDir = GetDirApp()
    local modulePath = appDir .. "scripts\\" .. fileName
    print(modulePath)
    print(FileExists(modulePath))
    LoadFile(modulePath)
    ClickTerrain
    Code:
    local x,y,z = GetPosition()
    CastSpell("Cooking Fire")
    ClickTerrain(x,y,z, false) -- true == right click
    Navigation (requires Trinity Core mesh files in App folder named 'Mesh')
    Code:
    local x,y,z = -829, 4284, 746    -- destination point
    
    function nav()
       if Gem:ContinuePath() then
          Gem:Move()
       else
          Gem:UpdatePath(Gem:GetInstanceID(), x, y, z)
       end
       C_Timer.After(0, nav)
    end
    
    nav()
    GetPosition
    Code:
    local x, y, z = GetObjectPosition(UnitGUID('target'))
    print(x,y,z)
    
    C_Timer.After(3.0, function()
          local xx, yy, zz = GetObjectPosition(UnitGUID('mouseover'))
          print(xx,yy,zz)
    end)
    Interact
    Code:
    local herb = GetObjectGuid("Silverleaf")
    Interact(herb)
    Fishing
    Code:
    -- Go fish...
    
    RUN = true -- global RUN defaults to true to allow uninjecting during execution (core.lua)
    
    function fish()
       if RUN then
          if not UnitChannelInfo("player") then CastSpell("Fishing") end
          local bobber = FindPlayerBobber()
          local bobbing = IsBobbing(bobber)
          if bobbing then Interact(bobber) end
          C_Timer.After(0.5, fish)
       end
    end
    
    fish()
    Raycast
    Code:
    -- Raycasts from player position to target (true if collision with hit point)
    
    local tx,ty,tz = GetObjectPosition(UnitGUID("target"))
    local px,py,pz = GetHeadPosition()
    print(TraceLine(px, py, pz, tx, ty, tz, 273))
    Waypoint Recorder
    Code:
    RUN = true
    
    local filename = "Elwyn Forest.lua"
    local init = false
    local points = {}
    local minDist = 15
    
    function addPoint(p)
       print("Adding waypoint: " .. p.x .. " " .. p.y .. " " .. p.z) 
       table.insert(points, p)
    end
    
    function recordPath()
       if RUN then
          local px, py, pz = GetPosition()
          if IsShiftKeyDown() then
             if #points  > 0 then
                local p = points[#points ]
                if Gem:DistanceTo(p.x, p.y, p.z, px, py, pz) >= minDist then
                   addPoint({ x = px, y = py, z = pz})
                end
             else
                addPoint({ x = px, y = py, z = pz})
             end
          end
          C_Timer.After(0, recordPath)
       end
    end
    
    function loop()
       if IsControlKeyDown() and IsShiftKeyDown() then
          print("Stopping Recording!")
          writeFile(filename)
          RUN = false 
       end
       if RUN then
          if init == false and IsControlKeyDown() then
             print("Initializing Path Recording...")
             init = true
             recordPath()
          end
          C_Timer.After(0, loop)
       end
    end
    
    function writeFile(name)
       local appDir = GetDirApp()
       local modulePath = appDir .. "scripts\" .. name
       print(modulePath)
       print(FileExists(modulePath))
       WriteFile(modulePath, "Points = {\n" .. getPointsStr() .. "\n}")
    end
    
    function getPointsStr()
       local s = ""
       for i = 1, #points  do
          s = s .. "{ x = " .. points[i].x .. ", y = " .. points[i].y .. ", z = " .. points[i].z .. " },\n"
       end
       return s
    end
    
    loop()

    These ads disappear when you log in.

  2. Thanks ujhnjklmlmnsq, erakoma, Kirasaka (3 members gave Thanks to GlittPrizes for this useful post)
  3. #2
    GlittPrizes's Avatar Active Member CoreCoins Purchaser
    Reputation
    34
    Join Date
    Nov 2019
    Posts
    85
    Thanks G/R
    44/23
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Release] Gleam - 9.0.5 (38164)

    If you just want the release to mess around with protected lua this post will attach the binaries for the current retail patch (38134).

    Use your best judgement - This is an open source proof of concept that could result in a ban to your WoW account with usage. With the current injection method (Nydus.exe) the module will show in WoW error reports. It's advised to use a stealthier inject technique and consider other security measures against Warden. Lua aliases (core.lua) can be changed as well as the addon name/components itself to further uniquify you setup.

    Gleam - Release 0.1.zip

    edit: make sure the files are extracted before running and that Wow(s) is running. Also put Gemini in the AddOns folder and install the lua ide addon from curseforge (link in github)

    update: if you want to farm eggs use the release below. I had a mistake in the GetClosestNode function

    Gleam - Release 0.1.zip

    Code:
    RUN = true
    
    function eggHunt()
       if RUN then
          local px, py, pz = GetPosition()
          local egg, ex, ey, ez = GetClosestNode('Brightly Colored Egg')
          if egg then 
             if Gem:DistanceTo(px, py, pz, ex, ey, ez) <= 5 then
                Interact(egg)
                SetHardwareEvent()
             end
          end
          C_Timer.After(2.0, eggHunt)
       end
    end
    
    eggHunt()
    update update: The navigation relative paths is most likely incorrect in the latest repo push. I will have to revise when I get a chance. If you print the path to the console you can see where it's going wrong and correct it. Been busy today but soon will await the issues you might have and address them.
    Last edited by GlittPrizes; 1 Week Ago at 08:55 PM.

  4. #3
    aeo's Avatar Contributor Authenticator enabled
    Reputation
    116
    Join Date
    Apr 2007
    Posts
    233
    Thanks G/R
    46/52
    Trade Feedback
    6 (100%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    This looks good, I like the code style. I just want people who use this to be aware. Blizzard hooks kiuserexceptiondispatcher and have checks in place before your handler is called. I'm surprised that this works tbh as last I checked they handled all exceptions codes in their hook and anything debug related like int3 would be caught and crash.

    This is from live as of right now:
    disdpatch.png

    Also they know if you are messing with the taint global, so dont.

  5. Thanks GlittPrizes (1 members gave Thanks to aeo for this useful post)
  6. #4
    GlittPrizes's Avatar Active Member CoreCoins Purchaser
    Reputation
    34
    Join Date
    Nov 2019
    Posts
    85
    Thanks G/R
    44/23
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I made the repo private because I never really should have retaliated and posted sources. It's stuff I authored, but I worked with others on it and because I was upset about one thing I thought it would be good but really just left me feeling stupid.

    Sorry and yes it's too late to take it back. best to keep something like this private in the first place or it defeats the purpose.

    epic fail
    Last edited by GlittPrizes; 6 Days Ago at 02:54 PM.

  7. #5
    aeo's Avatar Contributor Authenticator enabled
    Reputation
    116
    Join Date
    Apr 2007
    Posts
    233
    Thanks G/R
    46/52
    Trade Feedback
    6 (100%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Just an FYI. It’s already been cloned and re uploaded just search GitHub

  8. #6
    DarkLinux's Avatar ★ Elder ★ CoreCoins Purchaser Authenticator enabled
    Reputation
    1442
    Join Date
    May 2010
    Posts
    1,644
    Thanks G/R
    148/431
    Trade Feedback
    16 (100%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Well at least tell us about the drama XD It sounded a little odd "the last 100 yard dash always feels impossible", it looked almost complete. I hope you can fix the detections before trying to profit.

    On top of what @aeo recommenced, your threading is sketchy.

    Also also, tainted is xored now, this is 100% going to get you banned
    Code:
    *reinterpret_cast<uint64_t*>(Offsets::s_luaTainted) = 0;
    Last edited by DarkLinux; 1 Week Ago at 02:21 PM.

  9. Thanks sadnecc (1 members gave Thanks to DarkLinux for this useful post)
  10. #7
    GlittPrizes's Avatar Active Member CoreCoins Purchaser
    Reputation
    34
    Join Date
    Nov 2019
    Posts
    85
    Thanks G/R
    44/23
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarkLinux View Post
    Well at least tell us about the drama XD It sounded a little odd "the last 100 yard dash always feels impossible", it looked almost complete. I hope you can fix the detections before trying to profit.

    On top of what @aeo recommenced, your threading is sketchy.

    Also also, tainted is xored now, this is 100% going to get you banned
    Code:
    *reinterpret_cast<uint64_t*>(Offsets::s_luaTainted) = 0;
    I need the program to not be a tangent thread and not do writes like that I'll see if there is another way.
    Last edited by GlittPrizes; 6 Days Ago at 02:52 PM. Reason: edit

  11. #8
    netpanpeng2019's Avatar Member
    Reputation
    1
    Join Date
    Mar 2021
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

Similar Threads

  1. Run arbitrary LUA scripts on another WoW client.
    By Hazzbazzy in forum World of Warcraft Exploits
    Replies: 19
    Last Post: 08-18-2016, 10:49 AM
  2. [Lua Script] Script Tester Without WoW Client?
    By MadameGrip in forum WoW EMU Questions & Requests
    Replies: 8
    Last Post: 04-08-2011, 10:13 AM
  3. original wow client dl?
    By drano in forum World of Warcraft General
    Replies: 0
    Last Post: 01-16-2007, 08:36 PM
  4. Making WoW Clients crash
    By Siker in forum World of Warcraft Exploits
    Replies: 103
    Last Post: 12-31-2006, 09:42 AM
  5. Downgrade your WoW Client
    By Matt in forum World of Warcraft Guides
    Replies: 11
    Last Post: 12-21-2006, 09:09 AM
All times are GMT -5. The time now is 02:46 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search