GithubHelp home page GithubHelp logo

tubbz-alt / overwatch-dump-fix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from changeofpace/overwatch-dump-fix

0.0 0.0 0.0 567 KB

x64dbg plugin which removes anti-dumping and obfuscation techniques from the popular FPS game Overwatch.

License: GNU General Public License v3.0

C++ 22.46% C 77.23% Python 0.31%

overwatch-dump-fix's Introduction

Overwatch Dump Fix

This x64dbg plugin removes anti-dumping and obfuscation techniques from the popular FPS game Overwatch. It is meant to be used with Scylla (built into x64dbg) to produce process dump files for static analysis.

This plugin can be used to dump most modern Blizzard games. e.g., It can be used to dump World of Warcraft Classic.

This project is for educational use only.

Usage

x64dbg Commands

  • OverwatchDumpFix

Scylla

Users must enable the Use advanced IAT search setting in the Misc section of Scylla options.

  1. Open Scylla in x64dbg's Plugins menu.
  2. Open the options dialog from the Misc menu.
  3. Enable the 'Use advanced IAT search' setting in the bottom right corner.

x64dbg

  1. Attach x64dbg to Overwatch.exe then execute the OverwatchDumpFix command.
  2. Open Scylla in x64dbg's Plugins menu then select Overwatch.exe in the "Attach to an active process" drop-down list.
  3. Click IAT Autosearch.
  4. A dialog box will inform the user that the IAT search advanced result does not match the normal search result. Click Yes.
  5. Verify that the address of the VA field in the IAT Info region matches the address of the IAT found in the log tab.
  6. Click Get Imports.
  7. Click Dump to create a dump file.
  8. Click Fix Dump and select the dump file from (7) to reconstruct imports.
  9. The Scylla output view should say "Import Rebuild success [FILE PATH]".
  10. Click PE Rebuild and select the fixed dump file.

IDA Pro

  1. Open the dump file in IDA. Check the Manual load and Load resources (optional) boxes. Click OK / Yes for every prompt.
  2. Run the Universal Unpacker Manual Reconstruct plugin for the IAT to set imports to the correct color.
  3. Happy reversing ๐Ÿ˜Ž.

Warning

The Overwatch process patches the byte at the address of ntdll!DbgBreakPoint from a software breakpoint instruction (0xCC) to a return instruction (0xC3) to prevent debuggers from attaching.

This plugin patches the byte at the address of ntdll!DbgBreakPoint in the virtual address space of the debuggee to '0xCC' if that byte is not '0xCC'. This byte is checked inside every CREATE_PROCESS_DEBUG_EVENT debug event (i.e., whenever x64dbg attaches to a process).

Version History

Release v6 (2019.04.09)

  • The plugin now restores the software breakpoint at ntdll!DbgBreakPoint inside the CREATE_PROCESS_DEBUG_EVENT debug event. Users should now be able to attach x64dbg to overwatch.exe without needing ScyllaHide.

Release v5.1.0 (2019.03.16)

  • Replaced capstone disassembler with hde.
  • Updated instructions to reflect requirement of the Scylla 'Use advanced IAT search' setting.

Release v5.0.2 (2018.06.17)

  • Removed post-build event.
  • Removed process name check in 'CBCREATEPROCESS' to allow the plugin to be executed for other games.

Release v5.0.1 (2017.05.23)

  • Updated for Overwatch version 1.11.1.2.36859.
  • The import address table is no longer terminated by two null pointers. The second null has been replaced with a pointer to a 'ret 0' instruction.

Notes

  • This plugin is tested while offline on battlenet.

overwatch-dump-fix's People

Contributors

changeofpace avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.