Commit Graph

423 Commits

Author SHA1 Message Date
Panxiaobo
1e2a641d00 Added tag 0.0.9.10 for changeset 2395569c749a 2012-10-21 13:05:52 +08:00
Panxiaobo
e4a43f67d1 merge 0.0.9.10 to default 2012-10-21 13:05:33 +08:00
Panxiaobo
f00474ffd9 Fix a bug in ZeroTransformer
--HG--
branch : 0.0.9.x
2012-10-18 22:39:31 +08:00
Panxiaobo
02edfff1d5 Add support to null array initial to NPE
Fix issue 122

--HG--
branch : 0.0.9.x
2012-10-18 22:32:31 +08:00
Panxiaobo
8b310b47b7 replace Type in ASMifier
--HG--
branch : 0.0.9.x
2012-10-18 11:23:46 +08:00
Panxiaobo
4c0be56d91 Fix Bug in generate InnerClass
--HG--
branch : 0.0.9.x
2012-10-16 19:22:28 +08:00
Panxiaobo
7439fc0c63 Fix NPE when generate jasmin file if no instruction
--HG--
branch : 0.0.9.x
2012-10-16 18:27:58 +08:00
Panxiaobo
3985f946e9 use 1.3 to provider jar remap
--HG--
branch : 0.0.9.x
2012-10-14 18:47:06 +08:00
Panxiaobo
0a2b662d8a 1. Not generate tryCatchBlock in IrMethod2AsmMethod
2. Add the ability to remove Trap if all Stmts are not throw
3. Check for empty TryCatchBlock in TestUtils

Thanks Henddher Pedroza for his test case and support.

--HG--
branch : 0.0.9.x
2012-10-13 21:47:35 +08:00
Panxiaobo
c99a302783 remove _ts_tos from Stmt as it is not needed.
--HG--
branch : 0.0.9.x
2012-09-20 15:44:08 +08:00
Panxiaobo
3449d7e41a re-implement the topologicalSort, use a customized stack to replace the recursive function.
add test case to test a large instruction method

Update issue 99
re-implement the topologicalSort, use a customized stack to replace the recursive function.
hope this can fix the issue

--HG--
branch : 0.0.9.x
2012-09-20 15:36:06 +08:00
Panxiaobo
9f1abd0711 add test case for opt-sync for a local
New issue
Summary: opt-sync for a local cause the .class verification fail
Labels: Type-Defect,Priority-Medium
the following code will cause the issue.
public static void a() {
a0 = System.out
L0:
lock a0 <= a0 is inside a try-catch
a1="haha"
a0.println(a1)
L1:
unlock a0
return
L2:
a1 := @Exception
unlock a0
throw a1
=============
.catch L0 - L1 > L2 // all
}
by opt-sync, we add a new local a2, after visit "L0:", we visit "L2:", and "unlock a2", we got a2 is undefined.
public static void a() {
a0 = System.out
L0:
a2=dup a0
lock a2
a1="haha"
a0.println(a1)
L1:
unlock a0
return
L2:
a1 := @Exception
unlock a2
throw a1
=============
.catch L0 - L1 > L2 // all
}

--HG--
branch : 0.0.9.x
2012-09-20 15:25:03 +08:00
yyjdelete
fa4797bd54 Merge.
--HG--
branch : 0.0.9.x
2012-09-11 22:14:43 +08:00
yyjdelete
c315aaa0a3 1. Enable type merge for a special case, and add a test case.
2. v[int]: Merge type of v with type of Object.

--HG--
branch : 0.0.9.x
2012-09-11 22:12:39 +08:00
Panxiaobo
770a3fcfd1 Update issue 130
Status: Fixed
if-eq vx, vx, offset
we add a trick to skip the if-eq, and direct read from offset

--HG--
branch : 0.0.9.x
2012-09-11 21:08:15 +08:00
Panxiaobo
48dd9ac560 re-implement the inner class access flag.
add support to generate class in inner class

--HG--
branch : 0.0.9.x
2012-09-11 15:21:50 +08:00
Panxiaobo
026dd6a679 Change the String Encoding from UTF8 to MUTF8
Fix issue reported by Jack Li
if String contains ZERO, for example "hi\u0000test",
after dex2jar it will be translate to "hi\ufffd\ufffdtest".
This is caused by the mismatch String encoding while reading String data
in dex file, dex file is encoded in MUTF8, but we are decode using UTF8.

--HG--
branch : 0.0.9.x
2012-09-04 22:44:11 +08:00
Panxiaobo
092d47478c fix NPE while list empty folder
--HG--
branch : 0.0.9.x
2012-08-28 20:12:12 +08:00
Panxiaobo
0b02af4408 add method to array datain
--HG--
branch : 0.0.9.x
2012-08-28 20:06:03 +08:00
yyjdelete
52907d62bc For (Integer)-1, using ICONST_M1 instead of BIPUSH 255
--HG--
branch : 0.0.9.x
2012-08-17 01:15:35 +08:00
Panxiaobo
41b32da696 fix ArrayIndexOutOfBoundsException when zero-ops in FilledArrayExpr
--HG--
branch : 0.0.9.x
2012-08-15 14:55:33 +08:00
yyjdelete
26c9e0b6cc Fix Issue 124
Temporarily disable type merge when both not null

