Android反编译-逆天的反编译
Jar包的反编译:
Java的世界是透明的,当编译java程序的时候,是将java源文件转成.class文件,java虚拟机去执行这些字节码从而得到执行java程序的目的。那么从.class文件能不能得到java源文件呢?答案是肯定的!如今就为大家推荐一款神器jd-gui.exe,界面例如以下图:
它能将.class文件转成java文件,就能看到源代码了!想copy代码的、想汉化的、想盗版的、想学习人家源代码的统统没问题!我们经常见到java中的jar包,通过这个工具能看到jar包中的详细实现,近期公司在做支付宝的手机支付,全部这里去看看支付宝提供的jar包,学习一下:
点击File后选择jar包就可以,出现界面例如以下:
那么就看到了支付宝手机jar包的源码了,比方Http请求对象、返回状态等等哪些。那么这不就看到了支付宝的数据封装了且不是泄密了吗?当然没有那么严重,支付宝那么多牛人,他们肯定早就知道了反编译会透明java代码了,所以这个jar包中的核心代码不是用java来实现的,任你怎么反编译也看不到详细的实现。
Android的反编译
Android应用程序是用java语言来写的,所以在反编译方面也跟java一样的。这里推荐一款android反编译工具ApkDec,该反编译工具将Apk直接分解成java源文件的jar包和资源文件,java源文件的jar包通过jd-gui.ext就能看到源代码,包含androidproject中引用的jar包中的源代码!资源文件直接打开就能够看到源代码。
假设某个Apk全然是用java写的,通过这个工具反编译之后就相当于全然开源了,这对商家的版权和商业机密是很不利的,所以建议在开发具有商业机密和高度保密的apk时,这些重要的部分用其它语言来实现,防止java反编译后被别人看出了端详,比方在android里面使用jni,重要的部分用C/C++去实现。即使是被反编译,也仅仅能看出接口,看不出详细的实现。
好了,详细就是这种。关于反编译工具,见例如以下地址:http://download.csdn.net/detail/main_stage/7477111
Android反编译-逆天的反编译的更多相关文章
- Android安全攻防战,反编译与混淆技术完全解析(下)
在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码.反编译资源.以及重新打包等内容.通过这些内容我们也能看出来,其实我们的程序并没有那么的安全.可能资源被反编译影响还不是很 ...
- Android安全攻防战,反编译与混淆技术完全解析(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值 ...
- Atitit.反编译apk android源码以及防止反编译apk
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...
- Android反编译(二)之反编译XML资源文件
Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具 apktool http ...
- Android反编译(一)之反编译JAVA源码
Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具 dex2jar http://code.go ...
- 转 谈谈android反编译和防止反编译的方法
谈谈android反编译和防止反编译的方法 android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项 ...
- 谈谈android反编译和防止反编译的方法(转)
谈谈android反编译和防止反编译的方法(转) android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的 ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- Android安全攻防战,反编译与混淆技术全然解析(下)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/50451259 在上一篇文章其中,我们学习了Android程序反编译方面的知识,包括 ...
随机推荐
- 已经上架的app(可供销售)在AppStore上搜不到的解决办法
这两天很是头大, 因为3天前手动发布的app到现在都还没在AppStore上看到,打了无数电话给苹果和发邮件给review团队. 下面说说怎么解决我们在iTunes后台看到是绿灯(可供销售)但是就是在 ...
- BestCoder Round #50 (div.1) 1003 The mook jong (HDU OJ 5366) 规律递推
题目:Click here 题意:bestcoder 上面有中文题目 分析:令f[i]为最后一个木人桩摆放在i位置的方案,令s[i]为f[i]的前缀和.很容易就能想到f[i]=s[i-3]+1,s[i ...
- randn命令中randn('state')和randn('seed')的不同
(1)RANDN产生正态分布数的语法: RANDN(N) :产生N× N的矩阵,其元素是按正态分布的数组: RANDN(M,N) and RANDN([M,N]):产生M×N的矩阵: RANDN ...
- 使用Sphinx生成静态网页
转载来自 http://www.ibm.com/developerworks/cn/opensource/os-sphinx-documentation/ 简介 Sphinx 是一种工具,它允许开发人 ...
- QT全平台设置图标,全平台静态编译 good
1. 概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...
- linux下java窗口,正确显示中文
Tip1 1.在 JAVA_HOME/jre/lib/fonts/ 下建立个目录 fallback 2.在 fallback 里弄个中文字体最简单ln一下就好了 比如: ln -s /usr/shar ...
- python爬虫实战2百度贴吧爬html
转自:http://blog.csdn.net/wxg694175346/article/details/8927832 import string, urllib2 #定义百度函数 def baid ...
- 具体解释EBS接口开发之WIP模块接口
整体说明 文档目的 本文档针对WIP模块业务功能和接口进行分析和研究,对採用并发请求方式和调用API方式分别进行介绍 内容 WIP模块经常使用标准表简单介绍 WIP事物处理组成 WIP相关业务流程 W ...
- java--多线程之Thread继承
多线程,是java的特殊机制.所谓线程就是程序执行的流程.“多线程”就是可以在同一时刻能够执行多个程序块(注意,是程序块,而不是程序),这样一来就可以使得程序的执行速度大大增加. package Te ...
- js判断IP js判断域名
<html> <head> <script language="javascript" type="text/javascript" ...