Erel,
We have been using the Release Obfuscated to compile our .apk's.
One of my staff, decompiled the .apk and was readily able to read ALL of the code including "secret" keys.
I am very concerned about this.
In our code (for example) we store encryption keys:
Code:
We compile it obfuscated...
We use Dex2Jar on classes.dex; This creates a jar file; Then we use JD-gui to de-compile the jar; the results are:
Code:
Is there anything we can do to hide this further?
Alternatively, is there a process to "share" encryption keys from tablet to PC server that might be more secure?
Thanks,
Rusty
We have been using the Release Obfuscated to compile our .apk's.
One of my staff, decompiled the .apk and was readily able to read ALL of the code including "secret" keys.
I am very concerned about this.
In our code (for example) we store encryption keys:
Code:
B4X:
Sub Class_GlobalsDim Keys AsList
Keys.Initialize
Keys.add(ArrayAsByte(...,...,...))
Keys.add(ArrayAsByte(...,...,...))
Keys.add(ArrayAsByte(...,...,...))End Sub
We compile it obfuscated...
We use Dex2Jar on classes.dex; This creates a jar file; Then we use JD-gui to de-compile the jar; the results are:
Code:
B4X:
publicString _class_globals()
throws Exception
{
this._vv1 = new List();
this._vv1.Initialize();
this._vv1.Add(new byte[] { ...,...,...});
this._vv1.Add(new byte[] { ...,...,... });
this._vv1.Add(new byte[] { ...,...,... });return"";
}
Alternatively, is there a process to "share" encryption keys from tablet to PC server that might be more secure?
Thanks,
Rusty