marzika/Snapprefs

Faster obfuscation updates to match SC?

Opened this issue · 4 comments

I noticed that you've had the next set of obfuscation fixes in the repository for around a week now, but haven't updated the module APK so a lot of features don't work for those that has snapprefs installed even if the fixes have been made.

Is there a potential alternative method of handling the obfuscation strings so that they can be released/integrated into the app quicker?

Perhaps an online source (doesn't even have to be an API, toss json files onto github pages and tell the app to check the repo daily) with string names and known-blacklisted features for every supported version of SC, that way you can release those outside of the app lifecycle for faster updates and if a certain snapchat change turns out to crash snapprefs, you have a way of remotely disabling that feature so it keeps working.

I'm not sure if xposed will work with dynamic strings as hook class/method names, but just an idea.

I think it's actually a decent idea.
It should work, as hooking takes place when SC package is loaded, long after system's. Database could be updated and stored in Snapprefs anyway.

https://github.com/iHelp101/XInsta

The Xinsta (Xposed Instagram module) uses a hook method. Maybe this helps to get an idea how to implement such function.

We will work on implementing it, putting it here just a reminder:

  • Use .json format
  • Move every hook into initHook
  • Check for files in /assets/ and /sdcard/Snapprefs/Hooks
  • If found, initialize hooks, if not found query the server for the hooks
  • If the server returns without error save the response and offer to restart SC (force close it), else offer to downgrade

When faster obfuscation is implemented, is it then possible to have all versions of the previous supported snapschat versions listed and then the user could choose the version he/she is using?

Maybe make the hook updater automated at the end so it will automatically create the newest hooks to the newest version of the snapschat.