如何彻底防止反编译,dex加密怎么做( 四 )

直接在壳程序的Application中的onCreate方法中进行就可以了 。这里还可以看到是通过AndroidManifest.xml中的meta标签获取源程序APK中的Application对象的 。下面来看一下AndroidManifest.xml文件中的内容:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name="com.example.packapk.ProxyApplication"><meta-data android:name="APPLICATION_CLASS_NAME" android:value=https://www.isolves.com/it/cxkf/ydd/Android/2019-09-04/"com.example.sourceapk.MyApplication"/>这里我们定义了源程序APK的Application类名 。项目下载
运行程序
下面就看看程序的运行步骤:

  • 第一步:得到源程序APK文件和壳程序的DEX文件 运行源程序和壳程序项目,之后得到这两个文件(将壳程序的classes.dex文件改名为SourceApk.dex),然后使用加密工具进行加壳 。
  • 第二步:替换壳程序中的classes.dex文件 我们在第一步中得到加壳之后的classes.dex文件之后,将其与PackApk.apk中的原classes.dex文件替换 。
  • 第三步:在第二步的时候得到替换之后的PackApk.apk文件,这个文件因为被修改了,所以我们需要重新对它签名,不然运行也是报错的 。签名之后的文件就可以运行了,效果如下:

如何彻底防止反编译,dex加密怎么做

文章插图
 
转发+私信,可以免费获取Android面试资料




推荐阅读