- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《java相关class文件反编译程序》.doc
java相关class文件反编译程序
武汉大学国际软件学院 李三乎
在学习java的时候,总会有很多程序怎么也想不出来,这时候可以通过反编译程序将carnegie上给的class文件反编译一下,这样可以更有效的去学习java我们编程有时候缺少的不是知识,而是经验和见识,这种方法可以有效的提高自己的水平。同时,由于java语言的特点,java程序比其它语言更容易被反编译,所以程序员要深入了解这些反编译手段,才能保护自己的产权。言归正传,下面总结一下常见常用的反编译程序,以及它们的使用。
反编译程序中做的比较好的也比较常见的有三种,呃这个是参考资料知道的,链接是/view/9a3e984bcf84b9d528ea7a23.html本文就是用一下这几个程序,再截几个图。第一种是jad,它是用C++写的,很快,不过是命令行程序。我用的是1.5.8g的版本,可以反编译1.6了。把要编译的程序放在与jad程序同目录,然后用cmd打开该目录,使用jad命令就可以了,具体操作见截图。
常用的jad命令从网上摘了点。参考了/tool/other/11519.html我的jad也是在那里下的。
java反编译工具jad 1.5.8g,可以反编译jdk 1.5,jdk 1.6
反编译工具jad简单用法?以下假设jad.exe在c:\java目录下?一、基本用法?Usage:????jad?[option(s)]?filename(s)?直接输入类文件名,且支持通配符,如下所示。?c:\java\jad?example1.class?c:\java\jad?*.class?结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。?
二、Option?-o?不提示,覆盖源文件?三、Option?-s?c:\java\jad?-sjava?example1.class?反编译结果以.java为扩展名。?四、Option?-p?将反编译结果输出到屏幕?c:\java\jad?-p?example1.class?将反编译结果重定向到文件?c:\java\jad?-p?example1.classexample1.java?五、Option?-d?指定反编译的输出文件目录?c:\java\jad?-o?-dtest?-sjava?*.class 命令行选择的列表????? -a??????? - 用JVM字节格式来注解输出????? -af?????? - 同 -a,但是注解的时候用全名称????? -clear??? - 清除所有的前缀????? -b??????? - 输出多于的括号 (e.g., if(a) { b(); }, default: no)????? -d dir - 指定输出文件的文件目录????? -dead????? -试图反编译代码的dead 部分(default: no)????? -disass?? - 不用用字节码的方式反编译 (no JAVA source generated)????? -f??????? - 输出整个的名字,无论是类还是方法????? -ff??????? -输出类的成员在方法之前 (default: after methods)????? -i??????? - 输出所有的变量的缺省的最初值????? -lnum??? - 将strings分割成指定数目的块的字符 (default: no)????? -lnc????? - 将输出文件用行号来注解 (default: no)????? -nl?????? - 分割strings用新行字符 newline character (default: no)????? -nodos??? -不要去检查class文件是否以dos方式写 (CR before NL, default: check)????? -nocast?? - 不要生成辅助文件????? -nocode??? -不要生成方法的源代码?????? -noconv??? - 不要转换java的定义符 (default: do)????? -noctor?? - 不允许空的构造器存在????? -noinner?? -关掉对内部类的支持 (default: turn on)????? -nolvt??? - 忽略局部变量的表信息????? -nonlb???? - 不要输出一个新行在打开一个括号之前 (default: do)????? -o??????? - 无需确认直接覆盖输出 (default: no)????? -p
您可能关注的文档
最近下载
- EA211汽油发动机活塞连杆组设计和有限元分析.docx
- 纲要(上)第29课中国特色社会主义进入新时代课件(共22张PPT)(含音频+视频).pptx VIP
- 心衰病中医护理方案幻灯片.ppt VIP
- 2023年山东春季高考护理专业理论知识试题含答案.doc VIP
- 2025年道德与法治中考模拟试卷及答案 (1).doc VIP
- 《EPC总承包模式研究国内外文献综述》4300字.docx VIP
- 医院项目建设方案.docx VIP
- 2024-2024年整理2024山东春季高考护理专业理论知识试题(含答案)汇编.pdf VIP
- 盆腔器官脱垂的中国诊治指南(2023年版).docx
- 2023年浙江镜岭水库有限公司招聘考试真题.pdf VIP
文档评论(0)