版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.有时候,我们在没有java源程序的情况下,想改变.CLASS文件的部分内容输出或者改变跳转流,怎么办呢? 介绍2个java hacker的工具javassist 以及jclasslib。下载javassist-3.1RC2和jclasslib_windows_3_0。解压后,将2个JAR 加入classpath内。原文件HelloWorld.javapackage com.unmi; public class HelloWorld public static void main(String args) System.out.println("Hello,gorld!")
2、; 想修改输出的”hello world”,用jclasslib.exe 检测可以看到属于常量池的23。 如下代码就针对23 做调整。package com.unmi;import javassist.ClassPool;import javassist.CtClass;import javassist.CtMethod;import java.io.*;import org.gjt.jclasslib.io.ClassFileWriter;import org.gjt.jclasslib.structures.CPInfo;import org.gjt.jclasslib.structure
3、s.ClassFile;import org.gjt.jclasslib.structures.constants.ConstantStringInfo;import org.gjt.jclasslib.structures.constants.ConstantUtf8Info;public class JclasslibTest public static void main(String args) throws Exception String filePath = "D:java_projcomunmiHelloWorld.class" FileInputStrea
4、m fis = new FileInputStream( filePath); DataInput di = new DataInputStream(fis); ClassFile cf = new ClassFile(); cf.read(di); CPInfo infos = cf.getConstantPool(); int count = infos.length; for (int i = 0; i < count; i+) if (infosi != null) System.out.print(i); System.out.print(" = "); S
5、ystem.out.print(infosi.getVerbose(); System.out.print(" = "); System.out.println(infosi.getTagVerbose(); if(i = 23) ConstantUtf8Info uInfo = (ConstantUtf8Info)infosi; uInfo.setString("china alibaba "); cf.setConstantPool(infos); fis.close(); File f = new File(filePath + "c&q
6、uot;); ClassFileWriter.writeToFile(f, cf); D:java_proj>javac -cp %CLASSPATH%;. com/unmi/JclasslibTest.javaD:java_proj>java com.unmi.JclasslibTest1 = com/unmi/HelloWorld = CONSTANT_Class_info2 = com/unmi/HelloWorld = CONSTANT_Utf8_info3 = java/lang/Object = CONSTANT_Class_info4 = java/lang/Obje
7、ct = CONSTANT_Utf8_info5 = <init> = CONSTANT_Utf8_info6 = ()V = CONSTANT_Utf8_info7 = Code = CONSTANT_Utf8_info8 = java/lang/Object.<init> = CONSTANT_Methodref_info9 = <init>()V = CONSTANT_NameAndType_info10 = LineNumberTable = CONSTANT_Utf8_info11 = LocalVariableTable = CONSTANT_U
8、tf8_info12 = this = CONSTANT_Utf8_info13 = Lcom/unmi/HelloWorld; = CONSTANT_Utf8_info14 = main = CONSTANT_Utf8_info15 = (Ljava/lang/String;)V = CONSTANT_Utf8_info16 = java/lang/System.out = CONSTANT_Fieldref_info17 = java/lang/System = CONSTANT_Class_info18 = java/lang/System = CONSTANT_Utf8_info19
9、= outLjava/io/PrintStream; = CONSTANT_NameAndType_info20 = out = CONSTANT_Utf8_info21 = Ljava/io/PrintStream; = CONSTANT_Utf8_info22 = Hello,gorld! = CONSTANT_String_info23 = Hello,gorld! = CONSTANT_Utf8_info24 = java/io/PrintStream.println = CONSTANT_Methodref_info25 = java/io/PrintStream = CONSTAN
10、T_Class_info26 = java/io/PrintStream = CONSTANT_Utf8_info27 = println(Ljava/lang/String;)V = CONSTANT_NameAndType_info28 = println = CONSTANT_Utf8_info29 = (Ljava/lang/String;)V = CONSTANT_Utf8_info30 = args = CONSTANT_Utf8_info31 = Ljava/lang/String; = CONSTANT_Utf8_info32 = SourceFile = CONSTANT_Utf8_info33 = HelloWorld.java = CONSTANT_Utf8_info更改生成的HelloWorld.classc 为HelloWorld.class执行输出为D:java_proj>java com.unmi.HelloWorldchina alibaba 另外,也可以修改if 语句跳转Jclas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业固定资产盘点清单及报告模板
- 客户关系管理客户关系生命周定期回访模板
- 工业互联网平台安全防护方案设计指南
- 信息系统安全承诺书3篇
- 量子计算领域产业承诺书范文6篇
- 湖北省武汉市洪山区2026年初三4月调研测试(二诊)英语试题试卷含解析
- 2026年浙江省永康市龙川校中考冲刺二英语试题含解析
- 江苏省淮安市名校2026年初三下学期4月份中考模拟训练(一)英语试题含解析
- 2026年黑龙江省佳木斯市桦南县初三第二次教学质量检查考试英语试题试卷含解析
- 山东省德州市德城区重点中学2026年初三3月月考调研考试语文试题含解析
- 科研项目团队介绍
- 2026年江西电力职业技术学院单招职业适应性考试必刷测试卷附答案
- 黑龙江省安全生产条例讲解
- 外墙砸瓷砖施工方案
- (独家!)2025年3月29日全国事业单位事业编联考A类《职测》真题及答案
- 知到《微观经济学(重庆财经学院)》智慧树网课完整版章节测试答案
- 基于Java的银行管理系统开发文档
- 多重耐药菌监测与防控方案
- 2025年护理模拟试题(附答案)
- 2025至2030同种异体肌腱移植行业项目调研及市场前景预测评估报告
- 江苏省省扬州市2025届高三上学期期末检测-政治试卷(含答案)
评论
0/150
提交评论