[APP]如果你想反编译

反编译,主要用到两类工具,一个就是获取apk包的包名(appPackage)和类名(appActivity)的工具,其实就是反编译出java源代码,dex2jar和jd-gui;一个是将一个apk包反编译然户加入自己签名,修改一些参数,让它更好的用于自动化测试的apptoools,下面简单介绍这两个工具的使用:

一、dex2jar和jd-gui

1、下载APK,修改APK后缀名为zip并解压该zip文件;

2、打开文件夹找到classes.dex文件,并把他复制到dex2jar文件夹下面,在cmd命令行中执行dex2jar.bat classes.dex命令,得到classes_dex2jar.jar文件;

3、打开jd-gui,选择open file 找到反编译文件classes_dex2jar.jar,就可以得到包名和类名

 

二、apptool

反编译命令:apptool.bat -d -o E:/test/ test.apk  反编译test.apk文件到E:test目录下  

回编译命令:apptool.bat -b -o E:/test/ test1.apk 回编译E:/test目录下文件为test1.apk

反编译完之后是根据smaile修改底层源码

res是apk相关资源,重新打包之后签名还是原来的,对于自动化来说是不可以的,所以还需要重新签名。

 

三、重新签名

1、自己用eclipse生成一个签名文件debug.keystore

也可以自己生成一个签名,命令如下:keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000

2、按照二中,然后删除MANIFEST文件夹;

3、重签名:

JARSIGNER -VERBOSE -KEYSTORE %KEYSTORE_NAME% -STOREPASS %KEYSTORE_STOREPASS% %TEMP_PREFIX%%%I %KEYSTORE_ALIAS% -KEYPASS %KEYSTORE_KEYPASS% -DIGESTALG SHA1 -SIGALG MD5withRSA

四、其他

查看精简信息  apkhelper

查看签名信息 keytool -list -v -keystore apkname

posted @ 2016-11-17 08:10  Amberly  阅读(697)  评论(0编辑  收藏  举报