JMBQ / Honkai_Impact_3rd_menu_mod

适用于 崩坏3rd 的菜单模块
115 stars 18 forks source link

About source Mod Menu #8

Closed thienha1 closed 1 year ago

thienha1 commented 1 year ago

Can you share your source code Mod Menu that make this can bypass Sign Verification in-game? I tried a lot of methods on the Internet and still got failed after that. Specially libArcher and libSaber, i think your place in assets folder instead of Libs folder could be a reason...

JMBQ commented 1 year ago

I'm glad you asked about signatures. The source code is not shared for now. I have also researched the signature checks for this game and some servers will check the lib directory and apk signature, most likely the META-INF directory and will not check the assets directory. You can verify what I said by the following. First create direct package A using my method, delete the META-INF directory of direct package A, then copy the META-INF directory of the original package into the direct package and turn it into direct package B. The most important thing is that you can't sign the direct package B, then bypass the system signature verification to install the direct package B. Running the game should no longer be judged as an unofficial installer. Finally can you tell me which is your game server, I need to check if it really has a signature check

thienha1 commented 1 year ago

SEA Server, yeah i can follow your instruction but im going to make mod menu from https://github.com/LGLTeam/Android-Mod-Menu then apply your idea into my mod apk and i got a problem. First, this project has mentioned that compile apk then copy libs from mod apk into original apk, compare with your that only 2 files copy into assets (exclude dex) and dunno how to make them. So can you tell me that how to make mod menu without copy lib files as mentioned?

JMBQ commented 1 year ago

You can get the answers from my smali files

thienha1 commented 1 year ago

You can get the answers from my smali files

I checked your smali files, special Main.smali but i could see that function will call LibSaber and LibArcher in assets folder but I really want know how to create both files in that folder. Could you share some trick with this? Mine think after create mod apk then rename lib so files to lib files and move to assets folder, dunno it could work or not..

JMBQ commented 1 year ago
File file = new File(context.getFilesDir().getAbsolutePath() + File.separator + fileName);
if (!file.exists() || file.length() == 0) {
    FileOutputStream fos = new FileOutputStream(file);
    InputStream inputStream = context.getAssets().open(fileName);
    int len;
    byte[] buffer = new byte[1024];
    while (-1 != (len = inputStream.read(buffer))) {
        fos.write(buffer, 0, len);
    }
    fos.flush();
    inputStream.close();
    fos.close();
}
thienha1 commented 1 year ago
File file = new File(context.getFilesDir().getAbsolutePath() + File.separator + fileName);
if (!file.exists() || file.length() == 0) {
    FileOutputStream fos = new FileOutputStream(file);
    InputStream inputStream = context.getAssets().open(fileName);
    int len;
    byte[] buffer = new byte[1024];
    while (-1 != (len = inputStream.read(buffer))) {
        fos.write(buffer, 0, len);
    }
    fos.flush();
    inputStream.close();
    fos.close();
}

So I need copy your code then paste in MainActivity.java? And it same as System.LoadLibrary(LibMod)?

JMBQ commented 1 year ago

you need to copy it to files folder from assets and load it