Skip to content

swfans/syndwars-re-helpers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

syndwars-re-helpers

Recovering symbols for the game Syndicate Wars by Bullfrog.

Overview

This repository contains binaries and symbols related to Syndicate Wars.

The purpose of gathering these is to name functions and global variables in the assemby blob within Syndicate Wars Port.

Content

  • bin folder contains executable files useful for the symbol recovery.

  • symbols folder contains the symbols, in a format which is not dependent on any specific RE tool. In particular, these files can be used both with IDA Pro and with Ghidra.

Binaries

Several binaries from Bullfrog are included. Some have debug symbols embedded in the EXE, some have additional debug messages within code.

There is also a modified version of wdump.exe which allows extracting debug info from binaries built with Watcom C++ compiler.

Symbols

Symbols are included in two formats:

  • map format is a very simple, basic format, based on log files generated by Microsoft compilers (though other compilers today have an option to generate MAP file as well). It is very easy to read and load into any disassembler; to load it into Ida Pro, use ida-pro-loadmap plugin.

  • xml format is developed for more complex sharing of symbols between Ida Pro and Ghidra. Use Ghidra IDAPro Extensions to load them into any of these tools.

Quick start - ghidra or IDA Pro

Here is a simple quick start procedure, to use these files with IDA Pro or ghidra - the two most popular tools (sorry BinaryNinja fans!).

  1. Download ghidra. Yes, even if you want to use IDA Pro. The ghidra distribution includes XML exporter plugin, which can be used to export databases as XML files so that they can be imported into both tools. This allows to migrate between these disassemblers, both ways.

  2. [IDA Only] Add the XML exporter plugin to your IDA installation. To do that, locate the .py files in the <ghidra_dir>/Extensions/IDAPro folder. Get IDA Pro version which the exporter supports, it does not support all versions. Then copy the python script files into <IDA_dir>/plugins.

  3. [ghidra Only] Install Java JDK which your version of ghidra supports, and then install ghidra. I'm serious, check the JDK version carefully, or this will not be as quick as you expect.

  4. [ghidra Only] Install ghidra LX/LE loader extension using 'File -> Install Extensions...'. Download it in a version which works with your ghidra, on the ghidra-lx-loader project releases page.

  5. Open the proper binary executable file from bin folder into your tool of choice. That's 'File -> Open' within IDA Pro, 'File -> Import File...' in ghidra. Both tools should now detect LE format. You may skip analysis as the XML replaces everything. Then use XML importer plugin to load the .xml file from symbols folder.

  6. Done. You're ready to go.

Have a fascinating experience!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages