java逆向相关

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中运行即可。
原文地址:https://www.cnblogs.com/studyskill/p/7084323.html