2

I am modifying the Dolphin Emulator Alpha for android, but I'm having some trouble with a string in it's smali code. The value I am having trouble with is dolphin-emu, it is the name of the folder that houses the emulators data and files. So far I have olny found two files containing the string, a configuration file in the assets folder, and a smali script. The issue is that even afyer changing both strings to Dolphin Emulator, the folder is still generated as dolphin-emu. I have scoured the application for any other references to this string and cannot find any more. How is the folder being generated with this name if I have replaced the string that represents it?

I am using APK Editor Pro to modify the app, this is the method I almost always use. I've been modding android apps for years and have modded hundreds of them, but this one has me truly stumped. I've used every method I have developed over the years to hunt it down and nothing works. Using the built-in search function, I have searched for these strings to see if it is "split" or possibly even hidden:

"dolphin-emu"
"dolphin
"/dolphin
emu"
emu/"
"DOLPHIN-EMU"
ect...

Nothing else turns up, the app is not obfuscated or protected, and I can't find anything else that could potentialy hold the string I am trying to mod. Initially this was about simply changing the value, but now I just want to figure out how this is happening. Even uninstalling then re-installing after modifying the APK did not work, I thought that it may be possible for a settings file in the apps data folder to "remember" where the folder was stored. I've never had this much trouble locating and modifying a string in an app before.

2
  • isn't the project open source?
    – Igor Skochinsky
    Commented Aug 16, 2017 at 10:11
  • Yes, but even still, knowing what causes this is very perplexing to me and I would like to find out how to modify the string in the current build. I'll tinker with the source to see If I can trace the source there in the mean time. Commented Aug 16, 2017 at 10:14

1 Answer 1

1

After I did some more digging in the APK, I found what handles the fylesystem for the emulator. It is the libmain.so binary. Because it is handled by this file, modifying it is next to imposdible, this is because .so files are akin to windiws .dll binaries and are signed. Since modifying the file is not really an option, the only alternative answer to changing the emulators filesystem is to re-build it from the source code.

The values were located using a hex editor.

This is the first instance I have found something like this in an android app. Usually modifying file paths can be achieved through decompiling and modifying the DEX. Because of this, looking into the .so binaries was the last place I looked.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.