[PQR] Tainted Code \ The Unprotected Call menu

User Tag List

Results 1 to 4 of 4
  1. #1
    MrHeroe's Avatar Member
    Reputation
    3
    Join Date
    May 2013
    Posts
    67
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [PQR] Tainted Code \\ The Unprotected Call

    Greetings,

    the last six months i worked with PQR, rotations and lua code. I created some profiles by my own and for my own, but contributing informations and helpfull questions to this community. All my solutions are PvP Profiles. I work alot with Arena 1 to x, eventchecks e.g. One big problem i have all the time is that my profiles creating errors.

    They arent syntax or semantic errors. The Profile works as intended, even when errors are thrown. But after time it seems like my profiles begin to stutter. Some abilites wont be executed and so on until the WOW lua interface stops all actions because of too much errors (random time between 1 to 6 Arena games).

    On random Situations, a random addon tries to call a protected function (We all know this kind of errors). As far as my researches go that comes from tainted code.

    bu_ba wrote an excelent definition of that phenomenon:

    Originally Posted by bu_ba_911 View Post
    taint means... when a secure code becomes insecure... in order for PQR to work properly, it needs to remain in a secure state.... if you take data from an insecure place (ie a variable that is insecure) and then use it in a secure environment, the secure environment becomes insecure, and the codes that require a secure environment to work (like spell casts) will now cause an error saying x addon is trying to call protected stuff.....
    NOW I WANT TO KNOW WHAT KIND OF CODE CAUSE INSECURE CODE!

    I list what kind of actions i use and maybe someone cann help me finding that nasty bitch code (sry for that - but looking for so lang, asked a thousand people).

    1. Complex Button Checks - MyFearKey = IsMouseButtonDown(4) and not IsLeftControlKeyDown()
    2. Unique Global Variables (Buttons / Settings e.g)
    3. No PQI Implementation
    4. Table of Group members (Sheuron Engine <3)
    5. Checks of nil values (If UnitBuffID("player", 130857) == nil)
    6. Dynamic Table access with _G -> auraTables = _G["AURA_" .. string.upper(auraType)]
    7. Cancel Buffs by using -> CancelUnitBuff("player", GetSpellInfo(81206))
    8. get Spell cooldown -> select(2,GetSpellCooldown(527))
    9. counting through members -> for i=1,#members do
    10. counting through arena enemies -> for i=1, benNumberEnemies do -- A global var!
    11. all Casts are: CastSpellByName(GetSpellInfo(14914),"arena"..i) like
    12. I dont use The ability Setings box in the editor (recast delay 0 / spell id 0)
    13. checking talents by: fadeTalent = select(5,GetTalentInfo(6))
    14. checking buffs: local fdcl,_,_,Stacks,_,_,fdclTime = UnitBuffID("player",109186) or 0
    15. Using Items: UseItemByName(select(1,GetItemInfo(5512)), "player")
    16. checking the most injured member by: members[1].HP
    17. Time based actions like: ( GetTime() - lastFocusSwap ) > 15
    18. Checks if spell is casted with: ipairs(InterruptSpells)
    19. Using: SpellStopCasting()
    20. Handling Instants with event handler
    21. Checking Creature Type: if UnitCreatureType("target") == "Undead" then
    22. dot/hot expiration time: [I]SpellExpire = select(7, UnitBuffID(members.Unit,139)) or 0



    last but not least the only place where i use macros
    • RunMacroText("/target Psyfiend")
    • RunMacroText("/cast Power Word: Shield")
    • RunMacroText("/petaggressive")
    • RunMacroText("/petattack")



    Please help me =(
    Last edited by MrHeroe; 10-02-2013 at 06:24 AM.

    [PQR] Tainted Code \ The Unprotected Call
  2. #2
    RedRussian's Avatar Banned CoreCoins Purchaser Authenticator enabled
    Reputation
    221
    Join Date
    Nov 2012
    Posts
    430
    Thanks G/R
    2/3
    Trade Feedback
    2 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Unique Global Variables (Buttons / Settings e.g)
    These must be declared and modified only within PQR profile otherwise the code may become tainted. For example if you declare or modify some global variable using some addon or /run command then PQR code using this variable won't be able to call protected functions. That's what I've experienced during developing my own profiles. Correct me if I'm wrong.

    You can collect more information about these unprotected calls by analyzing the taint log.
    1. type /console taintLog 1 and /reload game's interface
    2. reproduce the error
    3. look for this file /WoW Folder/Logs/taint.log

  3. #3
    MrHeroe's Avatar Member
    Reputation
    3
    Join Date
    May 2013
    Posts
    67
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Cool! I didnt know the taintlog feature! Thank you!

    All my global vars are used and declared in PQR and i use unique names like "benMassDispellKey" for that reason. So i think its not a global that cause those errors.

  4. #4
    MrHeroe's Avatar Member
    Reputation
    3
    Join Date
    May 2013
    Posts
    67
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    New Problem:

    When im in /console taintLog 1 mode PQR cant connect to the game (even when i already loaded a profile ingame). The Profile selection is just blank with the message (not connected / or not logged in or so). Only when i change back to /console taintLog 0 PQR is able again to hook into the game.

    WTF!?!?

Similar Threads

  1. [PQR] LF "Use engineering gloves" pqr string code
    By dealerx in forum WoW Bot Maps And Profiles
    Replies: 2
    Last Post: 08-15-2016, 03:05 PM
  2. PQR - What is the meaning of this common code?
    By Sheriffs in forum WoW Bots Questions & Requests
    Replies: 2
    Last Post: 09-12-2013, 01:54 AM
  3. who the hell called me?
    By klamor in forum Community Chat
    Replies: 1
    Last Post: 09-06-2011, 04:59 AM
  4. What is the file for the model of the Ashbringer called?
    By Danzig in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 06-07-2009, 12:15 PM
All times are GMT -5. The time now is 06:55 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