Skip to content

Rayman Arena decompilation early WIP made possible with Frida, Ghidra, Clang tools, and brains.

Notifications You must be signed in to change notification settings

zZeck/raymanarenadecomp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a Rayman Arena decompilation project. The project uses Frida to replace routines in the game.

The process will be decompilation by Ghidra decompiler, edit into legal C++ (unless I can get Ghidra to output it), clean up with Clang tools, then finish by hand.

The code is C++ without classes or templates.

C++ will be used as enhanced C at least until completed, to make the binary easier to use for patches and to minimize work.

The plan is to focus on areas of the game of the most use for interesting modding first.

Since the project uses Frida for patching, this would allow interesting extensions before full completion.

Frida may also be used to fuzz the original routines, trace and capture game data, and compare or use this information with the reimplementation.

In the visual studio native tools command prompt (or similar environment):

Debug cl.exe /std:c++17 /Zi /LD patch.cpp /I\frida /link /OUT:arenadecomp.asi user32.lib Advapi32.lib Ole32.lib Shell32.lib IPHLPAPI.lib Ws2_32.lib frida/frida-gum.lib

Release cl.exe /std:c++17 /LD patch.cpp /I\frida /link /OUT:arenadecomp.asi user32.lib Advapi32.lib Ole32.lib Shell32.lib IPHLPAPI.lib Ws2_32.lib frida/frida-gum.lib

Use Ultimate Asi Loader, with rayman arena and put arenadecomp.asi into the plugins directory.

You may want to rename dinput8.dll from the asi loader to one of the other supported dll names. The controller patch for arena on the pcwiki replaces dinput8.dll

Releases

No releases published

Packages

No packages published

Languages