apk反编译

来源:互联网 发布:网络招生平台 编辑:程序博客网 时间:2024/06/05 00:17

使用apktool对apk文件进行反编译,

命令是:

 apktool d test.apk


对test.apk进行解压,得到一些图片和classes.dex文件

然后使用dex2jar对classes.dex文件进行反编译,


dex2jar classes.dex

或者

d2j-dex2jar classes.dex


得到.jar文件,然后使用jd-guid.exe工具对jar文件进行查看






apk编译代码混淆

对android项目中的project.properties该文件的

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

这句话取消注释

然后编译android项目即可对android项目的代码混淆

所有的类名和方法名都会被改变成a,b,c,d,e,f,g,h,i,j,k,m,l等等的名称,使得不怀好意的人们对代码查看分析加大了难度





apk部分方法防止反编译

反编译要求我们的android项目代码没有写错的,运行不会抛异常的情况下,反编译工具对apk文件可以有效的反编译,但是如果我们项目中故意出现运行会出错的代码,那么在反编译的时候这个类,或者这个方法,就不可以被有效的反编译,并且反编译完后,出错了






}








代码




void showMessage() {
switch (0) {
case 1001: 
String dateString = null;
boolean isClose = false;
JSONObject jsonObject;
try {
jsonObject = new JSONObject("");
dateString = jsonObject.getString("data");
isClose = jsonObject.getBoolean("isClose");
} catch (JSONException e) {
e.printStackTrace();
}
TTT.set(null, "", dateString);
break;
}
}




class TTT {
public static void set(Context context, String key, String value) {


}
}



0 0
原创粉丝点击