--HG--
branch : 0.0.9.x
2012-08-02 00:45:52 +08:00
yyjdelete
ee463d664f Fix Issue 129
--HG--
branch : 0.0.9.x
2012-07-27 21:45:44 +08:00
yyjdelete
2941c97801 fix Issue 128
--HG--
branch : 0.0.9.x
2012-07-27 12:08:28 +08:00
Panxiaobo
a9f0bc0b45 merge code from google#umito.nl,
add InputStreamDataIn.openApk()

Update issue 127
The code looks great, I merge it to the source,
and I change SeekableStream/MemoryCacheSeekableStream to it's
original name(make it possible to use shared pkg org.apache.xmlgraphics/batik-codec/1.7).
now we can open apk on Android using InputStreamDataIn.openApk(file)

--HG--
branch : 0.0.9.x
2012-07-19 12:48:51 +08:00
Panxiaobo
afe9e8380a start work 0.0.9.10
--HG--
branch : 0.0.9.x
2012-07-18 21:58:31 +08:00
Panxiaobo
41b49b3270 Added tag 0.0.9.9 for changeset 87611634648a 2012-07-18 21:56:52 +08:00
Panxiaobo
ba5fbc23bb merge 0.0.9.9 to default 2012-07-18 21:55:23 +08:00
Panxiaobo
0e59757bda Fixes issue 126
Apply patch from yyjdelete, does some modification based on the patch.
And now the .dex file can save all the code using jd-gui

--HG--
branch : 0.0.9.x
2012-07-18 21:02:21 +08:00
Panxiaobo
436f8ce805 Fix the wrong arguements in V3Test
--HG--
branch : 0.0.9.x
2012-07-18 19:58:38 +08:00
Panxiaobo
2a972dc11f Fix when the largest local(type J) index is n and optimize-sync will use n+1
change optimize-sync to use n+2

--HG--
branch : 0.0.9.x
2012-07-18 19:57:11 +08:00
Panxiaobo
2a58b8efd7 comments test case for issue 122,123
--HG--
branch : 0.0.9.x
2012-07-18 15:15:59 +08:00
Panxiaobo
bbe00834ae add test case for issue 122, issue 123
Update issue 122
Status: Accepted

Update issue 123
Status: Accepted

--HG--
branch : 0.0.9.x
2012-06-13 11:06:44 +08:00
bob@bob-PC
7879f32012 update the test case,
add test case for issue 101

Update issue 101
Status: Accepted
the class can success translate by dex2jar,
but got "java.lang.ClassFormatError: Illegal exception table range in class file " while load the class to JVM.

--HG--
branch : 0.0.9.x
2012-06-12 23:39:57 +08:00
Panxiaobo
f8d4ac31a8 make RETURN stmt throw because the contained expr may throw.
Fixes issue 121

--HG--
branch : 0.0.9.x
2012-06-12 21:28:15 +08:00
Panxiaobo
c980842ef0 add test case for issue 121
Update issue 121
Status: Accepted
the generated IrMethod is fine,
and there are something wrong with IrMethod2AsmMethod

--HG--
branch : 0.0.9.x
2012-06-12 21:15:21 +08:00
Panxiaobo
4cda0b365d type array reference as Object in local type.
Fixes issue 120

--HG--
branch : 0.0.9.x
2012-06-11 11:03:44 +08:00
Panxiaobo
c29ccd1d79 add test case for issue 120
Update issue 120
Status: Accepted
seems something wrong with array references.

--HG--
branch : 0.0.9.x
2012-06-11 10:50:58 +08:00
Panxiaobo
25c775fb11 deprecat dex2jar.sh
--HG--
branch : 0.0.9.x
2012-05-21 16:24:27 +08:00
Panxiaobo
27809a2e2e clear ACC_DECLARED_SYNCHRONIZED and ACC_CONSTRUCTOR from method flags
Fixes issue 117

--HG--
branch : 0.0.9.x
2012-04-24 13:47:00 +08:00
Panxiaobo
1bb0a2e8eb print a -> b to stderr
--HG--
branch : 0.0.9.x
2012-04-09 16:05:17 +08:00
Panxiaobo
59dfa00154 update issue 115
add unit test

--HG--
branch : 0.0.9.x
2012-03-25 15:36:37 +08:00
Panxiaobo
05c8e3007b implement OPTIMIZE_SYNCHRONIZED
update issue 115
implement OPTIMIZE_SYNCHRONIZED

--HG--
branch : 0.0.9.x
2012-03-25 15:20:35 +08:00
Panxiaobo
8db300ccea add cmd d2j-jar-access to modify a class/field/method accessFlag
--HG--
branch : 0.0.9.x
2012-03-02 15:27:56 +08:00
Panxiaobo
bf58ed1e16 add switch -p to print ir to console
--HG--
branch : 0.0.9.x
2012-03-02 15:27:13 +08:00
Panxiaobo
2250071753 print 'all' if the catch type is null
--HG--
branch : 0.0.9.x
2012-03-01 11:55:17 +08:00
Panxiaobo
0cbcd6ea28 add min/max length support to init-deobf
--HG--
branch : 0.0.9.x
2012-03-01 11:13:43 +08:00
Panxiaobo
214bf8aeef start work 0.0.9.9
--HG--
branch : 0.0.9.x
2012-02-24 17:46:13 +08:00
Panxiaobo
3abc33b1b8 Added tag 0.0.9.8 for changeset 14711a63ea52 2012-02-24 17:45:19 +08:00
Panxiaobo
4325631809 merge 0.0.9.8 to default 2012-02-24 17:44:47 +08:00