apktool 打包解包apk的总结

1) 不需要另外下载 baksmali-2.1.2.jar, apktool.jar 好像都包含了。

apktool d zhanqi.xxx.apk -o zhanqi

2) smalidea-0.03.zip 的 Android Studio插件装上之后,就可以调试 1) 生成的 smali 文件了

https://github.com/JesusFreke/smali/wiki/smalidea

  1. Manually disassemble an application using baksmali into a "src" subdirectory of a new project directory, e.g. baksmali myapp.apk -o ~/projects/myapp/src
  2. In IDEA, import a new project, and select the project directory. e.g. ~/projects/myapp
  3. Use the "Create project from existing sources" option when importing the project
  4. Once the project has been created, right click on the src directory and select "Mark Directory As->Sources Root"
  5. Open the project settings and select/create an appropriate JDK
  6. Install/start the application on the device
  7. Run ddms, and select the application‘s process
  8. In IDEA, Create a new "Remote" debug configuration (Run->Edit Configurations), and change the debug port to 8700
  9. Run->Debug
  10. The application should pause if/when the breakpoint is hit, at which point you can single step, add watches, etc.

3)重新打包decomplie出来的smali

D:\proj\android>apktool b zhanqi
I: Using Apktool 2.1.1
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building apk file...
I: Copying unknown files/dir...

4)重新签名打包的apk 文件

a) 下载sign.jar 和 signapk.jar  https://github.com/appium/sign

b) 会生成 .s.apk 文件

D:\proj\android>java -jar sign.jar .\zhanqi\dist\zhanqi_v2_6_8.apk

D:\proj\android>adb install .\zhanqi\dist\zhanqi_v2_6_8.s.apk

5)启动app时就截住断点的方法

.method protected onCreate(Landroid/os/Bundle;)V
    .locals 4

    .prologue
    .line 66
    invoke-static {}, Landroid/os/Debug;->waitForDebugger()V
时间: 2024-12-29 23:40:04

apktool 打包解包apk的总结的相关文章

java基础类型包装类与自动打包解包

一基础类型包装类 基础数据类型存放在内存的栈区域,可以通过包装类将基础数据类型转换为引用数据类型,即存储在堆与栈中. 基础数据类型一共有8种,相对应的包装类也有8种.分别是Byte,Short,Integer,Long,Float,Double,Character,Boolean.类 包装类位于java.Lang包中. 1 public class Test1 { 2 3 public static void main(String[] args) { 4 // TODO Auto-genera

xpack文件打包解包代码库

Github ###概述 xpack是一个文件资源打包工具及类库,可以对多文件进行打包解包. 其使用文件名的hash作为索引,建立hash索引表以加速文件查找. ###特性 支持hashid自动解冲突,即使添加的多个文件名hashid发生冲突也可以正常存取,不用担心文件名hash一样导致的添加失败问题 支持存储文件的原文件名,可以解包复原文件目录结构 支持文件分块存储,可以重复利用被删除文件的剩下的空闲块,提高资源包的空间利用率,提高资源删除的性能 支持寄生资源包,可以把资源包追加到其他文件中,

(转)基于RTP的H264视频数据打包解包类

最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打包.解包的文档和代码.功夫不负有心人,找到不少有价值的文档和代码.参考这些资料,写了H264 RTP打包类.解包类,实现了单个NAL单元包和FU_A分片单元包.对于丢包处理,采用简单的策略:丢弃随后的所有数据包,直到收到关键帧.测试效果还不错,代码贴上来,若能为同道中人借鉴一二,足矣.两个类的使用说明如下(省略了错误处理过程): DWORD H264SSRC ; CH264_RTP_PACK pack ( H264S

Java之集合初探(二)Iterator(迭代器),collections,打包/解包(装箱拆箱),泛型(Generic),comparable接口

Iterator(迭代器) 所有实现了Collection接口的容器都有一个iterator方法, 用来返回一个实现了Iterator接口的对象 Iterator对象称作迭代器, 用来方便的实现对容器内的元素的遍历 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个I

压缩/打包/解包 命令详解

压缩&解压 gzip gzip 压缩级别1-9 1 压缩级别最低 9压缩级别最高 [默认级别6] 压缩文件类型.gz 压缩:gzip 压缩文件名 [修改压缩级别方法:gzip -1 压缩文件名称] 解压:gzip -d 解压文件名称/gunzip 解压文件名 查看压缩文件:zcat压缩文件名 gzip 只支持文件,不支持目录 bzip2 压缩文件类型.bz2 [也是无法压缩目录.只能压缩文件] 压缩:bzip2 文件名称 解压:bzip2 -d 文件名称/bunzip2 文件名 查看压缩文件:b

打包/解包/压缩

命令: tar 作用: 可以把文件一系列打包到一个大文件中,也可以把打包过的大文件恢复成一系列文件 选项: -z:调用gzip,压缩和解压缩文件 -j:调用bzip2,压缩和解压文件 -c:生成档案文件,创建打包文件 -x:解开档案文件 -v:列出归档解档的详细过程,显示进度 -f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 -C:解压缩到指定目录(要解压缩的目录必须存在) 注意: f选项必须放最后,其他选项顺序随意 使用: # 打包文件(被打包文件可以空格间隔输入多个) t

打包解包

打tar包 tar cvf .tar包名 包源文件 tar cvf task.tar t1 t2 在tar包基础上,打gz包 gzip .tar包:命令运行后,task.tar->task.tar.gz gzip task.tar 将gz包解压为tar包,命令运行后,task.tar.gz->task.tar gzip -d task.tar.gz 查看tar包 tar tvf pack1.tar 解tar包 tar xvf pack1.tar 打gz包,一步到位 tar cvfz task.

使用apktool解包和打包apk

使用apktool解包和打包apk 下载apktool工具 解包 apktool d xxx.apk -f 植入代码 使用apktool解包要植入代码的apk(下面称为A), 使用apktool解包包括待植入代码的apk(下面称为B). -将B的AndroidManifest.xml中对应的权限和各组件声明信息拷贝到A中. -把B的对应的smali文件拷贝到A中. -把B的对应的布局文件拷贝到A中. -把植入布局中对应的id从B的values/ids.xml拷贝到A中. -把植入布局中对应的id

[android]system.img文件的打包和解包

1:system.img的两种格式 system2_0.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files) system1_0.img: Android sparse image, version: 1.0, Total of 393216 4096-byte output blocks in 1765 input chunks. 以上