谈谈android反编译和防止反编译的方法(转)

谈谈android反编译和防止反编译的方法(转)

android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原。

因此开发人员如果不准备开源自己的项目就需要知道怎样防止反编译和反编译他人的项目来学习。

2.3版本以上在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”可以对代码进行混淆,反编译后是很难看懂的。

2.3之前的SDK版本也没关系,把上面的proguard.cfg文件复制一份放到项目中,然后进行相同的操作即可。

有些应用反编译后java代码用jd-ui根本都无法打开,连混淆的代码都看不到的,本人尝试多次都做不到,希望知道的告知下怎么处理的。

注意:上面的功能只是把java代码混淆了,xml和资源文件、图片并没有混淆,有些游戏应用图片比较重要需要转换成dat文件 再加上自己的加密解密算法还原。

另外加了混淆功能后还有压缩的功能,混淆后的apk比原来的小(具体比例看你的代码重复量了)

说完防止反编译再来说说怎么反编译吧

先说一下反编译的流程和原理:

1.用apktool 把apk--> 资源包(java代码变成smali文件看不懂的),可以修改资源包里面的文件。

2.apk后缀名改成zip或rar解压,获取 classes.dex 文件,用dex2jar转换成jar包(注:直接解压出来的资源文件是不能直接打开的,要用第一步的反编译工具)。

3.用jd-ui等java反编译工具直接查看java代码。

4.把java代码和第一版的资源包整到一起重新组成一个新的应用。

5.用apktool 重新编译。

6.用签名工具重新签名。

7.重新发布带新的签名的应用。

注:如果不用改java代码,只是换换风格和汉化2.3.4步则不用做。

google code上的开源项目

apktool http://code.google.com/p/android-apktool/

dex2jar http://code.google.com/p/dex2jar/

另外有人做了个工具套装,集成了apktool dex2jar jd-ui,不过我下载了运行不了 不知道是不是相应环境没有配对导致的

hackapk http://code.google.com/p/hackapk/

另外有人把apktool做了个封装 弄成exe文件 图形界面的方便使用,截个图出来给大家看看吧

注:上面那个软件不能签名的,要用另外一个软件(APKSign)来进行签名,截图如下:

另给出上面两个工具的下载连接 机锋论坛上面的,估计直接点击连接下载不了

Xwindows,带图形界面: apktool.rar (3.33 MB)  -->这个下载后可以自己到 http://code.google.com/p/android-apktool/ 下载最新版的apktool.jar替换原来的。

签名工具:Auto-sign.rar(312.45 KB)

另外还有些命令行的工具,本人给APK编辑器不同版本上面的说明不对应浪费了很多时间

1.普通apk文件(就是从各种网站上下载下来的第三方软件)

(1)把他放到place-apk-here-for-modding文件夹里面。(不要有空格和中文,中文的改成英文的)

(2)打开Script.exe,在CMD窗口中输入22或23(设置目前的工程),选择要编辑的apk文件的编号,回车确认

如上:有些版本设置目前的工程选项改成23了,但说明文件没有改过来,按22一直都无法选择apk,原因很不好找。

建议还是使用图形界面。

时间: 2024-07-30 17:53:18

谈谈android反编译和防止反编译的方法(转)的相关文章

转 谈谈android反编译和防止反编译的方法

谈谈android反编译和防止反编译的方法 android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项目就需要知道怎样防止反编译和反编译他人的项目来学习. 2.3版本以上在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”可以对代码进行混淆,反编译后是很难看懂的. 2.3之前的SDK版本也没关系,把上面的proguard

Android反编译工具介绍与简单实用方法

Android反编译工具介绍与简单实用方法 Android反编译的目的无非就是为了看到APK的xml.资源和代码: 得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar classes.dex classes.jar生成jar文件 --> [可选的解压jar文件] -->使用XJad或者JDCompiler查看源代码 得到XML的方式: 方式1:直接解压APK文件 --> 通过axmlprinter工具查看XML文件(这种方

【转】Android开发之反编译与防止反编译

Android开发之反编译与防止反编译 防止反编译是每个程序员的必修课,因为当你辛辛苦的研发一个应用,被人家三下五除二给反编译了,是一件多么尴尬的事啊.那么如何防止反编译啊?这里就用Google Android自带的代码混编的方式来防止反编译.孙子兵法中讲得好:“知彼知己百战不殆”,所以在讲解防止反编译之前,先让我们了解一下如何反编译一个应用. 一.反编译Android应用 实验环境: Windows8.1企业版.dex2jar-0.0.9.9 反编译工具包: Android反编译工具包(升级版

Android apk反编译 和 防止反编译

反编译: 反编译内容来源: http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看.下面是我参考了一些文章后简单的教程详解. (注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好

Android反编译-逆天的反编译

Jar包的反编译: Java的世界是透明的,当编译java程序的时候,是将java源文件转成.class文件,java虚拟机去执行这些字节码从而得到执行java程序的目的.那么从.class文件能不能得到java源文件呢?答案是肯定的!如今就为大家推荐一款神器jd-gui.exe,界面例如以下图: 它能将.class文件转成java文件,就能看到源代码了!想copy代码的.想汉化的.想盗版的.想学习人家源代码的统统没问题!我们经常见到java中的jar包,通过这个工具能看到jar包中的详细实现,

Android安全攻防战,反编译与混淆技术完全解析(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值得骄傲的事情.不过单纯从技术角度上来讲,掌握反编译功能确实是一项非常有用的技能,可能平常不太会用得到,但是一旦真的需要用到的了,而你却不会的话,那就非常头疼了.另外既然别人可以反编译程序,我们当然有理由应该对程序进行一定程度的保护,因此代码混淆也是我们必须要掌握的一项技术.那么最近的两篇文章我们就围

反编译classes.dex的工具和方法

Dex是Android系统中可以在Dalvik虚拟机上直接运行的文件格式.java源代码经过ADT的复杂编译后转换成Dex文件,这是一个逐步优化的过程.Dex文件的指令码就是Dalvik虚拟机专有的一套指令集,专门为嵌入式系统优化过,相比标准java的.class文件,它体积小,运行效率高.纯手打! 反编译classes.dex的工具和方法 需要两个工具baksmali.jar和smali.jar,电脑需配置好java环境 Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalv

iOS开发——装逼技术精选&关于反编译和防止反编译

关于反编译和防止反编译 反编译 内购破解 iOS应用需防反编译风险之一:插件法(仅越狱).iTools工具替换文件法(常见为存档破解).八门神器修改 网络安全风险 iOS应用需防反编译风险之二:截获网络请求,破解通信协议并模拟客户端登录,伪造用户行为,对用户数据造成危害 应用程序函数PATCH破解 iOS应用需防反编译风险之三:利用FLEX 补丁软件通过派遣返回值来对应用进行patch破解 源代码安全风险 iOS应用需防反编译风险之四:通过使用ida等反汇编工具对ipa进行逆向汇编代码,导致核心

(转)unity3D 如何提取游戏资源 (反编译)+代码反编译

原帖:http://bbs.9ria.com/thread-401140-1-1.html 首先感谢 雨松MOMO 的一篇帖子 教我们怎么提取 .ipa 中的游戏资源.教我们初步的破解unity3d资源的基本方法附上原帖的链接:http://www.xuanyusong.com/archives/2584 下面我会从头介绍一下提取的全过程: 步骤一:首先从 https://github.com/ata4/disunity/releases 下载 DisUnity v0.3.1也可以直接用工具下载