如何应用安卓APK文件进行解包打包和修改

如何应用安卓APK文件进行解包打包和修改,第1张

不需要解包跟打包轮弊,直接修改就可以,修改的的方法。

如下参考:

1.将需要修改的apk包复制到100apktool的路径中。注意:您需要将文件名更改为123apk,如下图。

2.打开程序apktool。cmd,如下图。

3.显示主界面有详细说明。我们只需要解压和压缩,如下图。

4.输入1并按回车,首先解返桐游压缩,然后在当前路径下生成APK文件跟踪文件夹,如下图所示。

5.在APK文件夹中输入specialzhidao,修改内容。添加资源文件(图像),如下图。

6.输漏销入3并按回车进行封装和数字签名,如下图。

7.如果返回到Apktools/Apk/build路径,您将看到签名的通用Apk包,如下图。

1. 执行命令 java -jar apktool.jar d xxx.apk

如果apk没有加固,执卖握行完命令,就能看到反编译后的smali文件,可以阅读这些smali文件.

2. 打包命令滑裂 java -jar apktool.jar b 解包后的目录 >xxx.apk

可以执行打包命令,将解包,修改后的smali再打包. 如果需要调试,需要在AndroidManifest.xml文件中,加上debugable.

此时得到的apk包没有签名,需要签名后才能安装

3. 签名 jarsigner -verbose -keystore .\xxx.jks -signedjar signed.apk xxx.apk 'benzhuo'

输入密码后,签名完毕,签名后的包是signed.apk,安装这个包.

1. 执行 java -jar apktool.jar d signed.apk. 解压刚才签名的安装包

2. 用Android Studio 打开解压后的文件夹,此时需要设置一下工程的SDK.

3. 连接上测试手机, 执行命令 adb shell am start -D -W -n 包名/LauncherActivity ,以debug模式打开应用,此时手机上打开应用会d出提示框, Waiting For Debugger.

4. 点击Android Studio的Attach Debugger 按钮.

5. 选择中让庆调试的程序,然后就可以调试了

6. 修改了Smali文件之后,需要重新打包,然后安装在手机上,再调试.

1. 原始类型

|smali类型|java类型|

|----|---|

|B|byte|

|C|char|

|D|double|

|F|float|

|I|int|

|J|long|

|S|short|

|V|void|

|Z|boolean|

|[x| x类型数组|

|Lpackage/Object|对象|

2. 方法

以前刚用手机的时候,经常可以在玩机论坛上看到很多发ROM包的帖子,譬如什么大深度定制ROM,什么大深度深度精简纯净版ROM...相信很多喜欢搞机的都有见过这类帖子。后来自己不满每次刷机后都要手动设置一大堆东西,遂按照论坛上的教腊穗哪程改了Defy+的cm11的ROM,集成了绿色守护,默认允许安装未知来源的应用,默认电池百分号显示等等。时隔4年,又玩起了ROM包定制,感慨颇多

假设有一个名为update.zip的ROM包,我们要在Ubuntu下对它进行定制。首先把 system.transfer.list 和 system.new.dat.br (有些旧版的系统的镜像可能是system.new.dat)从update.zip解压出来,转成system.img(原始镜像格式),修改轮码完后又按步骤打包回原来的格式。本文只写了system分区的定制方法,但是对于其他分区也是类似的,都要转成原始镜像格式后才能对它修改。如果使用 file system.img 命令来查看system.img文件信息,会得到类似下面的信息:

brotli -d system.new.dat.br

挂载后可以通过 df -h 来查看挂载点 /mnt/system 剩余空间有多少,如果没有剩余,就要对它进行扩容,下面的例子是给它增加128M的空间,扩容之前要先取消挂载

现在,可以在/mnt/system目录下根据自己的需求增删文件了

增删文件需要注意:

打包其实就是解包的逆过程

成功后会在当前目录下生成system_new.img。如果发生错误,根据错误进行调整参数,直到没有错误提示为止。

转换之前可以对之前解压出来的文件进行备份:

开始转换族春

成功后会在当前目录下生成system.transfer.list和system.new.dat

在有些刷机包里,它里面包含的system.img镜像是 sparse image 格式的,如果用file命令查看它的信息,显示如下:

对于这种格式的镜像,如果想把它挂载和修改,就要转成我们上面提到的raw image(原始镜像)格式,命令如下:

修改完成后,取消挂载,再使用下面的命令将 raw image 转成 sparse image :

相对于修改Android源码的方式,直接修改镜像的方法对PC配置要求低很多。如果我们只想增加一些现有的模块和删除不必要的模块,这是很好的方式。而且对于一些手机厂商,他们没有提供Android源码,我们就只能用直接修改镜像的方式来定制我们的ROM。修改ROM的方法是灵活的,总结下来就是,看见一个镜像,可以根据后缀名和file命令确认它的格式,看情况将它转成原始镜像格式并挂载,就可以修改了,修改后又转回它原来的格式,最后替换刷机包中原有的镜像


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12307683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存