前往Shuct.Net首页

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

关于反编译的搜索

ApkTool反编译和重新打包--观星小孩的文章--CFANZ社区--IT技术分享网站 CFANZ 文章 图库 文库 视频 小组 成员 注册 登录 收藏(0) 推荐(1) 关注(113) 回应(0) ApkTool反编译和重新打包 发布者:观星小孩 他的主页 关注的信息 收藏的信息 推荐的信息 参加的群组 时间:2013-04-24 09:48:02 有时会需要反编译APK,各人有各人的原因,你都懂的…… 准备工作: 下载APKTool,通过下面这个连接进行下载,https://code.google.com/p/android-apktool/downloads/list windows下只需要下载这两个文件包即可:apktool1.5.2.tar.bz2和apktool-install-windows-r05-ibot.tar.bz2 分别解压到到一个方便操作的目录下,然后就可以通过控制台进行操作了,当然前提是你配置已经有了JAVA环境,这个网上一搜一大堆,就不赘述了。 反编译: 把要反编译的APK文件放到跟APKTool四个文件的同一个目录下; 打开控制台,跳到该目录(例如是C:\Windows),执行: cd C:\Windows 然后执行: apktool d apkname.apk foldername apkname.apk 表示要进行反编译的APK文件,foldername表示反编译后文件存放的目录,即在当前目录下会自动建一个新目录存放(如:C:\Windows\foldername) 执行完上面语句后,如果没有出现错误提示,则成功反编译了,找到foldername目录,打开smali目录即为反编译出来的字节。 但我在执行上面语句后,却出现了错误提示: Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x010300dd 根据提示描述是找不到资源文件,应该是要反编译的APK文件用到了系统的一些资源。 解决办法: 从手机中导出framework-res.apk文件,该文件是/system/framework下面,把这个文件拷到跟apkTool同一个目录下,执行以下语句把资源文件加进来: apktool if freagmework-res.apk 执行完以后就可以把framework-res.apk导进来。此时再执行apktool d即可以正常反编译了。 由于反编译出来的是字节码,所以想修改软件逻辑就需要知道一点字节码的知识,可以看这里:寄存器、类型、函数和成员、操作符号。 在这里列举几个常用的逻辑符号的对应smali语法: 符号 smali语法 == if-eq != if-ne equals if-eqz !equals if-nez 修改完代码逻辑后,就要重新打包成APK文件了: apktool b foldername 其中foldername即放反编译结果的目录,执行成功后会在该目录的dist目录下有一个重新打包后的apk文件。 当然我在重新打包时出现了错误提示: Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN otExist: apktool.yml 从字面上理解就是找不到apktool.yml这个文件,如果在执行apktool d后能正常反编译,在目录中是会存在apktool.yml文件的,我之所以出现这个错误,是因为在反编译时出现了上面提到的“资源找不到”错误后,我看到反编译出了字节码,就没有理会它导致的。 好啦,到此就成功打包了一个新的apk文件了,但还不要高兴得太早,该文件是一个没有签名的apk,有了解过android的应该都知道,没有签名是无法安装的。那就要重新为该文件签一下名了。把你的签名文件和apk拷到同一个目录下,然后执行以后语句即可: jarsigner -verbose -keystore wendy.keystore -signedjar wendy_signed.apk wendy.apk wendy.keystore 这里输入wendy.keystore即你的签名文件名称,文件wendy.apk,最终生成wendy_signed.apk为Android签名后的APK执行文件。 大功告成!!! 参考文章: http://blog.creke.net/786.html http://blog.csdn.net/caszhao/article/details/6030425 http://danqingdani.blog.163.com/blog/static/1860941952012103041246686/ http://blog.csdn.net/wenhaiyan/article/details/5520964 Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x010300dd 标签: ApkTool反 编译 重新 相关信息 更多 android-- apktool反编译工具使用详解 关于apk反编译的一些命令 rcp(插件来发)Eclipse下的Java反编译插件 android Application的防反编译Proguard和应用签名 android反编译之投机主义 Android APK反编译详解 Android APK反编译详解(附图) APK反编译备忘 Android apk安装包反编译过程 unix like系统的android反编译工具 MyEclipse反编译Class文件的实现 反编译工具JAD.exe使用,在MyEclipse 10 添加jadclipser 插件 防止JAVA字节码反编译问题解决方案 java加密保护(防止反编译和防止拷贝) APK反编译工具 Eclipse反编译插件JadEclipse {#if $T.total > 0 && $T.page {#foreach $T.data as r} {$T.r.formt_tm}{#if $T.r.nickname}{$T.r.nickname}{#else}匿名{#/if} {$T.r.content} {#/for} {#if $T.page > 1 && $T.pageNum > 1) 1 ? $T.page -1 : 1}">上一页 {#/if} 1 {#if $T.s_num > 2} ... {#/if} {#for index = $T.s_num to $T.e_num} {$T.index} {#/for} {#if $T.pageNum > $T.pageNavSize+ 2 && $T.s_num != $T.pageNum - $T.pageNavSize} ... {#/if} {#if $T.pageNum > 1} {$T.pageNum} {#/if} {#if $T.pageNum != $T.page && $T.pageNum > 1} 下一页 {#/if} {#/if} 您的回应... 提交 也许你感兴趣 换一批 心事子在01月05日8时14分分享的荷图片 来自:图片 关注度:6 一季度楼市或将出现“倒春寒”? 来自:文章 关注度:6 享受每一刻,珍爱每一天,因为时光总是在你意识到之前就已经悄无声息地流走了。 来自:图片 关注度:6 Wi-Fi无线网络“努力记” 来自:文章 关注度:6 靓丽的色彩配上舒适的触感,这椅子不错哦~~ 来自:图片 关注度:6 粉色花瓣 来自:图片 关注度:6 Mysql 主从数据库同步详解 来自:文章 关注度:6 使用Lock实现互斥(synchronized的一个替代) 来自:文章 关注度:6 菜鸟学mysql之左右连接、内连接 来自:文章 关注度:6 Android的文本和输入---复制和粘贴(一) 来自:文章 关注度:6 fail2ban 的使用 来自:文章 关注度:6 架构设计师与SOA 来自:文章 关注度:6 在window下使用linux工具 来自:文章 关注度:6 Jquery中使用setInterval和setTimeout 来自:文章 关注度:6 重建二叉树 来自:文章 关注度:6 新iPad vs Nexus 7暴力跌落测试:亲儿子完胜 来自:文章 关注度:6 WPF-11:WPF触发器 来自:文章 关注度:6 MySQL中Utf8_general_ci 和 utf8_unicode_ci的区别 来自:文章 关注度:6 开源视频编辑平台 Kaltura 融资 2500 万美元 来自:文章 关注度:6 Java synchronized实例 来自:文章 关注度:6 Django项目3 来自:文章 关注度:6 不可或缺的 sendEmail 来自:文章 关注度:6 qobject_cast用法 来自:文章 关注度:6 android源码/内核下载 来自:文章 关注度:6 全智贤。 来自:图片 关注度:6 关于附件下载的路径处理 来自:文章 关注度:6 Oracle数据库版本变迁 来自:文章 关注度:6 美丽的内蒙古 来自:图片 关注度:6 HDU1232:畅通工程 来自:文章 关注度:6 【DIY大盘鸡】1.鸡洗净,剁块,放入加了料酒的开水锅里焯水捞出沥干;2.热锅上油,放八角,桂皮,香叶,干辣椒,花椒,葱 来自:图片 关注度:6 Java乔晓松-Hibernate关联映射 来自:文章 关注度:6 AMPS:跟踪模块源码解读 来自:文章 关注度:6 BOTSWANA 来自:图片 关注度:6 你不向前,怎知前路好与不好。给时间一点时间,一切都会过去。 来自:图片 关注度:6 金俊秀英文单曲Uncommitted,两种感情的极致诱惑高清MV-音悦台 来自:图片 关注度:6 java输入输出流(I/O)总结 来自:文章 关注度:6 我们从Apple年度榜单中能发现什么 Family Cube李俊松自述:我也许命中注定要做智能相框 百度翻译APP iOS版3.0发布 独创整屏实时翻译功能 双十二之后,电商网站该如何异军突起 继易到之后,一嗨租车宣布将获携程注资超1亿美元,收购其约20%股份 56网《人人那些事》一周岁:盘点难忘的第一次 热门标签 更多 Android Linux Java 实现 开发 方法 windows 服务器 问题 解决 文件 设计 配置 安装 网络 发布 安全 函数 系统 微软 推出 技术 分析 程序 Photoshop 存储 操作 软件 oracle 管理 关于我们 人才招聘 联系我们 免责声明 帮助中心 网站地图 RSS订阅 API ?2012 本站提供的内容来源于广大网络用户,我们不保证内容的正确性。如果转载了您的内容,希望删除的请联系我们!