Android apk的反编译工作,让自己的app随便进入手机内的任何一个app

反编译的代码:

1、反编译代码首先去https://sourceforge.net/projects/dex2jar/files/下载一个dex2jar这个工具,目前的最新版本时2.0,下载后解压缩

2、把要反编译的apk包重命名为zip格式并解压缩,看到其中的classes.dex这个文件,它里面存放了全部的java代码,将这个文件复制到dex2jar解压后的根目录下

3、打开cmd,进入dex2jar解压后的目录,执行命令  d2j-dex2jar classes.dex 如下图:

命令执行完之后目录下回生成一个classes-dex2jar.jar的文件,

4、现在可以查看java代码了,不过还需要一个jd-gui的工具,去这里去下载:http://jd.benow.ca/,目前最新版是1.4.0,下载后解压缩,用jd-gui.exe打开上边反编译出来的jar文件:

现在已经顺利的编译出来了java代码

但是我没现在还是看不到资源文件,基本资源文件都是乱码,清单文件AndroidManifest.xml打开是这样:

现在我们对资源文件进行反编译

1、反编译资源文件,需要一个apktool的工具,可以去这里下载:https://ibotpeaches.github.io/Apktool/install/

进入下载页面,点击下载apktool.bat和apktool.jar这两个文件。目前最新的版本是2.3.3,把这两个文件放在一个文件夹里面

2、将要反编译的apk文件也放在这个文件夹下,打开cmd,用命令行进入apktool的文件夹目录,执行命令

java -jar apktool_2.3.3.jar d 您要反编译的文件名称.apk

 到这里命令行就执行成功了,这时会在当前目录下生产一个以反编译文件名一样的一个文件夹,例如test.apk 生成一个test的文件

 现在这个文件夹下res文件夹是反编译出来的资源文件,smail是反编译出来的所有代码,AndroidManifest.xml是反编译后还原后的清单文件,smali文件夹下的文件smali文件使用的是Android虚拟机所使用的寄存器语言,如果看的懂smail文件的话,就可以修改源代码的逻辑了

现在AndroidManifest.xml文件,就不是乱码了

 好了,现在我们要的包名和activity的包名都已经反编译出来了

最后用一段代码就可以进入一个新的app了

Intent intent1 = new Intent(Intent.ACTION_MAIN);
intent1.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName("目标app的包名", "目标APP的页面包名");
intent1.setComponent(cn);
startActivity(intent1);

OK,好了,我们需要的功能完成了,只限于记录,不喜勿喷!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值