首页 > 编程语言 >javassist 报错 ; is missing

javassist 报错 ; is missing

时间:2023-04-18 14:56:17浏览次数:49  
标签:java missing Parser CtNewMethod 报错 javassist com compiler

在通过javassist 编写的时候,主要代码如下:

String code = "for (String aa : tt){....}";

启动后报 

Exception in thread "main" javassist.CannotCompileException: [source error] ; is missing
    at javassist.CtNewMethod.make(CtNewMethod.java:84)
    at javassist.CtNewMethod.make(CtNewMethod.java:50)
    at javassist.CtMethod.make(CtMethod.java:140)
    at com.summersec.attack.deser.echo.AllEcho.genPayload(AllEcho.java:25)
    at com.summersec.attack.deser.util.Gadgets.createTemplatesImpl(Gadgets.java:65)
    at com.summersec.attack.deser.util.Gadgets.createTemplatesImpl(Gadgets.java:57)
    at com.summersec.attack.deser.echo.AllEcho.main(AllEcho.java:36)
Caused by: compile error: ; is missing
    at javassist.compiler.Parser.parseDeclarators(Parser.java:643)
    at javassist.compiler.Parser.parseDeclarationOrExpression(Parser.java:600)
    at javassist.compiler.Parser.parseFor(Parser.java:380)
    at javassist.compiler.Parser.parseStatement(Parser.java:279)
    at javassist.compiler.Parser.parseBlock(Parser.java:307)
    at javassist.compiler.Parser.parseStatement(Parser.java:261)
    at javassist.compiler.Parser.parseDo(Parser.java:351)
    at javassist.compiler.Parser.parseStatement(Parser.java:277)
    at javassist.compiler.Parser.parseBlock(Parser.java:307)
    at javassist.compiler.Parser.parseMethod2(Parser.java:172)
    at javassist.compiler.Javac.compileMethod(Javac.java:156)
    at javassist.compiler.Javac.compile(Javac.java:102)
    at javassist.CtNewMethod.make(CtNewMethod.java:79)
    ... 6 more

多方搜索也没找到原因,最后在 github 上找到结果,原来javassit不支持 for 循环,使用while后不在报错

参考:github.com

标签:java,missing,Parser,CtNewMethod,报错,javassist,com,compiler
From: https://www.cnblogs.com/kid-pan/p/17329501.html

相关文章

  • MySQL多源复制报错,在线更改relay_log_info_repository,master_info_repository参数
    MySQL在5.7之后才支持多源复制,之前介绍过官方文档。原理:多源复制加入了一个叫做Channel的概念,每一个Channel都是一个独立的Slave,都有一个IO_THREAD和SQL_THREAD。原理和普通复制一样。我们只需要对每一个Master执行ChangeMaster语句,只需要在每个语句最后使用ForChannel来进行......
  • DG搭建报错 ORA-16047: DGID mismatch between destination setting and target datab
    最近有需求要给数据库新搭一个DG变为一主两从,搭好之后测试发现一直没有同步,检查问题。从库一直等待接收71855号日志主库有归档日志发送失败的报错,可以看到归档到dest_2(原从库)是成功的,而到desc_3(新从库)则是失败的根据日志提示查看arc2进程的trace日志看到有ora-16058和ora-16047的报......
  • Oracle 单进程可用PGA为4G限制导致的ORA-4030报错
    一、问题背景收到开发反馈,系统报表运行过程中报错,一看发现是ORA-4030,内存的问题查看alert日志,发现期间有大量ORA-4030报错,并且主要是pga相关的打开trace文件,可以看到报错进程使用内存接近4G但是查看pga参数设置,发现设置的上限是20G,完全没到,并且期间总的PGA使用率也不高 二、报错......
  • 应用连MySQL 报错ERROR 1129 Host is blocked because of many connection errors
    开发反馈应用连MySQL报错 createconnectionSQLException,url:连接串,errorCode1129。搜索1129报错,报错内容为:Hostisblockedbecauseofmanyconnectionerrors一、报错原因同一个ip在短时间内产生太多中断的数据库连接(超过mysql数据库max_connection_errors设置),导......
  • 虚拟机ubuntu22.4报错ok_update_request:I/oerror, dev fdo, sector 0 op OX0:(READ)tl
    ok_update_request:I/oerror,devfdo,sector0opOX0:(READ)tlags0x0phys_segprioclass0BufferI/oerrorondevfdo,logicalblock0,asyncpageread如下图 不管你用的HYPER-V创建虚拟机,还是VMVBOX等。只要找到这里: 把DVD/CD或者软驱修改为物理驱动器,即可。 ......
  • centos登陆报错:System is booting up. Unprivileged users are not permitted to log
    问题:开机后ssh到服务器出现此报错,大概意思是系统正在启动中非授权用户不允许登录,解决:不需要处理,等会儿系统彻底起来后重新登陆就没有了,对应文件在/run/nologin ......
  • wangeditor5 vue2 安装后运行报错 Error in ./node_modules/@wangeditor/editor/d
    问题解决方法:原因就是引入的链接不对,使用cnpm、npm、pnpm、yarn安装插件的时候,路径都是不一样的,所以要对应着改路径就可以了链接:https://github.com/wangeditor-team/wangEditor/issues/4041......
  • vSphere Web Client 添加主机进VSAN集群时报错“SAN 主机移至目标群集: vSAN 群集的 U
    案例描述vSphereWebClient添加主机进VSAN集群时,报“无法将vSAN主机移至目标群集:vSAN群集的UUID不匹配(主机:5223a6c9-cf94-f978-1abb-9906506626be,目标:523ae663-623b-e2fc-39e3-43b15c5ca801)。”错误。原因分析是因为该esxi主机已经加入过其它集群,和现在新加......
  • idea启动项目一直卡在build,编译报错outOfMemoryError:GC overhead
    今天启动项目突然不行了,一直卡在build,后来百度了下,说改编译方式,改成runmavengol,启动项目可以了但发现进行单元测试时还是不行,看到有报错outOfMemoryError:GCoverhead,原来是编译内存不够了解决方法:file->settings->Build->Compiler,按图改一下内容,OK了 ......
  • VC6: LNK 1202 missing debugging info in .pdb file
    "fatalerrorlink1202:Debug\vc60.pdbismissingdebugginginformationforreferencingmodule" 产生原因是:在当前项目中引用了另一个项目的lib库,我将当将项目设置生成PDBtype:Con,但是另一个项目的lib库可能没有对应的pdb,重新编译那个lib库,重引用它再编译当前项目,......