android apk如何反编译和如何防止反编译
来源:互联网 发布:linux apache2 php7 编辑:程序博客网 时间:2024/05/21 12:41
android反编译
第一:准备工作:
1:下载反编译工具:apktool dex2jar jd-gui
apktool:反编译获取纲xml文件,读取应用程序的资源文件
dex2jar:把classes.dex文件转换成jar文件
jd-gui.exe:把jar文件转换成java文件
官方下载网址:
apktool官方下载网址:http://code.google.com/p/android-apktool/downloads/list
dex2jar官方下载网址:http://code.google.com/p/dex2jar/downloads/list
jd-gui官方下载网址:http://jd.benow.ca/
2:配置环境变量(为了使用方便,不需要每次都进入apktool和dex2jar的目录)
如:配置adb(方便使用adb命令) ; 配置apktool (方便使用apktool d file.apk命令) 配置dex2jar(方便使用dex2jar.bat file.apk)
下面是我的配置:
D:\Android\adt-bundle-windows-x86-20131030\adt-bundle-windows-x86-20131030\sdk\platform-tools;D:\Android\apkTool;D:\Android\apkTool\dex2jar;
如本人电脑配置截图:
第二:反编译XML文件
1:反编译:命令说明:apktool d file.apk
apktool d为反编译命令,其中d代表decode
2:编译打包:(重新把修改过的文件打包为APK格式)
打包命令为:apktool b Ganji(Ganji为刚才的文件夹名称)
重新编译完成后,DJ文件夹内会新增一个dist文件夹,里面的DJ.apk文件就是重新编译好的apk
安装包,签名后即可安装。
第三:反编译classes.dex文件
1:先把Ganji.apk重命名为Ganji.rar,直接解压得到classes.dex,运行下面命令得到classes_dex2jar.jardex2jar.bat file.apk
2:把得到的classes_dex2jar.jar,用jd-gui打开就可以啦。
第三:如何防止我们的代码被反编译
1:关键代码使用jni调用本地代码,用C或C++编写,因此相对比较难于反编译。
2:代码混淆:混淆代码是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
网上开源的java代码混淆工具比较多,一般是用ant的方式来编译的。
- android apk如何反编译和如何防止反编译
- Android如何防止apk程序被反编译和Android如何反编译apk
- 浅谈Android反编译和如何防止反编译
- Android apk如何防止反编译和如何快速有效的反编译别人的Apk
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- android中如何防止apk被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- Android如何防止apk程序被反编译
- VS2013如何设置显示代码行号
- DAX
- PowerDesigner设计概念模型
- XML工具封装类
- npm install 使用国内代理
- android apk如何反编译和如何防止反编译
- 学习字符驱动编程模笔记
- 添加工具栏和工具栏按钮添加图片
- js------数组
- SPI协议简介
- socket阻塞与非阻塞,同步与异步、I/O模型
- PHP json_encode() 函数介绍
- 2014-03-31工作日志:如何判断两个字符串是否相等且不区分大小写?
- Windows 用来定位 DLL 的搜索路径