使用jd-gui+javassist修改已编译好的class文件

2017-07-28

1.原因:因为公司代码管理不当导致源码丢失,只好已编译好的class文件进行修改

2.首先先在myeclipse中新建java项目并导入javassist

3.将需要修改的文件放到指定文件夹下

4..在项目中添加以下代码

package dtj;

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

public class MyTest {

///////入口启动函数

       public static void main(String[] args) throws Exception {

       //这个是得到反编译的池

      ClassPool pool = ClassPool.getDefault();
      
      pool.insertClassPath("E:/dtj") ;
      
    //取得需要反编译修改的文件,注意是完整路径

      CtClass cc1 = pool.get("SmsSender");

      try {
          
          
          cc1.setName("CTCC_SmsSender");
          //取得需要修改的方法

         // CtMethod method = cc1.getDeclaredMethod("a");

         //插入修改项,我们让他直接返回(注意:根据方法的具体返回值返回,因为这个方法返回值是void,所以直接return;)

         // method.insertBefore("{if(true) return ;}");

          //写入保存

          cc1.writeFile();

      } catch (NotFoundException e) {

          e.printStackTrace();

     }

} 
}

注:jd-gui和javassist的下载地址
下载


本文由 admin 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

7 条评论

  1. xlxohbbc
    xlxohbbc

    使用jd-gui javassist修改已编译好的class文件 - 青花瓷
    axlxohbbc
    [url=http://www.gi0o5j9i36514oh49rfz26r5pe0l2k6as.org/]uxlxohbbc[/url]
    xlxohbbc http://www.gi0o5j9i36514oh49rfz26r5pe0l2k6as.org/

  2. kkdkvgnvje
    kkdkvgnvje

    使用jd-gui javassist修改已编译好的class文件 - 青花瓷
    akkdkvgnvje
    [url=http://www.g8yw5ks66g33v98gj85j34pv0fh1r55ys.org/]ukkdkvgnvje[/url]
    kkdkvgnvje http://www.g8yw5ks66g33v98gj85j34pv0fh1r55ys.org/

  3. sqfkxbkt
    sqfkxbkt

    使用jd-gui javassist修改已编译好的class文件 - 青花瓷
    sqfkxbkt http://www.gpokyslq944271j941ao31y8dig139a0s.org/
    asqfkxbkt
    [url=http://www.gpokyslq944271j941ao31y8dig139a0s.org/]usqfkxbkt[/url]

  4. iwdxsct
    iwdxsct

    使用jd-gui javassist修改已编译好的class文件 - 青花瓷
    [url=http://www.g57jt8b5pg79p4j11i8947m8xpt8h4cqs.org/]uiwdxsct[/url]
    iwdxsct http://www.g57jt8b5pg79p4j11i8947m8xpt8h4cqs.org/
    aiwdxsct

  5. bknpfmmjj
    bknpfmmjj

    使用jd-gui javassist修改已编译好的class文件 - 青花瓷
    [url=http://www.gp4z34va0h0y1e8jk6e03q4rrg35468hs.org/]ubknpfmmjj[/url]
    bknpfmmjj http://www.gp4z34va0h0y1e8jk6e03q4rrg35468hs.org/
    abknpfmmjj

  6. Viagra
    Viagra

    when to take viagra 25 mg viagra can you
    take sildenafil through us customs.

  7. cialis prices
    cialis prices

    onde comprar generico do cialis http://cialislet.com cheap cialis.
    tadalafil oder tadalafil.

添加新评论