如何在反编译APK时隐藏android proguard中的java类和字符串

时间:2019-06-26 08:51:09

标签: android security proguard dex2jar

我正在做银行业务应用程序,我想保护我的代码。如何在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
}

0 个答案:

没有答案