(10-12-2014, 09:58 AM)Bibl Wrote: [ -> ] (10-12-2014, 09:55 AM)konloch Wrote: [ -> ] (10-12-2014, 09:28 AM)Bibl Wrote: [ -> ]https://bitbucket.org/0xJAVA/byte-engineer/src
Looks sexy, I'll have to take a better look at this later.
Is there any documentation on it?
not really its not even done but when I need stuff I just add
Interesting project non-the-less, favorited it for later.
What tools does it feature atm?
load jars from file or url
Code:
JarDownloader dl = new JarDownloader(new JarInfo(new File("jar.jar")));
boolean worked = dl.parse();
Map<String, ClassNode> nodes = dl.getContents();
Code:
JarDumper dumper = new JarDumper(contents);
dumper.dump(new File("out.jar"));
Add Analysers, store class, field and method data into HookMaps
A lot of filters
https://bitbucket.org/0xJAVA/byte-engine...?at=master
Code:
Refactorer refactorer = new Refactorer(hookMap, contents);
refactorer.run();
changes whole jars class, method and field names based on mapping data.
Code:
InstructionPrinter.consolePrint(methodName);
pretty prints
Code:
InstructionSearcher searcher = new InstructionSearcher(m.instructions, pattern);
boolean match = searcher.search();
List<AbstractInsnNode[]> matchedInsns = searched.getMatches();
find opcode/instruction patterns in code.
(10-12-2014, 10:21 AM)Bibl Wrote: [ -> ]load jars from file or url
Code:
JarDownloader dl = new JarDownloader(new JarInfo(new File("jar.jar")));
boolean worked = dl.parse();
Map<String, ClassNode> nodes = dl.getContents();
Code:
JarDumper dumper = new JarDumper(contents);
dumper.dump(new File("out.jar"));
Add Analysers, store class, field and method data into HookMaps
A lot of filters
https://bitbucket.org/0xJAVA/byte-engine...?at=master
Code:
Refactorer refactorer = new Refactorer(hookMap, contents);
refactorer.run();
changes whole jars class, method and field names based on mapping data.
Code:
InstructionPrinter.consolePrint(methodName);
pretty prints
Code:
InstructionSearcher searcher = new InstructionSearcher(m.instructions, pattern);
boolean match = searcher.search();
List<AbstractInsnNode[]> matchedInsns = searched.getMatches();
find opcode/instruction patterns in code.
Sexy as fuck, I might start contributing to this once I'm done with Bytecode Viewer.
Nice, mine differs slightly:
Code:
public static void dumpJar(List<ClassNode> classes, Manifest manifest, String absolutePath) {
try (JarOutputStream jos = new JarOutputStream(new FileOutputStream(new File(absolutePath)), manifest)) {
for (ClassNode cn : classes) {
ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS);
jos.putNextEntry(new JarEntry(cn.name + ".class"));
cn.accept(writer);
jos.write(writer.toByteArray());
}
} catch (IOException e) {
e.printStackTrace();
}
}
Gotta have a manifest to make it runnable xD