StringCare/AndroidLibrary

Can the plugin obfuscate string resources names?

Narvelan opened this issue · 6 comments

<string name="free_version_string" hidden="true">Бесплатная версия</string>

2018-03-13_180452
If not, do you plan to add such functionality? It may be very usefull to protect app

Attributes can't be obfuscated. Why?
Attributes define properties for values (Strings, Colors, Layouts..).
Specifically name attributte is used on IDE (i.e. Android Studio) as an identifier:

String msg = getString(R.string.my_message);
@LayoutRes int activityLayout = R.layout.main_activity;

When applications are compiled, every resource has an int value (0x7f0e00fa in your code) in R.java class which acts as the res identifier and names aren't visible anymore.

image
@efraespada All string res names are visible in apk analyzer =( In compiled apk file
string names a good hint to hackers to find needed int value in code

Great info @Narvelan, it will be implemented 🤗​

Thank you very much @efraespada, when is it possible to expect the implementation of this function?)
I was going to manually rename each string names, I hope I'll wait for new SC version and I do not have to do this

And how can I donate to support of the project, maybe PayPal transfer?

@Narvelan currently I'm finishing a stable version of RotorLab and I hope to start fixing issues here in one or two weeks.
I prefer coding contribution which is better for the community 😅​
Would you like to work as collaborator? All plugin integration is done and the unique change to do is in FileUtils class.

Thanks for the suggestion, unfortunately my level is not enough yet, I started writing on Java for android not long ago (before that I wrote on Delphi). I looked at FileUtils class and I'm afraid I do not know what changes there should be made for these improvements. If there were more comments explaining what the code does, it is possible it would be easier