Soot入门(1): 安装与生成Jimple文件

java静态分析工具soot入门-1:安装与简单使用
摘要由CSDN通过智能技术生成

Soot入门(1): 安装与生成Jimple文件

这学期选修了程序分析课,作业是基于soot进行一些java程序的静态分析,发现目前不管国内国外对于soot的教程都不太多,要么不太清晰要么太老,打算一边学习一遍记下笔记,方便未来入坑的铁子们少踩坑

0: JAVA配置

建议使用JDK1.8/1.7,版本过高的JDK似乎与soot存在不兼容问题
这一步很简单网上教程很多,主要在于设置$JAVA_HOME

Mac

我的是 MacBook Air (M1 2020): MacOS Monterey version 12.3.1
设置方法很简单

# 修改 .zshrc
sudo vim .zshrc

# 在 .zshrc文件中加上以下这行, 版本号可能不同,请自行修改
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home"
# 也有可能是这个路径, 自行check
export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"

# 保存 source一下
source ~/.zshrc

然后测试下是否OK

java -version
# java version "1.8.0_321"
# Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
# Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)

javac -version
# javac 1.8.0_321

echo $JAVA_HOME
# /Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home

Windows

我没有在win上进行配置,我的舍友在win11上按照这篇指南配置成功

Linux

应该和Mac类似, 路径可能有所不同自行确认

1: 安装soot

命令行使用

首先下载soot的jar包,选择v4.3.0/下的soot-4.3.0-jar-with-dependencies.jar, 其他文件按自己需要下载
为了方便我把下载下来的jar重命名为了soot.jar并放在了/Applications目录下, 并且像上面设置JAVA_HOME一样设置了SOOT_HOME="/Applications/soot.jar"
接着检验下是否安装成功

java -cp $SOOT_HOME soot.Main -h
# General Options:
# -coffi                        Use the good old Coffi front end for parsing
#                               Java bytecode (instead of using ASM).
# -jasmin-backend               Use the Jasmin back end for generating Java
#                               bytecode (instead of using ASM).
# -h, -help                     Display help and exit
# ...

IntelliJ IDEA使用

Maven方式导入

在项目下pom.xml文件中加入以下

<dependency>
    <groupId>org.soot-oss</groupId>
    <artifactId>soot</artifactId>
    <version>4.3.0</version>
    <scope>compile</scope>
</dependency>

直接导入 soot.jar

进入File -> Project Structure -> Modules,右侧Module SDK下面的+ -> 1 JARs or Directories,找到你下的soot.jar即可

2: 生成Jimple

Jimple<

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值