[APP]如果你想反编译

Posted 冷情绪的喵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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

以上是关于[APP]如果你想反编译的主要内容,如果未能解决你的问题,请参考以下文章

反编译受保护的 C# [关闭]

反编译protobufs-net的bin文件

如何从 google play store 反编译一个 android 应用程序

android app怎么防止反编译

java decompiler如何去掉行号

反编译APP