使用baksmali及smali修改apk并打包
使用baksmali及smali修改apk并打包
工具的下载,请自行google。
有时候使用apktool反编译apk修改Smali文件之后再进行build会出现错误,这种情况下可以换一个更高版本的apktool试试。
如果更高版本的apktool还是不能成功的话,就有点麻烦了,可以修改apktool,不过这种大神级的技术,我现在还是不会。
遇到这种情况可以选择使用baksmali+smali来进行apk的修改及重新打包。
1.首先解压apk文件,获得classes.dex文件
2.使用baksmali反编译classes.dex
命令为: java -jar baksmali.jar -o classout/ classes.dex
3.反编译的smali文件存在./classout之中。
4.此时对classout目录下的smali文件就可以进行修改了
修改过之后需要使用smali.jar将smali目录重新编译为classes.dex
5.使用压缩工具将新生成的classes.dex塞入apk包替换原有的classes.dex
这里需要说明的就是使用baksmali.jar反编译的生成的smali文件使用的是baksmali语法,和apktool反编译生成的smali语法有些许的区别。
6.替换apk包中的classes.dex文件之后,需要对apk重新签名才能安装
使用baksmali及smali修改apk并打包的更多相关文章
- 【转】安卓apk反编译、修改、重新打包、签名全过程
首先明确,反编译别人apk是一件不厚道的事情.代码是程序员辛苦工作的成果,想通过这种手段不劳而获,是不对的.这也说明,代码混淆是非常重要的.本文抱着学习的态度,研究在一些特殊的情况下如果有需要,该怎么 ...
- 安卓apk反编译、修改、重新打包、签名全过程
首先明确,反编译别人apk是一件不厚道的事情.代码是程序员辛苦工作的成果,想通过这种手段不劳而获,是不对的.这也说明,代码混淆是非常重要的.本文抱着学习的态度,研究在一些特殊的情况下如果有需要,该怎么 ...
- 大富豪APK安卓客户端的反编译修改和重新打包
大富豪APK安卓客户端的反编译修改和重新打包 修改安装我们需要几个工具 DFH_3.4.X (用于修改客户端) dnsPy (用于修改.dll文件) 大富豪加解密.exe ( 用于加 ...
- Android Studio修改apk打包生成名称
在app的build.gradle文件的android{}括号里添加: android.applicationVariants.all { variant -> variant.outputs. ...
- 将JAR包反编译,修改后重新打包(转)
将JAR包反编译,修改后重新打包(转) 在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar.使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间.有的第三方工具,提供具体的 ...
- 修改APK包并push到system/app路径下安装
在工作中,经常遇到需要修改apk包里的资源文件,达到检验不同配置下程序运行情况的目的. 过程如下: 1.首先连接手机,进入命令行,输入:adb root,使得adb获取root权限. 2.输入:adb ...
- C#实现APK自动打包
C#实现APK自动打包 最近做了一个安卓项目,其中有一个自动打包的功能,要把供应商id写入APK后打包. 一.思路 在AndroidMinifest.xml中加入一个标识字段,如下 ...
- vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)
为了回答这个问题,我们首先需要了解Webpack如何处理静态资产.在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-loader 解析,并查找资源URL.例如 ...
- apk反编译、smali修改、回编译笔记
最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...
随机推荐
- quote函数什么意思,怎么用
转自: https://blog.csdn.net/qiqiyingse/article/details/70046543 quote函数 属于urllib库里面的一个函数 屏蔽特殊的字符.比如如果u ...
- HTML 5 <form> enctype 属性
值 描述 application/x-www-form-urlencoded 在发送前对所有字符进行编码(默认). multipart/form-data 不对字符编码.当使用有文件上传控件的表单时, ...
- ASP.net 简单分页的实现
在自己的项目中有一个文章的管理页面需要用到分页, 这种分页方法是在黑马的一个视频中看到的,便用在了自己的项目中. 但是使用控件实在是太丑,虽然我写的也丑....... gridview 控件提供的分页 ...
- LOJ.2587.[APIO2018]铁人两项Duathlon(圆方树)
题目链接 LOJ 洛谷P4630 先对这张图建圆方树. 对于S->T这条(些)路径,其对答案的贡献为可能经过的所有点数,那么我们把方点权值设为联通分量的大小,可以直接去求树上路径权值和. 因为两 ...
- from setuptools import setup, find_packages ImportError: No module named set
1 from setuptools import setup, find_packages ImportError: No module named set wget http://peak.tele ...
- String 字符串详解 / 常用API
String 详解 / 常用API 简介 String 是不可改变的字符串序列.String 为字符串常量 StringBuilder 与StringBuffer 均为可改变的字符串序列.为字符串变量 ...
- MyBatis -- generator 逆向工程
一.引言 官网文档:http://www.mybatis.org/generator/index.html 通过使用官方提供的mapper自动生成工具,mybatis-generator-core-1 ...
- Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) C. Bear and Colors 暴力
C. Bear and Colors 题目连接: http://www.codeforces.com/contest/673/problem/C Description Bear Limak has ...
- zoj 3629 Treasure Hunt IV 打表找规律
H - Treasure Hunt IV Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu ...
- 使用HAproxy如何实现web站点的动静分离
HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别 适用于那些负载特大的web站点,这些站点通常 ...