1.将war文件导入到Eclipse

  • 在导入war文件之前,新建项目,比如:webPorject
  • 在Myeclipse中:在File===》import==》General中选择Archive File,出现对话框
  • 在弹出的Form archive file对话框中选择要导入的项目.war
  • 全选 =====>导入第一步中新建立的项目,点击Finish,完成导入。

2.java调试语句

Exception ex = new Exception("myexption");ex.printStackTrace();

3.java class文件修改

转:http://www.cnblogs.com/lcwlovell/archive/2013/03/07/2947225.html

  • 采用javassit包
  • 编写classchange.java文件:

import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;

public class classchange {

public static void main(String[] args) throws Exception {
ClassPool classPool = ClassPool.getDefault();
// 必须将class文件放在这个工程编译后的class文件中,路径也对应起来
CtClass ctClass = classPool.get("pkg.myclass");

//设置方法需要的参数,一定要能匹配起来,而且必须引入这些参数类的包
CtClass[] param = new CtClass[1] ;
/*
param[0] = classPool.get("javax.servlet.http.HttpServletRequest") ;
param[1] = classPool.get("javax.servlet.http.HttpServletResponse") ;
param[2] = classPool.get("int") ;
param[3] = classPool.get("java.lang.String") ;
*/
// 找到需要修改的行所在的方法
param[0] = classPool.get("java.lang.String") ;
CtMethod method = ctClass.getDeclaredMethod("test", param);

// 在这个方法的15行添加
method.insertAt(15, "Exception ex = new Exception(\"exption\");ex.printStackTrace(); System.out.println(x);");

// 将文件写到指定的目录
ctClass.writeFile("E:/");
System.out.println("finished");
}
}

  • 将需要修改的文件pkg/myclass.class放置到bin/pkg/myclass.class,即放到classchange生成的bin目录,注意按照包的形成存放。eclipse中运行即可。

java逆向相关的更多相关文章

  1. JAVA开发相关

    JAVA开发相关1. IntelliJ IDEA开发工具熟练使用2. Maven3. Spring框架(IoC.AOP) 1)数据库相关MyBatis 2)数据库连接池 3)事务.多数据源.跨数据库分 ...

  2. 获取Java系统相关信息

    package com.test; import java.util.Properties; import java.util.Map.Entry; import org.junit.Test; pu ...

  3. java接口相关例题

    java接口相关习题 interface Graphics{  //接口里面只能用抽象方法  public abstract double area();    }//设置 平面类class Plan ...

  4. JAVA逆向&反混淆-追查Burpsuite的破解原理(转)

    0x00 摘要: 本系列文章通过对BurpLoader的几个版本的逆向分析,分析Burpsuite的破解原理,分析Burpsuite认证体系存在的安全漏洞. 0x01 JD-GUI的用途与缺陷: JD ...

  5. java线程相关

    java线程相关 java 线程 1 线程的状态 This is an example of UML protocol state machine diagram showing thread sta ...

  6. Java线程相关的热门面试题

    ---恢复内容开始--- 下面是Java线程相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序 ...

  7. redis安装 phpredis Jedis 扩展的实现及注意事项,php,java,python相关插件安装实例代码和文档推荐

    redis安装 phpredis Jedis 扩展的实现及注意事项,php,java,python相关插件安装实例代码和文档推荐 1.Redis 官方网站下载: http://redis.io/dow ...

  8. Java Web相关技术(汇聚页)

    Java Web相关技术(汇聚页) 初学Java Web(2)——搭建Java Web开发环境

  9. Java多线程相关的

    很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的 ...

随机推荐

  1. SpringBoot打war包并部署到tomcat下运行

    一.修改pom.xml. 1.packaging改为war 2.build节点添加<finalName>你的项目名</finalName> 二.修改项目启动类,继承Spring ...

  2. mysql 并发下数据不一致的问题分析及解决

    MySQL 5.6 , InnoDB存储引擎,默认事务隔离级别(REPEATABLE-READ) 初始sql 脚本如下: CREATE DEFINER=`root`@`localhost` PROCE ...

  3. lambda表达式的应用例子和JavaSE 8特性

    在JavaSE 8 引入了lambda表达式,lambda表达式的引入带来的好处是:通过语法上的改进,减少开发人员需要编写和维护的代码数量.这个在下面使用和不使用lambda的对比中可以清晰看出来. ...

  4. 「6月雅礼集训 2017 Day8」route

    [题目大意] 给出平面上$n$个点,求一条连接$n$个点的不相交的路径,使得转换的方向符合所给长度为$n-2$的字符串. $n \leq 5000$ [题解] 考虑取凸包上一点,然后如果下一个是‘R' ...

  5. Python ctypes的byref和pointer有啥区别

    byref(n)返回的相当于C的指针右值&n,本身没有被分配空间: >>> from ctypes import *>>> n = c_int(0)> ...

  6. Problems with Ribbon/Feign/Zuul retry

    原文 https://github.com/spring-cloud/spring-cloud-netflix/issues/1577 I'm using Spring Cloud Camden SR ...

  7. Android控件——TextView,EditText

    TextView: 显示文本控件 EditText 输入文本框 1.TextView常用属性:

  8. Python3 生成器

    生成器(genetor): 1>生成器只有在调用的时候才会生成相应的数据: 2>生成器只记录当前位置,有一个__next__()方法 3>yield可以实现单线程先的并发运算 1.列 ...

  9. 手把手教你写Linux设备驱动---中断(三)--workqueue实现(基于友善之臂4412开发板) 【转】

    转自:http://blog.csdn.net/morixinguan/article/details/69680909 上节,我们讲到如何来实现tasklet小任务机制 http://blog.cs ...

  10. nodejs 使用redis 管理session

    一.在开发机安装redis并远程连接 因本人的远程开发机配置原因,使用jumbo安装redis 首先登录开发机,并使用jumbo 安装redis:jumbo install redis 查看redis ...