Page 2 of 2

Re: [Request] Rockman X Dive

Posted: Sun Jul 17, 2022 10:02 am
by Ash
can you reupload this one please? just the inf hp would be enough for story mode

Re: [Request] Rockman X Dive

Posted: Wed Jan 11, 2023 1:36 pm
by xduduhao
v5.0.0

Re: [Request] Rockman X Dive

Posted: Thu Jun 15, 2023 1:04 pm
by kazukiwoof
any chance to see a table before this game finally dies off?

Re: [Request] Rockman X Dive

Posted: Thu Aug 03, 2023 5:26 pm
by KyleB873
Since this game is EoSing, I've taken it open myself to take it apart since now it's actually not total greed shit with the buffed rate and whatnot.

If you know how to use this, then you know. And yes, it really is this simple. for the CE users, just flip the bool the same way.

Code: Select all

    // Bypass AC
    [HarmonyPrefix, HarmonyPatch(typeof(PlayerHelper), nameof(PlayerHelper.SetUseCheatPlugin))]
    static bool SetUseCheatPlugin(PlayerHelper __instance, LoginToServerRes res)
    {
        Traverse.Create(__instance).Field("CheatPlayer").SetValue(false);
        
        return false;
    }

I'll probably make an actual plugin later.

I'm also going to fuck with the logic in PlayerNetManager and see how that goes. Judging by how badly this is all coded and the hilariou AC/ban system, I have no doubt the server doesn't verify much of anything beyond currencies/pulls most likely.

Also, no IL2CPP. Incredible.

edit:
Image
Image

No web socket connection, this is offline. I've hooked and rewritten some of the PlayerNetManager stuff, and honestly, with enough work it could probably just be made offline entirely. I'll poke at it until I get bored or it gets too hard probably.

edit 2:
So, while directly hooking and trying to rewrite things was interesting, it became quite a mess pretty quickly. I decided to throw together a quick local server and so far, so good. They use three layers on the protocol: LZ4, AES and base64.

Re: [Request] Rockman X Dive

Posted: Fri Aug 04, 2023 2:11 pm
by Xerslash
KyleB873 wrote:
Thu Aug 03, 2023 5:26 pm
edit 2:
So, while directly hooking and trying to rewrite things was interesting, it became quite a mess pretty quickly. I decided to throw together a quick local server and so far, so good. They use three layers on the protocol: LZ4, AES and base64.
Ngl, I don't know anything about the technical terms you just used but I read *local server* and that would be hellaaaa cool. Any plans to release a quick tutorial or some sort that would help low-brein players like me to play?

This would be cool to have as we can have the chance to play crossover characters that would not be available on the offline version set to be released this year.

Re: [Request] Rockman X Dive

Posted: Sat Aug 05, 2023 12:26 am
by KyleB873
Xerslash wrote:
Fri Aug 04, 2023 2:11 pm
KyleB873 wrote:
Thu Aug 03, 2023 5:26 pm
edit 2:
So, while directly hooking and trying to rewrite things was interesting, it became quite a mess pretty quickly. I decided to throw together a quick local server and so far, so good. They use three layers on the protocol: LZ4, AES and base64.
Ngl, I don't know anything about the technical terms you just used but I read *local server* and that would be hellaaaa cool. Any plans to release a quick tutorial or some sort that would help low-brein players like me to play?

This would be cool to have as we can have the chance to play crossover characters that would not be available on the offline version set to be released this year.
The way it's made right now, it can be dropped inside your MMXD Steam folder and it'll just redirect everything to a locally running server for yourself, you don't have to do anything else. Basically, the server is embedded inside of a BepInEx plugin which also performs the necessary patching to redirect the Zone hosts along with a few other things like bypass the AC.

And yeah, while I'm happy about the offline version, I just KNOW they're gonna fuck it up and mess around with stuff, also yeah, the crossover chars... so I'm gonna just pursue this anyway with that assumption. Also, I'm coming off Destiny Child's EoS where their Memorial offline client update is just a shit gallery with no game, so I'm expecting MMXD Offline to be similarly low effort in many areas.

Once I figure out this stupid login flow issue with the client calling login multiple times for some reason and I can get to the home screen, I'll move things to Github.

Also, if this game has any sort of development/modding community Discord or something, please advise me. I'd like to get together with others who'd be interested in modding/hacking the game, including who could maybe help me test this out and work on it more if it gets anywhere too. If no such thing exacts, perhaps I should make one. I imagine as EoS comes people will want to stick together who are interested in preservation of the game.

edit:
I have located said community.

Re: [Request] Rockman X Dive

Posted: Sun Aug 06, 2023 9:36 pm
by KyleB873
[Link], this game's code is so fucking horrible I am dying inside. I can provide info on how things work, but man, this shit is... ugh, interns galore, bad arch, privates everywhere uselessly making injection hell without Traverse spam, and still absolutely no clue why the client is losing it's mind over simple login.

Re: [Request] Rockman X Dive

Posted: Thu Aug 24, 2023 12:47 pm
by Kito
KyleB873 wrote:
Thu Aug 03, 2023 5:26 pm

Code: Select all

    // Bypass AC
    [HarmonyPrefix, HarmonyPatch(typeof(PlayerHelper), nameof(PlayerHelper.SetUseCheatPlugin))]
    static bool SetUseCheatPlugin(PlayerHelper __instance, LoginToServerRes res)
    {
        Traverse.Create(__instance).Field("CheatPlayer").SetValue(false);
        
        return false;
    }
Actually there's no need to do HarmonyPatching.
You could do this upon Injection and Dispose the Anti Cheat:

Code: Select all

namespace ReiHook {
    public class ReiLoader : MonoBehaviour {
        public static GameObject pLoader;
        public static void ReiAyanami() {
            CodeStage.AntiCheat.Detectors.InjectionDetector.Dispose();
            CodeStage.AntiCheat.Detectors.ObscuredCheatingDetector.Dispose();
            CodeStage.AntiCheat.Detectors.SpeedHackDetector.Dispose();
            CodeStage.AntiCheat.Detectors.TimeCheatingDetector.Dispose();
            CodeStage.AntiCheat.Detectors.WallHackDetector.Dispose();

            pLoader = new GameObject();
            pLoader.AddComponent<UI.Menu>();
            pLoader.AddComponent<Features.Player.Health>();
            pLoader.AddComponent<Features.Visuals.ESP>();
            pLoader.AddComponent<Features.Miscellaneous.AntiBan>();
            DontDestroyOnLoad(pLoader);
        }
    }
}
You can also do this if your player is flagged as Cheater:

Code: Select all

public static PlayerHelper PlayerHelperInstance {
	get {
		return PlayerHelper.Instance;
	}
}

Code: Select all

if (PlayerHelperInstance.CheatPlayer == true) {
	PlayerHelperInstance.CheatPlayer = false;
}