Académique Documents
Professionnel Documents
Culture Documents
:: Overview
This is a tool to extract information on an xex file. It will print out
xex information to the console, alter xex attributes, extract executable code
and other basefiles and create idc scripts files to help with disassembling
the extracted executable code.
Note: Any altered or created retail xex files will not be correctly signed.
:: Install
If you wish to run xextool from anywhere, copy the xextool.exe file to
a location in your path that is used for exe files. If you are not sure
you can check the %PATH% environment variable (type "echo %PATH%" from
the command line) or just copy it into your windows directory.
If you use the "Create IDC" feature of xex tool then you his tool is for researc
h purposes only.
It must not be used for commercial/illegal/pirate uses.
THIS WILL NOT MAGICALLY ALLOW YOU PLAY COPIED GAMES.
XexTool - xorloser
This tool is for research purposes only.
It must not be used for commercial/illegal/pirate uses.
THIS Wneed to copy
x360_imports.idc into your "IDA\idc" directory so that it will be found
by any IDC script that you run.
Usually the basefile is an executable file, however it can also be data file,
as seen with ximedic.xex from the xbox360 flash. When the basefile is an
executable file it is either an exe or dll, however it is not stored in its
normal exe or dll format but instead as a binary file.
Some of the xex header attributes are required, and others are optional. Some
of these attributes are things such as the regions the xex is made for and the
media the xex is allowed to boot from.
The basefile can be optionally encrypted using aes encryption. All contents
of the basefile are hashed and then rsa signed. Microsoft is the only one with
access to the private key required to sign xexs in order to allow them to boot
on a retail xbox360. A different key is used to sign xex files in order to
allow them to boot on a development xbox360 (aka devkit).
:: Usage
-l
-p
-b
-i
-d
-o
-a
-u
-s
-r
-m
-c
-e
-x
b
d
i
m
n
p
r
t
x
=
=
=
=
=
=
=
=
=
extract
extract
extract
extract
extract
extract
extract
extract
extract
:: Usage Examples
* Print basic info about an xex file to console:
xextool default.xex
* Print extended info about an xex file to console:
xextool -l default.xex
* Extract the executable basefile from default.xex into default.exe:
xextool -b default.exe default.xex
* Extract the executable file and create an idc script file from default.xex:
xextool -b default.exe -i default.idc default.xex
* Convert a retail xex into a development xex:
xextool -m d default.xex
* Convert a retail xex into a seperate development xex:
xextool -m d -o devkit.xex retail.xex
* Remove all region and media limits from an xex:
xextool -r mr default.xex
* Remove all limits and convert a retail xex into a devkit xex:
xextool -r a -m d default.xex
* Convert an xex into an unencrypted binary format:
xextool -e u -c b -o default-binary.xex default.xex
* Convert unencrypted binary xex back into an encrypted compressed xex:
:: Specifics
This tool enables you to do many things with an xex file if you understand
how to do so. Some usage examples are given above, but here is some more
detailed information on a few specific cases.
:: History
v6.3
* fixed an issue where some xex files would not boot such as kinect xex
files.
* changed the special patching to list and let you select which patches
to apply.
patches are done via bitflags so that multiple patches can be selected
in one go.
* changed the internal search and patch data for special patching of xam
and xbdm
to support all known versions of these files.
v6.1
* changed update patching to patch multiple device strings as well
as supporting unicode patching.
* updated IDC creation to produce similar results as when using the
xex loaders for IDA.
* updated the IDC creation to check if the file was loaded as a ppc bina
ry
and to stop and warn the user if not.
v6.0
* finally fixed the patching ability where the target file is smaller th
an
the source file. hopefully it is fixed properly :)
* fixed handling of bitfields in version structs (only affected big endi
an systems)
+ added support for natal/kinect related flags
+ added support for xex date restrictions
+ added support for xex console id restrictions
+ added support for xex device id restrictions
+ added support for xex keyvault privileges restrictions
+ added support for extra debug memory entry
+ added support for a few new xex flags and system partitions
v5.5
* i forget what changes were made... :P
v5.4
+ added the ability to alter a patched xex file to use files from it's g
ame
directory rather than requiring them to be inside a patch package file
.
+ added special xex specific patches for use on certain xex files
* finally fixed the compression problem that has existed since the first
release of this tool. (this only affected a very small number of xex f
iles)
v5.3
+ added xml output to stdout to make using XexTool from inside other
programs easier
+ added the ability to add a "bounding path" to an xex
v5.2
* fixed and updated the idc file creation
v5.1
* fixed struct changes that caused invalid library imports
v5.0
+ added patching ability, lets you do: source.xex + patch.xexp = target.
xex
+ added the ability to dump resources from an xex file
+ added "exports" and "exports by name" to idc file creation
+ added "sections" and "resources" to idc file creation
:: Greets
xor37h, for his initial version of xextool that started me working on this one
and gave me the first hints into the structure and layout of the xex file
format. tmbinc for also providing info that helped me get started and all the
others who tested, reported bugs, gave encouragement and provided info to
further improve this tool.
www.xorloser.com