XenonAnalyse not outputting a TOML table
Hi, I ran the XenonAnalyze program twice and I'm a little confused why it isn't outputting the file to the declared directory. Is the context wrong?
#6 is the same issue, i found the solution to be not putting an output directory and to put a name for the toml file i.e. XenonAnalyse F:\isos\Guitar-Hero-WOR\default.xex WOR.toml <---- running this should give you a toml file named WOR.toml in the directory of xenonanalyse
Hello. I've tried to do as masterspike52 said, but there was no .toml file output into the folder of XenonAnalyse. But, you should give a try not to give a .toml extension at the end of the WOR in CMD. Example:
XenonAnalyse F:\isos\Guitar-Hero-WOR\default.xex WOR
The .toml file will be generated automatically into the XenonAnalyse folder as a .toml file without specified extension, that you can later rename it from WOR.file to WOR.toml
Hope this helped. Thank you.
Hey @sstephiL I see that you are trying to recompile MCLA. Have you had any success in a full recompilation? If so, what steps did you take?
I would still like to know what stage you are at and how you reached it even if you haven't fully recompiled it yet. This game is definitely one of the most unoptimized pieces out there (even trying to run it on RPCS3 is a nightmare).
Had the same issue. Spent like an hour investigating, for some reason if you build the project using gcc compiler with MCF threads, xenonanalyse is not working as expected. I deleted old mingw64 with mcf threads and replaced it with mingw64 with POSIX threads. I also used ninja to build the project. Here is the screenshot of how i configured and built this -
@sstephiL In my case I get the empty .toml like this :
I've tried using ghidra, but I'm lost on this step.
I've set the beginning of the search on mine default.xex "Entry Point: 0x82238148", from there I've searched for the mtctr, and found some of them (wasn't able to find any followed by the bctr), and that's where I start to get lost again:
I need to know if this is the correct approach first?
Then, how am I supposed to know exactly where the start is and where to finish with? What's enough? How much info is required to make this TOML.
Also getting more info regarding the following, what does it actually mean?
Is there any good tutorial explaining exactly what to look for? What file do I need to alter, based on what values, to make XenonAnalyse produce a filled .toml?
Hey @sstephiL I see that you are trying to recompile MCLA. Have you had any success in a full recompilation? If so, what steps did you take?
I would still like to know what stage you are at and how you reached it even if you haven't fully recompiled it yet. This game is definitely one of the most unoptimized pieces out there (even trying to run it on RPCS3 is a nightmare).
Hello @sunnad99. While I wish that this was true, I have to admit that I am not working on MCLA right now. However, I am experimenting with functions and objects in ghidra. Maybe someone with much more experience will finish this one before me, which I strongly believe so.
Have a good day my friend.
@sstephiL In my case I get the empty .toml like this :
I've tried using ghidra, but I'm lost on this step.
I've set the beginning of the search on mine default.xex "Entry Point: 0x82238148", from there I've searched for the
mtctr, and found some of them (wasn't able to find any followed by thebctr), and that's where I start to get lost again: I need to know if this is the correct approach first? Then, how am I supposed to know exactly where the start is and where to finish with? What's enough? How much info is required to make this TOML. Also getting more info regarding the following, what does it actually mean?
Is there any good tutorial explaining exactly what to look for? What file do I need to alter, based on what values, to make XenonAnalyse produce a filled .toml?
Hello @magnetic1192. Try to https://community.wemod.com/t/tut-how-to-decrypt-a-xex/1132, eg decrypt your .xex file then do it from XenonAnalyse. Follow the tutorial from the link and check if .xex is compressed first before doing anything else.
@sstephiL It's been completely decrypted already.
Would you be able to document your full Ghidra process/experience from the beginning to the end with your .xex file? Like creating simple notes with screenshots. Like a guide/tutorial, every step taken until you finally complete it. Even if you're not doing it here, maybe on your Git page. Personally I had more success finding instructions with IDA than with Ghidra. Too overwhelmed with the complexity of the program itself, plus the fact that the output I get from the same file, feels completely different, maybe it's because I'm a noob with no experience at all. First ever attempt on doing something like this. But it's kinda of cool to learn it, and depressing at the same time.
FOUND IT! Now I've got no idea what to do.
@sstephiL It's been completely decrypted already.
Would you be able to document your full Ghidra process/experience from the beginning to the end with your .xex file? Like creating simple notes with screenshots. Like a guide/tutorial, every step taken until you finally complete it. Even if you're not doing it here, maybe on your Git page. Personally I had more success finding instructions with IDA than with Ghidra. Too overwhelmed with the complexity of the program itself, plus the fact that the output I get from the same file, feels completely different, maybe it's because I'm a noob with no experience at all. First ever attempt on doing something like this. But it's kinda of cool to learn it, and depressing at the same time.
FOUND IT! Now I've got no idea what to do.
Hi, I have the same problem, what can you tell me.
@sstephiL In my case I get the empty .toml like this :
I've tried using ghidra, but I'm lost on this step.
I've set the beginning of the search on mine default.xex "Entry Point: 0x82238148", from there I've searched for the
mtctr, and found some of them (wasn't able to find any followed by thebctr), and that's where I start to get lost again: I need to know if this is the correct approach first? Then, how am I supposed to know exactly where the start is and where to finish with? What's enough? How much info is required to make this TOML. Also getting more info regarding the following, what does it actually mean?Is there any good tutorial explaining exactly what to look for? What file do I need to alter, based on what values, to make XenonAnalyse produce a filled .toml?
Hello @magnetic1192. Try to https://community.wemod.com/t/tut-how-to-decrypt-a-xex/1132, eg decrypt your .xex file then do it from XenonAnalyse. Follow the tutorial from the link and check if .xex is compressed first before doing anything else.
I also have empty files, maybe I compiled the program wrong xex is not encrypted.
i spend like 3 days trying to understand the logic of the code and i managed to make XenonAnalyse to work, at least in the game I'm working on (Battlefield 2 Modern Combat), when i was watching all the values that XenonAnalyse read i found out that some part of the code was skipping the Base Address of the game giving wrong values and unable to analyse the code so to fix that i changed a little bit the code and it worked, i'm a total noob, i never worked as programmer or something and i don't understand how github works, so i'm putting my fix here, i hope it helps someone else.
P.D: I'm not a native English speaker, i'm so sorry for my poor english.
First you just need to open xex.cpp and look around the line 190-200, rewrite the code as i did and compile
the important lines of code are image.base = security->loadAddress; and the conditionals.
@sstephiL It's been completely decrypted already. Would you be able to document your full Ghidra process/experience from the beginning to the end with your .xex file? Like creating simple notes with screenshots. Like a guide/tutorial, every step taken until you finally complete it. Even if you're not doing it here, maybe on your Git page. Personally I had more success finding instructions with IDA than with Ghidra. Too overwhelmed with the complexity of the program itself, plus the fact that the output I get from the same file, feels completely different, maybe it's because I'm a noob with no experience at all. First ever attempt on doing something like this. But it's kinda of cool to learn it, and depressing at the same time.
Hello @magnetic1192. Try to https://community.wemod.com/t/tut-how-to-decrypt-a-xex/1132, eg decrypt your .xex file then do it from XenonAnalyse. Follow the tutorial from the link and check if .xex is compressed first before doing anything else.
I also have empty files, maybe I compiled the program wrong xex is not encrypted.
Try my fork to see if it works to generate the TOML info for you: https://github.com/Nitch2024/XenonRecomp If it does not work let me know.