Skip to content

txt231/FBTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FBTools

This is a Hex-Rays IDA plugin (7.2) for Frostbite games, and is really only useful for people reversing frostbite games.

The plugin used IChooseYou's FBTools plugin as a base, you can find it on unknowncheats.me frostbite engine section, and maybe also wiki. Most stuff this plugin uses is custom, and barely has any original code from ICY left.

I dont like the way i did the TypeFactory, but its not that bad and works allright. Probably isnt even a factory by programming terms.
Should probably have some interface like thing instead for this.

Supported/Not supported:

  • Frostbite 2
    • Tested:
      • bf3 release (32 bit)
  • fb2013
    • Tested:
      • bf4 (64 bit)
    • Not tested:
      • bf4 (32 bit)
  • fb2014
    • Tested:
      • MEC Closed Beta
      • bf1
    • Not tested:
      • early bfv
      • NFS Rivals
  • fb2017
    • Not tested:
      • anthem closed alpha
  • fb2018
    • Tested:
      • late bfv

maybe some more games i didnt test

Some stuff to do

  • Add dumpers
  • Finish ida struct stuff (Actions/CreateTypes.h)

Some Features

  • Print types to ida output
  • Rename typeinfo with mangled names
  • Find message handlers
  • Rename message vtables, and some related functions

Some Ideas maybe (old stuff)

  • Automatically rename typeinfo with mangled names
  • rename default instance if it has one
  • create local ida type from field data (seems annoying with the ida sdk docs)

  • dump to FBT or cpp format

  • rename message vtables(might have an issue with base messages...)
  • rename message constructors, and seperate defaultmessage constructor (works but is a bit broken)
  • rename message handler functions (has an issue as of now...)

Installing

  1. Copy dll
    a. Copy Bin/FBTools64.dll to ida plugin dir (for 64 bit support)
    b. Copy Bin/FBTools.dll to ida plugin dir (for 32 bit support)

  2. Run IDA!

Compiling

This should work:

  1. Load this project into VisualStudio (i use 2019 for now)

  2. Fix ida sdk paths in solution settings (Make sure you have right configuration and platform!)

    • VC++ Directories -> Include Directories
    • VC++ Directories -> Library Directories (Seems to be some extra stuff here, might be able to remove that (damn vs))
  3. Compile

Usage

In the toolbar you will have a new entry "FBTools"

"image showing it"

once typeinfo is found, more options are aded in this submenu!


Credits:

  • jd62 (some fb2018 stuff)
  • ICY
  • Reunion (bf4 sdk)
  • Some guy on uc for ptr fix code (not used)

Also credits to anyone else involed i guess

Authors:

  • txt
  • ICY (used as a base)

About

Tool for ida for frostbite...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published