soot基础 -- soot的数据结构与java语言的结构

本文介绍了Soot框架的基础,探讨了Java语言结构与Soot内部结构的转换,重点关注Soot如何将Java类转化为SootClass对象,并通过面向对象的方式理解和分析代码。主要内容包括SootClass、SootField、SootMethod和Body等数据结构。

1.前言

Soot 是另一种将java语言的结构进行了拆分,然后Soot将拆分之后然后形成了一种面向对象的结构。(KEY

2.弄清 soot内部结构  的3个 关键 问题

① Java中语言的结构是什么样子的?

② Java中对应成Soot中面向对象的方式是如何表示的?

③ 如何从面向对象的角度去查看代码?根据代码能获得哪些信息?

3.结构探讨

3.1.java语言的结构


3.2.soot中对象的数据结构

  • Scene(场景类)

场景类中包含了大量的信息,是其中最复杂的数据结构。下图只就我关注的场景进行说明:


  • SootClass 
  • java中类经过转化,变成了SootClass中用对象表示的类的数据结构.。
  • java代码 --> 对象 --> 用面向对象角度分析 --> 省去对于原始java代码的字符串的解析。
  • SootClass,SootFiled,SootMethod,Body等结构如下图:



更多具体内容查看 : 

soot基础 -- soot中基本的对象


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值