mirror of
https://codeberg.org/KeybadeBlox/JSRF-Decompilation.git
synced 2026-04-07 04:50:23 +03:00
Compare commits
4 commits
b95a664688
...
57fc53ebfb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57fc53ebfb | ||
|
|
da6865e5f6 | ||
|
|
3e8622f369 | ||
|
|
8fc7d8d918 |
5 changed files with 37 additions and 12 deletions
|
|
@ -16,10 +16,10 @@
|
|||
"source_path": "src/JSRF/Jet2.cpp"
|
||||
},
|
||||
"symbol_mappings": {
|
||||
"?main_funcinfo@@3UFuncInfo@@A": "$T747",
|
||||
"?main_handler@@YAXPAUEHExceptionRecord@@PAKPAXPAU_xDISPATCHER_CONTEXT@@@Z": "$L751",
|
||||
"?main_handler_unwind1@@YAXXZ": "$L743",
|
||||
"?main_unwindmap@@3PAUUnwindMapEntry@@A": "$T753",
|
||||
"?main_funcinfo@@3UFuncInfo@@A": "$T1112",
|
||||
"?main_handler@@YAXPAUEHExceptionRecord@@PAKPAXPAU_xDISPATCHER_CONTEXT@@@Z": "$L1116",
|
||||
"?main_handler_unwind1@@YAXXZ": "$L1108",
|
||||
"?main_unwindmap@@3PAUUnwindMapEntry@@A": "$T1118",
|
||||
"[.rdata-0]": "[.xdata$x-0]"
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ struct UnknownStatic19 {
|
|||
};
|
||||
struct UnknownStatic24 {
|
||||
UnknownStatic24();
|
||||
virtual ~UnknownStatic19();
|
||||
virtual ~UnknownStatic24();
|
||||
};
|
||||
struct UnknownStatic27 {
|
||||
UnknownStatic27();
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ typedef unsigned short WORD;
|
|||
typedef unsigned long DWORD;
|
||||
|
||||
typedef void VOID;
|
||||
typedef void * PVOID;
|
||||
typedef void * LPVOID;
|
||||
typedef unsigned long SIZE_T;
|
||||
typedef float FLOAT;
|
||||
|
|
@ -55,14 +56,26 @@ typedef long HRESULT;
|
|||
#define ERROR_SUCCESS 0L
|
||||
#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
|
||||
VOID __stdcall Sleep(DWORD dwMilliseconds);
|
||||
|
||||
LPVOID __stdcall VirtualAlloc(
|
||||
LPVOID lpAddress,
|
||||
SIZE_T dwSize,
|
||||
DWORD flAllocationType,
|
||||
DWORD flProtect
|
||||
DWORD flAllocationType,
|
||||
DWORD flProtect
|
||||
);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,14 +22,26 @@ You'll need a few things to get a decompilation workflow ready:
|
|||
your C++ code
|
||||
- You'll also want to add its `Bin/` directory to your `PATH` so that objdiff
|
||||
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
|
||||
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
|
||||
engineering tool to analyze and browse the executable
|
||||
engineering tool to analyze and browse the executable (version 12.0.3 is
|
||||
strongly recommended, as the extensions have releases for this exact version)
|
||||
- The [XBE extension](https://github.com/XboxDev/ghidra-xbe) for Ghidra to
|
||||
import and analyze the JSRF executable
|
||||
import and analyze the JSRF executable (version will depend on your Ghidra
|
||||
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)
|
||||
for Ghidra to export object files from the executable
|
||||
for Ghidra to export object files from the executable (version again depends
|
||||
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
|
||||
compare your C++ code's compiled output to the delinked object files
|
||||
|
||||
|
|
|
|||
|
|
@ -1105,7 +1105,7 @@
|
|||
0x001d7b20 data undefined * SoundManager::vtable
|
||||
0x001da300 data undefined * UnknownObj_0x1DE2::vtable
|
||||
0x001da350 data undefined * UnknownObj_0x1DE4::vtable
|
||||
0x001e0c2c data IMAGE_TLS_DIRECTORY_32 extern_"C"::_tls_used
|
||||
0x001e0c2c data IMAGE_TLS_DIRECTORY32 extern_"C"::_tls_used
|
||||
0x001e0ea0 data float g_radToU16Angle1
|
||||
0x001e0ea4 data float g_radToU16Angle2
|
||||
0x001e0ea8 data float g_radToU16Angle3
|
||||
|
|
|
|||
|
Can't render this file because it has a wrong number of fields in line 3.
|
Loading…
Add table
Add a link
Reference in a new issue