使用工具:soot-2.5.0.jar

注意:soot-2.5.0.jar必须使用Java1.7以及之前的版本,使用Java1.8会发生错误。

修改jdk的方法是在设置java_home的路径的时候,直接使用你想要的版本,并使用运行cmd(WIN+R)进入命令行,输入java -version 看是否修改成功。如果在装jdk的时候,系统吧java.exe方法放到system32文件夹下面,那么即使修改了java_home,java的版本还是不会变的,这个时候,你要在系统变量PATH中,将带有java_home字段的变量都放到最前面。

使用方法:下载jar包后,将jar包放到文件中。

打开cmd.exe,到达jar包所在的文件夹(我放在d:\soot文件夹下),如下

文件夹中只有soot-2.5.0.jar和Hello.java 这两个文件。

输入如下代码

java -cp soot-2.5.0.jar soot.Main -pp -f J -cp . Hello 按回车

反编译完成后,文件被放在sootOutput文件夹中。

期间可能会遇到问题 可以参考这篇文章,写的很详细:

http://blog.csdn.net/zlp1992/article/details/42023995

下面可以下载soot-2.5.0.jar文件的地址:

链接:http://pan.baidu.com/s/1miITvr6 密码:9bve

用命令行使用soot反编译生成jimple的更多相关文章

  1. linux命令行下使用反斜杠“\”调用别名的原命令

    经常看到linux软件的作者在介绍安装软件时,在命令前面加一个反斜杠,不解其意,后来查阅资料才知道,这是为了取消别名的调用,使用原命令. alias是shell的内置命令,可以用来设置命令的别名,如使 ...

  2. 在命令行获取标准输入序列的反互序列,pep序列和长度信息

    近期对序列文件处理的比較多,时常要看一些核酸序列的反向互补序列,长度.可能的翻译序列. 曾经我常用seqBuider 来查看.假设能在命令行直接查看.想必是极好的. 这是一个perl脚本.只是我把它的 ...

  3. windows命令行下简单使用javac、java、javap详细演示

    最近重新复习了一下java基础,在使用javap的过程中遇到了一些问题,这里便讲讲对于一个类文件如何编译.运行.反编译的.也让自己加深一下印象. 如题,首先我们在桌面,开始->运行->键入 ...

  4. VS2010命令行编译C#和VC项目

    VS2010命令行编译C#和VC项目 VS2010命令行编译C#和VC项目 根据需要动态创建数据库字段后,需要动态创建或者调整页面,那就需要编译这些页面和后台文件.因此使用命令行编译将会非常方便,对于 ...

  5. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

  6. JavaSE---JDK提供的命令行工具---javap

    1.javap 1.1 javap是JDK自带的反解析工具: 1.2 作用:就是根据class字节码文件,反解析出    当前类   对应的code区(汇编指令).本地变量表.异常表和代码行偏移量映射 ...

  7. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  8. 【ASP.NET】利用Nuget打包package——命令行方式

    通过命令行 官方说明,可以参考:creating-and-publishing-a-package 如果你希望可以使用图形界面的方式,请参考这篇文章   打包dll   使用如下的命令: nuget  ...

  9. Linux 命令行总结

    1.使用ln不加参数,会创建硬链接,如果要创建软连接,需要加-s 参数. # ln test1 test8 -rw-r--r-- root root Nov : test1 -rw-r--r-- ro ...

随机推荐

  1. html 背景透明文字不透明

    .alpha{ width: 100px; height: 100px; color: #fff; background: rgba(0, 0, 0, .3); filter: progid:DXIm ...

  2. 第一个前台页面----xflow的页面

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ tagl ...

  3. 快学Scala-第一章 基础

    知识点: Scala程序并不是一个解释器,实际发生的是,你输入的内容被快速的编译成字节码,然后这段字节码交由Java虚拟机执行. 以val定义的值是一个常量,以var定义的值是一个变量,声明值或变量但 ...

  4. Android中自定义veiw使用Java中的回调方法

    //------------------MainActivity----中---------------------------------- import android.os.Bundle;imp ...

  5. 2016中国大学生程序设计竞赛 - 网络选拔赛 1011 Lweb and String

    Problem Description Lweb has a string S. Oneday, he decided to transform this string to a new sequen ...

  6. SQL Server 2012 - 内置函数

    文本函数 --系统函数位置: 可编程性→函数→系统函数 -- 查询ASCII码 select ASCII('a') --查询数值对应的ASCII码 select CHAR(97) --Left . R ...

  7. Junit单元测试的简单使用(主要是在spring框架下的项目)

    首先是解释什么是单元测试,单元测试是指对于一个大型项目里,对于单一模块或者单一接口的测试. 然后解释为什么要写单元测试,首先对于一个大型的项目,如果你每次都要重启一遍服务器调页面或者接口的bug,那就 ...

  8. P2P应用中的NAT穿透问题

    多年前曾经写过一个关于NAT钻洞的实验.现在发现那个做法在我现在的路由器上已经不管用了.经过一番搜索发现时过境迁,世界变化很快,新路由器已经是UPnP了.在这里重新理一下几种方法. 第一种,也是不太靠 ...

  9. 保存iptables的防火墙规则的方法【转载】

    转自: 保存iptables的防火墙规则的方法 - 51CTO.COMhttp://os.51cto.com/art/201103/249504.htm 保存iptables的防火墙规则的方法如下: ...

  10. C# 双引号的输出

    Console.WriteLine("\"a little list.\"");