ClassyShark工具使用小记

1. ClassyShark介绍ClassyShark是一款便利的文件浏览器,它可以浏览安卓下可执行的程序。此外,它拥有安卓APK和桌面版JAR的客户端。有了它,你可以打开APK/Dex/Jar/Class文件,并分析里面的代码。2. 准备工作ClassyShark工具为一个jar包,从github上面下载到本地。通过命令“java -jar ClassyShark.jar
摘要由CSDN通过智能技术生成

1. ClassyShark介绍

1.1 ClassyShark是一款便利的文件浏览器,它可以浏览安卓下可执行的程序。此外,它拥有安卓APK和桌面版JAR的客户端。有了它,你可以打开APK/Dex/Jar/Class文件,并分析里面的代码。

1.2 用途介绍(翻译自官方介绍)

1.2.1. 理解你的APK内容
1.2.2. 验证业务关键数据是否正确地被混淆
1.2.3. 检测混淆配置信息。
1.2.4. 分析混淆过的堆栈跟踪
1.2.5. 管理你的APK依赖性
1.2.6. 确定所有应用程序依赖项,Java依赖和原生依赖
1.2.7. 确定测试依赖
1.2.8. 生成外部依赖测试类
1.2.9. 核对隐藏的api
1.2.10. 理解multidex应用程序的内容
1.2.11. 浏览每个dex类文件的内容
1.2.12. 统计包、方法、类、字符串等数量
1.2.13. 统计某个jar文件的方法数
1.2.14. 转储敏捷的字符串表
1.2.15. 识别丢失的本地库
1.2.16. 浏览每个classes.dex文件的原生方法
1.2.17. 浏览原生依赖
1.2.18. 浏览动态的符号


2. 准备工作

ClassyShark工具为一个jar包,从github上面下载到本地。通过命令“java -jar ClassyShark.jar“即可启动,并且打开图形界面。


3. 使用示例

3.1 点击Open打开一个apk文件,将看到整个apk的结构,以QQ为例,主要分为三部分:AndroidM

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Protobuf是一种高效的序列化协议,可以用于数据交换和数据存储。它的主要优势是大小小,速度快,可扩展性强。下面是使用Protobuf的一些小记: 1. 定义消息格式 首先,需要定义消息格式,以便Protobuf可以将数据序列化和反序列化。消息格式定义在.proto文件中,使用protobuf语言编写。例如,下面是一个简单的消息格式定义: ``` syntax = "proto3"; message Person { string name = 1; int32 age = 2; } ``` 这个消息格式定义了一个名为Person的消息,包含两个字段:name和age。 2. 生成代码 一旦消息格式定义好,就可以使用Protobuf编译器生成代码。编译器将根据消息格式定义生成相应的代码,包括消息类、序列化和反序列化方法等。可以使用以下命令生成代码: ``` protoc --java_out=. message.proto ``` 这将生成一个名为message.pb.java的Java类,该类包含Person消息的定义以及相关方法。 3. 序列化和反序列化 一旦生成了代码,就可以使用Protobuf序列化和反序列化数据。例如,下面是一个示例代码,将一个Person对象序列化为字节数组,并将其反序列化为另一个Person对象: ``` Person person = Person.newBuilder() .setName("Alice") .setAge(25) .build(); byte[] bytes = person.toByteArray(); Person deserializedPerson = Person.parseFrom(bytes); ``` 这个示例代码创建了一个Person对象,将其序列化为字节数组,然后将其反序列化为另一个Person对象。在这个过程中,Protobuf使用生成的代码执行序列化和反序列化操作。 以上是使用Protobuf的一些基本步骤和注意事项,希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值