Search in sources :

Example 1 with MappingData

use of the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MappingData in project bytecode-viewer by Konloch.

the class RenameMethods method obfuscate.

@Override
public void obfuscate() {
    int stringLength = getStringLength();
    System.out.println("Obfuscating method names...");
    for (ClassNode c : BytecodeViewer.getLoadedClasses()) {
        methodLoop: for (Object o : c.methods.toArray()) {
            MethodNode m = (MethodNode) o;
            /* As we dont want to rename native dll methods */
            if ((m.access & Opcodes.ACC_NATIVE) != 0)
                continue methodLoop;
            if (m.access != Opcodes.ACC_ABSTRACT && m.access != Opcodes.ACC_ABSTRACT + Opcodes.ACC_STATIC && m.access != Opcodes.ACC_ABSTRACT + Opcodes.ACC_STATIC + Opcodes.ACC_PUBLIC && m.access != Opcodes.ACC_ABSTRACT + Opcodes.ACC_STATIC + Opcodes.ACC_PRIVATE && m.access != Opcodes.ACC_ABSTRACT + Opcodes.ACC_STATIC + Opcodes.ACC_PROTECTED && m.access != Opcodes.ACC_ABSTRACT + Opcodes.ACC_PUBLIC && m.access != Opcodes.ACC_ABSTRACT + Opcodes.ACC_PRIVATE && m.access != Opcodes.ACC_ABSTRACT + Opcodes.ACC_PROTECTED) {
                if (!m.name.equals("main") && !m.name.equals("<init>") && !m.name.equals("<clinit>")) {
                    String newName = generateUniqueName(stringLength);
                    BytecodeViewer.refactorer.getHooks().addMethod(new MethodMappingData(c.name, new MappingData(m.name, newName), m.desc));
                /*ASMUtil_OLD.renameMethodNode(c.name, m.name, m.desc,
								null, newName, null);*/
                }
            }
        }
    }
    System.out.println("Obfuscated method names.");
}
Also used : ClassNode(org.objectweb.asm.tree.ClassNode) MethodNode(org.objectweb.asm.tree.MethodNode) MethodMappingData(the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MethodMappingData) MappingData(the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MappingData) MethodMappingData(the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MethodMappingData)

Example 2 with MappingData

use of the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MappingData in project bytecode-viewer by Konloch.

the class RenameFields method obfuscate.

@Override
public void obfuscate() {
    int stringLength = getStringLength();
    System.out.println("Obfuscating fields names...");
    for (ClassNode c : BytecodeViewer.getLoadedClasses()) {
        for (Object o : c.fields.toArray()) {
            FieldNode f = (FieldNode) o;
            String newName = generateUniqueName(stringLength);
            BytecodeViewer.refactorer.getHooks().addField(new FieldMappingData(c.name, new MappingData(f.name, newName), f.desc));
        /*ASMUtil_OLD.renameFieldNode(c.name, f.name, f.desc, null, newName, null);
				f.name = newName;*/
        }
    }
    System.out.println("Obfuscated field names.");
}
Also used : FieldMappingData(the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.FieldMappingData) ClassNode(org.objectweb.asm.tree.ClassNode) FieldNode(org.objectweb.asm.tree.FieldNode) MappingData(the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MappingData) FieldMappingData(the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.FieldMappingData)

Aggregations

ClassNode (org.objectweb.asm.tree.ClassNode)2 MappingData (the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MappingData)2 FieldNode (org.objectweb.asm.tree.FieldNode)1 MethodNode (org.objectweb.asm.tree.MethodNode)1 FieldMappingData (the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.FieldMappingData)1 MethodMappingData (the.bytecode.club.bytecodeviewer.obfuscators.mapping.data.MethodMappingData)1