前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

Android反编译方法 - 51CTO.COM 首页技术频道51CTO旗下网站地图 社区:学院下载论坛博客更多 网络 安全 开发 数据库 服务器 系统 虚拟化 云计算 嵌入式 移动开发 51CTO.COM CIOage.com WatchStor.com HC3i.cn 灵客风LinkPhone 首页 | Android | iOS | Windows Phone | BlackBerry | webOS | Symbian | bada | OPhone | 其他 您所在的位置:移动开发 > Android > Android编译 > Android反编译方法 Android反编译方法 2011-05-31 14:52 佚名 论坛 字号:T | T 反编译主要的目的在于学习,利用反编译进行相关的汉化或修改,还是尽量不要吧,毕竟人家写个程序不容易啊!参考内容如下。 AD: 对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,类似Sun JavaMe的Jar压缩格式一样,不过比较去别的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些我们自己编写的跟踪程序。Google最然在Android Market上设置了权限保护app-private文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取到需要的文件。 具体方法如下: 一:所需工具(点击各自连接进入下载页面): AXMLPrinter2.jar dex2jar: 查看Jar包的GUI工具 二,开始行动 1.用AXMLPrinter2.jar查看apk中的布局xml文件: 将apk文件(为了方便起见放到tools目录里)用WinRAR等工具打开,将res/layout/main.xml解压出来(也还是放在tools目录里哦) 打开main.xml文件,内容如下(一堆天文): 498)this.width=498;' onmousewheel = 'javascript:return big(this)' height="317" alt="" width="500" border="0" src="http://images.51cto.com/files/uploadimg/20110531/1507000.jpg" /> 这时候AXMLPrinter2.jar派上用场了,打开cmd终端,一直进入到tools目录下,输入如下命令: java -jar AXMLPrinter2.jar main.xml > main.txt. (如下图所示) 498)this.width=498;' onmousewheel = 'javascript:return big(this)' height="190" alt="" width="500" border="0" src="http://images.51cto.com/files/uploadimg/20110531/1507001.jpg" /> 2:通过dex2jar工具进行反编译。 把apk中的class.dex拷贝到dex2jar.bat所在目录。运行dex2jar.bat class.dex,将会在其文件夹下生成classes.dex.dex2jar.jar。 498)this.width=498;' onmousewheel = 'javascript:return big(this)' height="400" alt="" width="600" border="0" src="http://images.51cto.com/files/uploadimg/20110531/1507002.jpg" /> 3、可以将jar文件重新命名后拷贝到GUI文件夹下,运行JD-GUI工具(它是绿色无须安装的),打开上面的jar文件,即可看到源代码。 498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="width: 576px; height: 500px" height="500" alt="" width="600" border="0" src="http://images.51cto.com/files/uploadimg/20110531/1507003.jpg" /> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <WebView android:id="@+id/apk_web" android:layout_height="wrap_content" android:layout_width="fill_parent" /> </LinearLayout> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="1" android:layout_width="-1" android:layout_height="-1" > <WebView android:id="@7F050000" android:layout_width="-1" android:layout_height="-2" > </WebView> </LinearLayout> 【编辑推荐】 反编译Android部署程序 Android程序反编译的方法 Android 多任务多线程断点下载 Android Activity和Intent机制学习笔记 【责任编辑:李程站 TEL:(010)68476606】 原文:Android反编译方法 返回移动开发首页 分享到: --> 收藏|打印|复制 给力 (0票) 动心 (0票) 废话 (0票) 专业 (0票) 标题党 (0票) 路过 (0票) 关于Android 反编译 方法 的更多文章 测试测试开发多玩家 Android 游戏时如何处理连接问PhoneGap开发实践:豆瓣音乐人App过半 Android 设备运行 Jelly Bean 系统 Android 4.X 应用与开发实战手册(第2版)--适用Android 4.X~2.X 本书以Android 4.X进行开发示范,通过大量图示与step by step方[详细] 栏目热门 更多>> 同期最新 更多>> 反编译Android部署程序 Android程序反编译的方法 Android 目录结构分析 Android在代码中如何使用SD卡 使用ListView 显示数据 移动开发 频道导航 平台 移动Web|Android|iOS|Windows Phone 应用 移动应用|移动团队|应用商店|专题汇总|Phone Club 观察 业界观察|调查数据|移动信息化 Android 热点|资讯|基础|多媒体|数据库|设计|工具|编译 热点推荐 Android开发应用详解 那些性感的让人尖叫的程序员 HTML5 下一代Web开发标准详解 高性能WEB开发应用指南 Ubuntu开源技术交流频道 热门标签: windows频道移动开发云计算objective-ctp-link路由器设置图解html5 专题 网站移动化工具SiteApp指南 本专题介绍了SiteApp的优势以及如何使用SiteApp来移动化你的网站。 App营销之ASO应用商店优化攻略云推送移动互联网的太极推手 文章排行 本月本周24小时 21个免费的UI界面设计工具、资源及网站 在Eclipse下搭建Android开发环境教程 人人都是开发者:5款傻瓜式APP开发工具 应用宝升级 腾讯如何定位开放平台? Xcode使用教程详细讲解 (上) 图文并茂 在MyEclipse 8.6上搭建Androi Objective-C基础语法快速入门 多图详解 “Android UI”设计官方教程 面对绯闻:滴滴打车与快的打车保持沉默 盘点十大iOS动作冒险游戏 应用宝升级 腾讯如何定位开放平台? 创业的小伙伴们,这么“作死”你家投资 Android SDK上手指南:知识测试 人品差的科技创业者都成了富翁 揭秘一个你所不知道的暗黑游戏圈 云端文件夹+淘宝账户打通 酷盘3.0发布 多看阅读Web Reader推对开式阅读,让We 解析张小龙的O2O革命:建立“点对点” 移动广告就是Banner和弹窗 美国广告商 风靡扁平化设计 酷盘iOS支持淘宝账户登 我们的开源项目:网易和京东如何拥抱开 国产自主可控的操作系统横空出世? 360年会周鸿祎讲话:2014年360要reboot 微米:新浪微博的秘密武器? 应用宝升级 腾讯如何定位开放平台? Palm兴衰史:从Palm到webOS 苹果联合创始人沃兹:极客与人生 Android 5.0将成为下一个里程碑 从Google收购Nest抓智能硬件“痛点” 笑尿:12306后台技术的亮点 热点专题 更多>> Web App开发最佳实践 Web App开发中会面临越来越“重”的问题,如果在开始 Android开发常见“疑 作为Android开发者,最头疼是什么?相信大家会异口同 8大APP给你完美情人节 七夕,是让人听起来就觉得美好的日子,牛郎织女鹊桥相 热点标签 iOS开发 Android开发 Symbian开发 MeeGo开发 BlackBerry开发 Windows Phone开发 Phone Club Android 4.0 webOS 3.0 智能手机 软件下载 点击这里查看样刊 全站热点 云计算时代 需要怎样的加密保护 重启万兆环境下的WEB防护新思路 App营销之ASO应用商店优化攻略 微软鲍尔默时代即将谢幕 做好移动App的开发策略 今年全球数据中心建设支出近1500亿美 毛渝南为HP中国区董事长 向惠特曼汇 读书 Linux服务器安全策略详解 Linux主要用于架设网络服务器。如今关于服务器和网站被黑客攻击的报告几乎每天都可以见到,而且随着网络应用的丰富多样,攻击的 Linux环境下C编程指南 Visual C# 2005从入门到精通 框架设计(第2版)CLR Via C# Expert C# 2005 Business Objects中文版 博文推荐 更多>> nowpaper Windows Phone专家 himi Android开发专家 【宅软发布】CLMaster v1.0 (Cue转码 Windows下完成端口移植Linux下的epoMicrosoft Excel 2010--迷你图读《富爸爸 穷爸爸》有感 最新热帖 更多>> 通用WAP网站生成系统(PowerDiamond) 八类大学毕业生求职时不受欢迎IT人为什么难以拿到高薪?【转帖】想去外企上班 51CTO旗下网站 领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone