• 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中运行即可。
  • 相关阅读:
    JavaSE 基础
    Mybatis(三) 动态SQL
    Java基础(十)
    Java基础(九)
    Java基础(八)
    Java基础(七)
    centos7怎么把语言切换成英语
    CentOS更改yum源与更新系统
    快速切換前後日期
    laravel 框架给数组分页
  • 原文地址:https://www.cnblogs.com/studyskill/p/7084323.html
Copyright © 2020-2023  润新知