Android应用程序破解

来源:互联网 发布:java中的多态 编辑:程序博客网 时间:2024/06/05 15:08
apktool1.5.2.jar
Android的反编译问题,在工作中有的时候要看看别的app的实现效果,用了哪些第三方就需要反编译了,专门花时间研究整理了一下,发现有的app居然是没有混淆的,难道这么有开源共享精神,表示很纳闷.

//反编译apk,编译重新构造apk的jar包
apk-signer-1.8.5.jar//给apk签名,正常都有,但
大家都流行不混淆吗,那么多app不混淆
是如果是用jar自己重新构造的就没有签名需要运行这个给签名
AXMLPrinter2.jar//反编译获取清单的工具jar


1.小知识:.一个运行jar包的命令
在控制台里输入java -jar apktool1.5.2.jar即可以运行这个apktool1.5.2.jar
所以找到要用的jar目录然后输入上面命令可以直接执行jar包

2.知识点
smail
可以运行在java虚拟机上的汇编语言(只是针对java的汇编语言,还是容易让别人看懂),smail语法很简单,还是可以看懂,所以核心的要用c写这样打包之后就是机器的汇编语言很难看懂的
sublime  安装smail插件,可以直接看到

3反编译常用工具
a.apktool工具反编译(一般混淆就没什么用了)  资源文件获取,可以提取出图片文件和布局文件进行使用查看
java -jar apktool1.5.2.jar test.jar
上面命令可以就可以反编译test这个项目了
参数解释:d用于反编译d用吗编译重新构造

b.jar修改成zip文件
这个只是可以获取到图片资源文件,剩下的文件都是编译过,看不到源代码的

c.只是反编译获取清单文件
首先把一个apk包修改成.zip结尾的获取到AndroidManifest.xml,拷贝这个倒一个文件夹里面
AXMLPrinter2.jar 将它放到一个文件夹中 运行cmd,进入那个文件夹目录,
运行java -jar AXMLPrinter2.jar AndroidManifest.xml >new AndroidManifest.xml 

d: dex2jar工具  将apk反编译成java源码(classes.dex转化成jar文件)
这个最重要,也是最有用的

将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内,

在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat   classes.dex效果如下:




e:jd-gui    作用:查看APK中classes.dex转化成出的jar文件,即源码文件
 


2.反编译常用的工具
http://blog.csdn.net/hyz4287010/article/details/7165740

4.重新构造,
http://www.jikexueyuan.com/course/84_4.html?ss=1(看视频,写的麻烦了)
重新构造就是把别人的代码反编译修改后重新编译打包,在签名,添加上自己想要的效果
第一:反编译java -jar apktool1.5.2.jar d test.jar
第二:修改代码......smail
第三:重新构造打包 java -jar apktool1.5.2.jar b 编译文件的路径  h.apk(编译过后的apk)
第四:(注意需要aap,需要设置这个环节变了aapt是构造一个Android程序需要的命令)
第五:签名执行java -jar apk-signer-1.8.5.jar (这个命令可以给一个没有签名的apk打包,也许有用)
0 0
原创粉丝点击