Compare commits

..

No commits in common. "57fc53ebfbbbdc62681b091f03dd1dbfafc93b4a" and "b95a66468801fb5894ec99f59780078b0c5c1682" have entirely different histories.

5 changed files with 12 additions and 37 deletions

View file

@ -16,10 +16,10 @@
"source_path": "src/JSRF/Jet2.cpp" "source_path": "src/JSRF/Jet2.cpp"
}, },
"symbol_mappings": { "symbol_mappings": {
"?main_funcinfo@@3UFuncInfo@@A": "$T1112", "?main_funcinfo@@3UFuncInfo@@A": "$T747",
"?main_handler@@YAXPAUEHExceptionRecord@@PAKPAXPAU_xDISPATCHER_CONTEXT@@@Z": "$L1116", "?main_handler@@YAXPAUEHExceptionRecord@@PAKPAXPAU_xDISPATCHER_CONTEXT@@@Z": "$L751",
"?main_handler_unwind1@@YAXXZ": "$L1108", "?main_handler_unwind1@@YAXXZ": "$L743",
"?main_unwindmap@@3PAUUnwindMapEntry@@A": "$T1118", "?main_unwindmap@@3PAUUnwindMapEntry@@A": "$T753",
"[.rdata-0]": "[.xdata$x-0]" "[.rdata-0]": "[.xdata$x-0]"
} }
}, },

View file

@ -78,7 +78,7 @@ struct UnknownStatic19 {
}; };
struct UnknownStatic24 { struct UnknownStatic24 {
UnknownStatic24(); UnknownStatic24();
virtual ~UnknownStatic24(); virtual ~UnknownStatic19();
}; };
struct UnknownStatic27 { struct UnknownStatic27 {
UnknownStatic27(); UnknownStatic27();

View file

@ -28,7 +28,6 @@ typedef unsigned short WORD;
typedef unsigned long DWORD; typedef unsigned long DWORD;
typedef void VOID; typedef void VOID;
typedef void * PVOID;
typedef void * LPVOID; typedef void * LPVOID;
typedef unsigned long SIZE_T; typedef unsigned long SIZE_T;
typedef float FLOAT; typedef float FLOAT;
@ -56,26 +55,14 @@ typedef long HRESULT;
#define ERROR_SUCCESS 0L #define ERROR_SUCCESS 0L
#define E_OUTOFMEMORY 0x8007000EL #define E_OUTOFMEMORY 0x8007000EL
// Low-level stuff
typedef void (*IMAGE_TLS_CALLBACK)(PVOID DllHandle, DWORD Reason, PVOID Reserved);
struct IMAGE_TLS_DIRECTORY32 {
DWORD StartAddressOfRawData;
DWORD EndAddressOfRawData;
DWORD * AddressOfIndex;
IMAGE_TLS_CALLBACK * * AddressOfCallBacks;
DWORD SizeOfZeroFill;
DWORD Characteristics;
};
// Standard Win32 functions // Standard Win32 functions
VOID __stdcall Sleep(DWORD dwMilliseconds); VOID __stdcall Sleep(DWORD dwMilliseconds);
LPVOID __stdcall VirtualAlloc( LPVOID __stdcall VirtualAlloc(
LPVOID lpAddress, LPVOID lpAddress,
SIZE_T dwSize, SIZE_T dwSize,
DWORD flAllocationType, DWORD flAllocationType,
DWORD flProtect DWORD flProtect
); );

View file

@ -22,26 +22,14 @@ You'll need a few things to get a decompilation workflow ready:
your C++ code your C++ code
- You'll also want to add its `Bin/` directory to your `PATH` so that objdiff - You'll also want to add its `Bin/` directory to your `PATH` so that objdiff
can find it can find it
- If not on Windows, `CL.EXE` and friends can be passed to
[Wine](https://www.winehq.org) to run the compiler on other platforms
- The [Git](https://git-scm.com/) version control tool to clone and work on - The [Git](https://git-scm.com/) version control tool to clone and work on
this repository this repository
- [Java](https://jdk.java.net/archive/) 21 or later, as required by Ghidra.
You may already have it; Minecraft apparently provides Java 21, for instance.
Later versions should also work; 21 and 25 specifically have been confirmed
to work fine.
- The [Ghidra](https://github.com/NationalSecurityAgency/ghidra) reverse - The [Ghidra](https://github.com/NationalSecurityAgency/ghidra) reverse
engineering tool to analyze and browse the executable (version 12.0.3 is engineering tool to analyze and browse the executable
strongly recommended, as the extensions have releases for this exact version)
- The [XBE extension](https://github.com/XboxDev/ghidra-xbe) for Ghidra to - The [XBE extension](https://github.com/XboxDev/ghidra-xbe) for Ghidra to
import and analyze the JSRF executable (version will depend on your Ghidra import and analyze the JSRF executable
version; ideally it will match your Ghidra version, like
[12.0.3](https://github.com/XboxDev/ghidra-xbe/releases/tag/build-202602250354))
- The [delinker extension](https://github.com/boricj/ghidra-delinker-extension) - The [delinker extension](https://github.com/boricj/ghidra-delinker-extension)
for Ghidra to export object files from the executable (version again depends for Ghidra to export object files from the executable
on Ghidra version;
[v0.8.0](https://github.com/boricj/ghidra-delinker-extension/releases/tag/v0.8.0)
provides a download for Ghidra 12.0.3 specifically)
- The [objdiff](https://github.com/encounter/objdiff) code diffing tool to - The [objdiff](https://github.com/encounter/objdiff) code diffing tool to
compare your C++ code's compiled output to the delinked object files compare your C++ code's compiled output to the delinked object files

View file

@ -1105,7 +1105,7 @@
0x001d7b20 data undefined * SoundManager::vtable 0x001d7b20 data undefined * SoundManager::vtable
0x001da300 data undefined * UnknownObj_0x1DE2::vtable 0x001da300 data undefined * UnknownObj_0x1DE2::vtable
0x001da350 data undefined * UnknownObj_0x1DE4::vtable 0x001da350 data undefined * UnknownObj_0x1DE4::vtable
0x001e0c2c data IMAGE_TLS_DIRECTORY32 extern_"C"::_tls_used 0x001e0c2c data IMAGE_TLS_DIRECTORY_32 extern_"C"::_tls_used
0x001e0ea0 data float g_radToU16Angle1 0x001e0ea0 data float g_radToU16Angle1
0x001e0ea4 data float g_radToU16Angle2 0x001e0ea4 data float g_radToU16Angle2
0x001e0ea8 data float g_radToU16Angle3 0x001e0ea8 data float g_radToU16Angle3

Can't render this file because it has a wrong number of fields in line 3.