zhaomingzm_23 写道
1.Javassist 小日本的东西,先鄙视一下
如果用
yGroud 加密过的,你基本就没办法,你无法writeFile覆盖它长文件名的class,你可能都不知道要覆盖哪个。
2.没有什么软件是破解不了的(包括联网验证,我可以根本不让它联网,自己模拟一个response)
引用
看雪的Tutorial:
软件的破解技术与保护技术这两者之间本身就是矛与盾的关系,它们是在互相斗争中发展进化的。这种技术上的较量归根到底是一种利益的冲突。
3.当然在只有class的前提下
想去掉原来讨厌的name, logo , not registered infomations 或者什么你不喜欢的东西,知道有个javassist你可以用,总比直接修改class byte[] 强点。
另:了解到
jclasslib 也可以做这些事情,结合自带的Bytecode viewer 可以直接查看字节码
public class Name
{
public static void main(String... mike) {
System.out.println("测试");
}
}
package com.mike.jclasslib.demo;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import org.gjt.jclasslib.io.ClassFileWriter;
import org.gjt.jclasslib.structures.CPInfo;
import org.gjt.jclasslib.structures.ClassFile;
import org.gjt.jclasslib.structures.constants.ConstantUtf8Info;
/**
* @since 2010-5-13上午09:12:28
*/
public class ConstantPoolChanger {
private static String filePath = "C:/com/Name.class";
private static final String suffix = ".jclasslib";
public static void main(String[] args) throws Exception {
FileInputStream 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 (infos != null) {
System.out.print(i);
if(i == 18){
//这里的18就是在Bytecode viewer 中查看得到的。
ConstantUtf8Info uInfo = (ConstantUtf8Info) infos[i];
System.out.println(
uInfo.getString()
);
uInfo.setString("mike");
}
}
}
cf.setConstantPool(infos);
fis.close();
//写到文件
File f = new File(filePath + suffix);
ClassFileWriter.writeToFile(f, cf);
}
}
分享到:
相关推荐
赠送jar包:javassist-3.21.0-GA.jar; 赠送原API文档:javassist-3.21.0-GA-javadoc.jar; 赠送源代码:javassist-3.21.0-GA-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:javassist-3.24.0-GA.jar; 赠送原API文档:javassist-3.24.0-GA-javadoc.jar; 赠送源代码:javassist-3.24.0-GA-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:javassist-3.23.1-GA.jar; 赠送原API文档:javassist-3.23.1-GA-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
下面我们将分别使用`jclasslib`和`javassist`来实现这个需求。 ##### 使用jclasslib修改 1. **打开`.class`文件**: 使用`jclasslib.exe`打开`HelloWorld.class`文件,找到输出字符串所在的常量池位置(如例子中...
赠送jar包:javassist-3.27.0-GA.jar; 赠送原API文档:javassist-3.27.0-GA-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
赠送jar包:javassist-3.20.0-GA.jar; 赠送原API文档:javassist-3.20.0-GA-javadoc.jar; 赠送源代码:javassist-3.20.0-GA-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:javassist-3.18.1-GA.jar; 赠送原API文档:javassist-3.18.1-GA-javadoc.jar; 赠送源代码:javassist-3.18.1-GA-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:javassist-3.18.1-GA.jar; 赠送原API文档:javassist-3.18.1-GA-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
赠送jar包:javassist-3.19.0-GA.jar; 赠送原API文档:javassist-3.19.0-GA-javadoc.jar; 赠送源代码:javassist-3.19.0-GA-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:javassist-3.21.0-GA.jar; 赠送原API文档:javassist-3.21.0-GA-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
赠送jar包:javassist-3.23.1-GA.jar; 赠送原API文档:javassist-3.23.1-GA-javadoc.jar; 赠送源代码:javassist-3.23.1-GA-sources....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:javassist-3.24.0-GA.jar; 赠送原API文档:javassist-3.24.0-GA-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
AopAutoTryCatch 使用Javassist(一个自定义的Gradle插件)来实现自动try-catch用Javassist实现AOP思想,达到一个注解即可自动加try-catch的目的,当然,AOP的应用场景还有很多,这里抛砖引玉,希望给大家一些参考。...
赠送jar包:javassist-3.19.0-GA.jar; 赠送原API文档:javassist-3.19.0-GA-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
Javaagent和javassist是Java开发中的两个重要工具,它们在软件开发中有着广泛的应用,特别是在动态代理、代码增强和字节码操作等领域。本篇将详细介绍这两个技术,并结合实际示例进行解析。 首先,让我们来了解`...
在这个“JavaAgent: Javassist与Asm JavaAgent字节码动态编程项目”中,我们将深入探讨如何利用Javassist和ASM这两个库来实现JavaAgent。 首先,Javassist是一个开源的Java字节码操作框架,它使得开发者可以在运行...
开发工具 javassist-3.21.0-GA开发工具 javassist-3.21.0-GA开发工具 javassist-3.21.0-GA开发工具 javassist-3.21.0-GA开发工具 javassist-3.21.0-GA开发工具 javassist-3.21.0-GA开发工具 javassist-3.21.0-GA开发...
开源的分析、编辑和创建Java字节码的类库,加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态AOP框架。
通过这个工具,开发者无需重新编译源代码就能对Java类进行修改和增强,这对于理解和调试已部署的软件或者创建元编程应用非常有用。 Javassist主要提供了以下功能: 1. **字节码生成**:Javassist可以动态生成类的...
在IT行业中,`Java Agent`和`javassist`是两个非常关键的技术,它们在软件开发、测试和性能优化中发挥着重要作用。`Java Agent`允许我们对Java应用程序进行预处理,比如字节码注入,而`javassist`库则提供了一个方便...