我正在做银行业务应用程序,我想保护我的代码。如何在android studio中实现它。
即使我在反编译APK时获取Java字符串,我也添加了minifyenabled true
我将classes.dex提取到Java类中。
如何隐藏我的java类或一些字符串。请帮助我。
解压缩文件后:我正在获取完整的Java代码:示例代码已附加
((JSONObject)localObject2).put("user", "Admin");
((JSONObject)localObject2).put("password", "Bala@1234");
((JSONObject)localObject2).put("date", localObject1);
((JSONObject)localObject2).put("secretKey", "KALAI");
((JSONObject)localObject2).put("urlName", this.b);
localObject1 = String.valueOf(localObject2);
localObject2 = new StringBuilder();
((StringBuilder)localObject2).append("notEncoded1******");
((StringBuilder)localObject2).append("Admin:Bala@1234");
Log.i("RR", ((StringBuilder)localObject2).toString());
localObject2 = new StringBuilder();
((StringBuilder)localObject2).append("notEncoded2******");
((StringBuilder)localObject2).append((String)localObject1);
Log.i("RR", ((StringBuilder)localObject2).toString());
localObject2 = new StringBuilder();
((StringBuilder)localObject2).append("Basic ");
((StringBuilder)localObject2).append(this.k.a("Admin:Bala@1234"));
this.i = ((StringBuilder)localObject2).toString();
this.j = this.k.a((String)localObject1, "KALAI");
注意:我正在应用程序中进行加密和解密,我将盐存储在常量文件中,正在另一页中调用该盐值。因此它会显示Java代码中的文本。
我的gradle文件:
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.mbanking.cedge.cedge"
minSdkVersion 20
targetSdkVersion 28
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dataBinding {
enabled = true
}