Disable ASLR in World of Warcraft (patch) menu

Shout-Out

User Tag List

Page 1 of 4 1234 LastLast
Results 1 to 15 of 46
  1. #1
    ddebug's Avatar Contributor
    Reputation
    114
    Join Date
    Sep 2010
    Posts
    117
    Thanks G/R
    0/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Disable ASLR in World of Warcraft (patch)

    I coded an easy-to-use tool that disables (or enables) ASLR in World of Warcraft (or any PE file).

    Special thanks to caytchen for opening my eyes up to the "Dll Characteristics" field in the PE Header.

    Attached is an EXE that does the dirty work. I didn't feel it was necessary to release the source (as it was fairly trivial to code). All one needs to do is alter the flags set in the "IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE" in "IMAGE_OPTIONAL_HEADER":

    Before:


    After (ASLR disabled):


    If you guys really want the code, let me know.

    Anyway, you can download the file here:
    Multiupload.com - upload your files to multiple file hosting sites!

    A VirusTotal (lol) report can be viewed here:
    http://www.virustotal.com/file-scan/...17c-1288584557

    The benefits?
    • IDA doesn't have to waste time rebasing each time you debug the EXE
    • You don't have to do basic math (subtracting addresses from the current base address really SUCKS)


    Can you get banned for using this patch?
    Sure, Blizzard can ban you for doing anything. Will they? I highly doubt it. This alters the PE Header which they could (if they wanted to) check fairly easily. You can, additionally, globally disable ASLR in your operating system (without modifying the WoW file) by altering a registry key (though, this really isn't recommended). See this.

    How do I use it?
    Open a command prompt window. Run the NoASLR.exe with parameters like so:

    This enables ASLR:
    NoASLR.exe "Path_To_Your_Portable_Executable.exe" true
    This disables ASLR:
    NoASLR.exe "Path_To_Your_Portable_Executable.exe" false
    What if it corrupts my PE file?
    It won't. Just make sure it isn't running when you use this patch. However, this program DOES backup your old binary (for added comfort ). If the path of your EXE was "C:\lol\pe.exe" then the backed up file will be "C:\lol\pe.exe.bak".

    And, yes, you can use this on any PE file. It doesn't have to be WoW.

    Cheers.

    P.S. This will work on both 32 and 64-bit applications. Yay!
    Last edited by ddebug; 10-31-2010 at 11:35 PM.

    Disable ASLR in World of Warcraft (patch)
  2. #2
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1358
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Fyi, such a tool already exists:
    setdllcharacteristics « Didier Stevens

    There are others, but that's the first one that comes to mind and it's from a reputable source.

    As to actually doing this, it's a bad idea to patch the copy of WoW you actually use. Sure, if you want to do this for the purposes of not having to rebase and do some basic math in IDA then go for it (though personally I think it's a little silly).

    However ASLR is there for a reason, and I would suggest that you don't patch the copy of WoW that you actually play the game with, as it is a security mechanism, and no good can come from disabling it.

  3. #3
    ddebug's Avatar Contributor
    Reputation
    114
    Join Date
    Sep 2010
    Posts
    117
    Thanks G/R
    0/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cypher View Post
    Fyi, such a tool already exists:
    setdllcharacteristics « Didier Stevens

    There are others, but that's the first one that comes to mind and it's from a reputable source.
    Guess I reinvented the wheel, haha. Oh well, at least now I know.
    I did a brief Google search to find a tool such as this, but, alas I couldn't find anything (my Googling skills are fail).

    Thanks for the information Cypher!

  4. #4
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1358
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I didn't actually Google for it, so I'm not sure how hard it is to find via Google. I just happen to follow that guy's blog.

  5. #5
    jjaa's Avatar Contributor
    Reputation
    245
    Join Date
    Dec 2006
    Posts
    562
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ALSR is there for a reason, but IDA takes sooooooooooooooooooooo long to rebase

  6. #6
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1358
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by jjaa View Post
    ALSR is there for a reason, but IDA takes sooooooooooooooooooooo long to rebase
    It's not like you need to do it every time you load the file, lol.

  7. #7
    jjaa's Avatar Contributor
    Reputation
    245
    Join Date
    Dec 2006
    Posts
    562
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cypher View Post
    It's not like you need to do it every time you load the file, lol.
    If your debugging with IDA. You do.

  8. #8
    Flowerew's Avatar Master Sergeant
    Reputation
    72
    Join Date
    Oct 2009
    Posts
    134
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cypher View Post
    It's not like you need to do it every time you load the file, lol.
    It's not about rebasing wow itself, it's about the rebasing IDA does every time you debug the process and its actually in memory with its random base.

  9. #9
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1358
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    People debug with IDA? Eeww.

  10. #10
    jjaa's Avatar Contributor
    Reputation
    245
    Join Date
    Dec 2006
    Posts
    562
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How can you not debug with IDA? :O Its awesomely scriptable and you have all your naming and disassembly. Not only that but you have other debugger modules. And IIRC didn't you say you use WinDbg moudle with IDA.

  11. #11
    Flowerew's Avatar Master Sergeant
    Reputation
    72
    Join Date
    Oct 2009
    Posts
    134
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Btw I disabled ASLR for my system completly, patching files is something I just don't like

  12. #12
    jjaa's Avatar Contributor
    Reputation
    245
    Join Date
    Dec 2006
    Posts
    562
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Flowerew View Post
    Btw I disabled ASLR for my system completly, patching files is something I just don't like
    ASLR is there for a reason. Its not like its hard to patch a file and remove ASLR, disabling it for your whole system is just silly.

  13. #13
    Flowerew's Avatar Master Sergeant
    Reputation
    72
    Join Date
    Oct 2009
    Posts
    134
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by jjaa View Post
    ASLR is there for a reason. Its not like its hard to patch a file and remove ASLR, disabling it for your whole system is just silly.
    Maybe if you have sensible data on your development system...I don't. And this: "there for a reason" is the same argument Cypher gave you two with your method, think about it.


    p.s.: And what he says V
    Last edited by Flowerew; 11-01-2010 at 05:00 AM.

  14. #14
    TOM_RUS's Avatar Legendary
    Reputation
    914
    Join Date
    May 2008
    Posts
    699
    Thanks G/R
    0/52
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    WinXP FTW. No ASLR - no problems

  15. #15
    Woweur's Avatar Corporal
    Reputation
    24
    Join Date
    Jan 2010
    Posts
    25
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just use GetModuleHandle + adress ...

Page 1 of 4 1234 LastLast

Similar Threads

  1. Replies: 1
    Last Post: 12-06-2010, 12:19 AM
  2. World of Warcraft Patch 4.0.1 PTR now live for testing!
    By Famous00 in forum World of Warcraft General
    Replies: 29
    Last Post: 11-07-2010, 09:32 PM
  3. How To Make a World Of Warcraft patch 2.0.8 Private Server Easy
    By InternetExplorer in forum WoW EMU Guides & Tutorials
    Replies: 0
    Last Post: 03-22-2008, 12:57 PM
  4. World of Warcraft Patch 2.3 Coming Next Week
    By warhoo in forum World of Warcraft General
    Replies: 10
    Last Post: 11-11-2007, 08:36 PM
  5. World of warcraft patch 1.12!
    By L'Lawliet in forum World of Warcraft General
    Replies: 5
    Last Post: 10-30-2007, 09:40 AM
All times are GMT -5. The time now is 10:10 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search