From e70573589c092b0d2474fa745b1346379cf8767b Mon Sep 17 00:00:00 2001 From: jeff Date: Fri, 5 Sep 2014 01:15:43 -0400 Subject: added proguard to the gradle config to create obfuscated jars for testing added simple tests for the deobufscator class --- test/cuchaz/enigma/TestDeobfuscator.java | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 test/cuchaz/enigma/TestDeobfuscator.java (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java new file mode 100644 index 0000000..3310fbc --- /dev/null +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -0,0 +1,51 @@ +package cuchaz.enigma; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.util.List; + +import org.junit.Test; + +import com.beust.jcommander.internal.Lists; + +import cuchaz.enigma.mapping.ClassEntry; + +public class TestDeobfuscator +{ + private Deobfuscator getDeobfuscator( ) + throws IOException + { + return new Deobfuscator( new File( "build/libs/testCases.obf.jar" ) ); + } + + @Test + public void loadJar( ) + throws Exception + { + getDeobfuscator(); + } + + @Test + public void getClasses( ) + throws Exception + { + Deobfuscator deobfuscator = getDeobfuscator(); + List obfClasses = Lists.newArrayList(); + List deobfClasses = Lists.newArrayList(); + deobfuscator.getSeparatedClasses( obfClasses, deobfClasses ); + assertEquals( 1, obfClasses.size() ); + assertEquals( "none/a", obfClasses.get( 0 ).getName() ); + assertEquals( 1, deobfClasses.size() ); + assertEquals( "cuchaz/enigma/inputs/Keep", deobfClasses.get( 0 ).getName() ); + } + + @Test + public void decompileClass( ) + throws Exception + { + Deobfuscator deobfuscator = getDeobfuscator(); + deobfuscator.getSource( deobfuscator.getSourceTree( "none/a" ) ); + } +} -- cgit v1.2.3 From 730238f3bab1c680424e0ac74178c33b15b43eb5 Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 7 Sep 2014 22:30:28 -0400 Subject: added some basic tests for the deobufscator and the jar index --- test/cuchaz/enigma/TestDeobfuscator.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 3310fbc..3e679fb 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -1,3 +1,14 @@ +/******************************************************************************* + * Copyright (c) 2014 Jeff Martin.\ + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/gpl.html + * + * Contributors: + * Jeff Martin - initial API and implementation + ******************************************************************************/ package cuchaz.enigma; import static org.junit.Assert.*; @@ -17,7 +28,7 @@ public class TestDeobfuscator private Deobfuscator getDeobfuscator( ) throws IOException { - return new Deobfuscator( new File( "build/libs/testCases.obf.jar" ) ); + return new Deobfuscator( new File( "build/libs/testLoneClass.obf.jar" ) ); } @Test -- cgit v1.2.3 From a8d0f97c270e32653aa246d7437478885077e24d Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 20 Sep 2014 17:11:25 -0400 Subject: cleaned up imports. I have no idea why Eclipse likes importing jcommander classes instead of guava classes, but it's annoyong! --- test/cuchaz/enigma/TestDeobfuscator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 3e679fb..3bb0c48 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -11,7 +11,7 @@ ******************************************************************************/ package cuchaz.enigma; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; import java.io.File; import java.io.IOException; @@ -19,7 +19,7 @@ import java.util.List; import org.junit.Test; -import com.beust.jcommander.internal.Lists; +import com.google.common.collect.Lists; import cuchaz.enigma.mapping.ClassEntry; -- cgit v1.2.3 From 8409dea980fa03c06b180969c5e0696f7cb5474b Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 21 Sep 2014 00:32:03 -0400 Subject: started unit testing for inner/anonymous class detection --- test/cuchaz/enigma/TestDeobfuscator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 3bb0c48..71de24a 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -11,7 +11,7 @@ ******************************************************************************/ package cuchaz.enigma; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.*; import java.io.File; import java.io.IOException; -- cgit v1.2.3 From 035e73fba69ab06172ae9d784b9e0e4fffeb8388 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 8 Oct 2014 23:54:08 -0400 Subject: relicense as LGPL --- test/cuchaz/enigma/TestDeobfuscator.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 71de24a..1f19329 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -1,10 +1,9 @@ /******************************************************************************* - * Copyright (c) 2014 Jeff Martin.\ - * + * Copyright (c) 2014 Jeff Martin. * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/gpl.html + * are made available under the terms of the GNU Lesser General Public + * License v3.0 which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl.html * * Contributors: * Jeff Martin - initial API and implementation -- cgit v1.2.3 From 812e2a4630ef01463ff153ba5ffae675e8ac24ac Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 9 Oct 2014 19:37:19 -0400 Subject: reverting to GPL license --- test/cuchaz/enigma/TestDeobfuscator.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 1f19329..71de24a 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -1,9 +1,10 @@ /******************************************************************************* - * Copyright (c) 2014 Jeff Martin. + * Copyright (c) 2014 Jeff Martin.\ + * * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser General Public - * License v3.0 which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/lgpl.html + * are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/gpl.html * * Contributors: * Jeff Martin - initial API and implementation -- cgit v1.2.3 From 959cb5fd4f9586ec3bd265b452fe25fe1db82e3f Mon Sep 17 00:00:00 2001 From: jeff Date: Tue, 13 Jan 2015 23:25:04 -0500 Subject: source format change don't hate me too much if you were planning a big merge. =P --- test/cuchaz/enigma/TestDeobfuscator.java | 34 ++++++++++++-------------------- 1 file changed, 13 insertions(+), 21 deletions(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 71de24a..45d27c4 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -23,40 +23,32 @@ import com.google.common.collect.Lists; import cuchaz.enigma.mapping.ClassEntry; -public class TestDeobfuscator -{ - private Deobfuscator getDeobfuscator( ) - throws IOException - { - return new Deobfuscator( new File( "build/libs/testLoneClass.obf.jar" ) ); +public class TestDeobfuscator { + + private Deobfuscator getDeobfuscator() throws IOException { + return new Deobfuscator(new File("build/libs/testLoneClass.obf.jar")); } @Test - public void loadJar( ) - throws Exception - { + public void loadJar() throws Exception { getDeobfuscator(); } @Test - public void getClasses( ) - throws Exception - { + public void getClasses() throws Exception { Deobfuscator deobfuscator = getDeobfuscator(); List obfClasses = Lists.newArrayList(); List deobfClasses = Lists.newArrayList(); - deobfuscator.getSeparatedClasses( obfClasses, deobfClasses ); - assertEquals( 1, obfClasses.size() ); - assertEquals( "none/a", obfClasses.get( 0 ).getName() ); - assertEquals( 1, deobfClasses.size() ); - assertEquals( "cuchaz/enigma/inputs/Keep", deobfClasses.get( 0 ).getName() ); + deobfuscator.getSeparatedClasses(obfClasses, deobfClasses); + assertEquals(1, obfClasses.size()); + assertEquals("none/a", obfClasses.get(0).getName()); + assertEquals(1, deobfClasses.size()); + assertEquals("cuchaz/enigma/inputs/Keep", deobfClasses.get(0).getName()); } @Test - public void decompileClass( ) - throws Exception - { + public void decompileClass() throws Exception { Deobfuscator deobfuscator = getDeobfuscator(); - deobfuscator.getSource( deobfuscator.getSourceTree( "none/a" ) ); + deobfuscator.getSource(deobfuscator.getSourceTree("none/a")); } } -- cgit v1.2.3 From 2fbcf8e5c4eec0aa4a4fc59c7cc8abac33b1429c Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 19 Jan 2015 22:22:57 -0500 Subject: solved tricky issue with incorrect translation of fields/methods referenced by a subclass instead of the declaring class --- test/cuchaz/enigma/TestDeobfuscator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 45d27c4..6ac4c78 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -26,7 +26,7 @@ import cuchaz.enigma.mapping.ClassEntry; public class TestDeobfuscator { private Deobfuscator getDeobfuscator() throws IOException { - return new Deobfuscator(new File("build/libs/testLoneClass.obf.jar")); + return new Deobfuscator(new File("build/testLoneClass.obf.jar")); } @Test -- cgit v1.2.3 From 448685653e90415ebe10b08e8335462b81c30421 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 2 Feb 2015 21:26:10 -0500 Subject: fix issue with bridge methods --- test/cuchaz/enigma/TestDeobfuscator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 6ac4c78..129d7b2 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -13,9 +13,9 @@ package cuchaz.enigma; import static org.junit.Assert.*; -import java.io.File; import java.io.IOException; import java.util.List; +import java.util.jar.JarFile; import org.junit.Test; @@ -26,7 +26,7 @@ import cuchaz.enigma.mapping.ClassEntry; public class TestDeobfuscator { private Deobfuscator getDeobfuscator() throws IOException { - return new Deobfuscator(new File("build/testLoneClass.obf.jar")); + return new Deobfuscator(new JarFile("build/testLoneClass.obf.jar")); } @Test -- cgit v1.2.3 From 818716acb3992e602e01725b6e151c1eb0f6c2e2 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 5 Feb 2015 23:52:55 -0500 Subject: fix test code formatting and disable the super duper slow test for now --- test/cuchaz/enigma/TestDeobfuscator.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'test/cuchaz/enigma/TestDeobfuscator.java') diff --git a/test/cuchaz/enigma/TestDeobfuscator.java b/test/cuchaz/enigma/TestDeobfuscator.java index 129d7b2..26d492d 100644 --- a/test/cuchaz/enigma/TestDeobfuscator.java +++ b/test/cuchaz/enigma/TestDeobfuscator.java @@ -25,17 +25,20 @@ import cuchaz.enigma.mapping.ClassEntry; public class TestDeobfuscator { - private Deobfuscator getDeobfuscator() throws IOException { + private Deobfuscator getDeobfuscator() + throws IOException { return new Deobfuscator(new JarFile("build/testLoneClass.obf.jar")); } @Test - public void loadJar() throws Exception { + public void loadJar() + throws Exception { getDeobfuscator(); } @Test - public void getClasses() throws Exception { + public void getClasses() + throws Exception { Deobfuscator deobfuscator = getDeobfuscator(); List obfClasses = Lists.newArrayList(); List deobfClasses = Lists.newArrayList(); @@ -47,7 +50,8 @@ public class TestDeobfuscator { } @Test - public void decompileClass() throws Exception { + public void decompileClass() + throws Exception { Deobfuscator deobfuscator = getDeobfuscator(); deobfuscator.getSource(deobfuscator.getSourceTree("none/a")); } -- cgit v1.2.3