zoukankan      html  css  js  c++  java
  • Groovy脚本和Groovy类反编译文件

    Groovy类

    package preload_groovy
    
    class GroovyKlass {
        static void main(String[] args) {
            println "Hello"
        }
    }
    
    package preload_groovy;
    
    import org.codehaus.groovy.reflection.*;
    import groovy.lang.*;
    import java.lang.ref.*;
    import org.codehaus.groovy.runtime.*;
    import org.codehaus.groovy.runtime.callsite.*;
    
    public class GroovyKlass implements GroovyObject
    {
        private static /* synthetic */ ClassInfo $staticClassInfo;
        private transient /* synthetic */ MetaClass metaClass;
        private static /* synthetic */ SoftReference $callSiteArray;
        
        public GroovyKlass() {
            $getCallSiteArray();
            this.metaClass = this.$getStaticMetaClass();
        }
        
        public static void main(final String... args) {
            $getCallSiteArray()[0].callStatic((Class)GroovyKlass.class, (Object)"Hello");
        }
        
        protected /* synthetic */ MetaClass $getStaticMetaClass() {
            if (this.getClass() != GroovyKlass.class) {
                return ScriptBytecodeAdapter.initMetaClass((Object)this);
            }
            ClassInfo $staticClassInfo = GroovyKlass.$staticClassInfo;
            if ($staticClassInfo == null) {
                $staticClassInfo = (GroovyKlass.$staticClassInfo = ClassInfo.getClassInfo((Class)this.getClass()));
            }
            return $staticClassInfo.getMetaClass();
        }
        
        private static /* synthetic */ CallSiteArray $createCallSiteArray() {
            final String[] array = { null };
            $createCallSiteArray_1(array);
            return new CallSiteArray((Class)GroovyKlass.class, array);
        }
        
        private static /* synthetic */ CallSite[] $getCallSiteArray() {
            CallSiteArray $createCallSiteArray;
            if (GroovyKlass.$callSiteArray == null || ($createCallSiteArray = GroovyKlass.$callSiteArray.get()) == null) {
                $createCallSiteArray = $createCallSiteArray();
                GroovyKlass.$callSiteArray = new SoftReference($createCallSiteArray);
            }
            return $createCallSiteArray.array;
        }
    }
    
    

    Groovy脚本

    package preload_groovy
    
    println 'Hello'
    
    
    package preload_groovy;
    
    import org.codehaus.groovy.reflection.*;
    import java.lang.ref.*;
    import groovy.lang.*;
    import org.codehaus.groovy.runtime.*;
    import org.codehaus.groovy.runtime.callsite.*;
    
    public class GroovyScript extends Script
    {
        private static /* synthetic */ SoftReference $callSiteArray;
        
        public GroovyScript() {
            $getCallSiteArray();
        }
        
        public GroovyScript(final Binding context) {
            $getCallSiteArray();
            super(context);
        }
        
        public static void main(final String... args) {
            $getCallSiteArray()[0].call((Object)InvokerHelper.class, (Object)GroovyScript.class, (Object)args);
        }
        
        public Object run() {
            return $getCallSiteArray()[1].callCurrent((GroovyObject)this, (Object)"Hello");
        }
        
        private static /* synthetic */ CallSiteArray $createCallSiteArray() {
            final String[] array = new String[2];
            $createCallSiteArray_1(array);
            return new CallSiteArray((Class)GroovyScript.class, array);
        }
        
        private static /* synthetic */ CallSite[] $getCallSiteArray() {
            CallSiteArray $createCallSiteArray;
            if (GroovyScript.$callSiteArray == null || ($createCallSiteArray = GroovyScript.$callSiteArray.get()) == null) {
                $createCallSiteArray = $createCallSiteArray();
                GroovyScript.$callSiteArray = new SoftReference($createCallSiteArray);
            }
            return $createCallSiteArray.array;
        }
    }
    
    
  • 相关阅读:
    python使用virtualenv创建和管理虚拟环境
    花费一周刷完两份面试pdf(含答案)轻松拿下了抖音、头条、京东、小米等大厂的offer,成功度过程序员的寒冬。
    基于JAVA-SSM框架的B/S微博系统的设计与实现
    如何破解压缩文件zip,rar
    最新精仿Chinaz中国站长网整站源码带全部数据带采集功能
    淘宝自动发货源码,网店自动值守发货系统 不限制域名 支持客户自助提货及自动评价
    得到影视源码分享(有演示),带一键采集,亲测能用,适合懒人做电影站!
    JAVA汽车4S店管理系统
    H5传奇源码,附带微信支付,商城系统,新增了元宝交易商城系统源码
    jdk8的安装及卸载
  • 原文地址:https://www.cnblogs.com/jsersudo/p/14214761.html
Copyright © 2011-2022 走看看