Commit Graph

544 Commits

Author SHA1 Message Date
Panxiaobo
72b5089d54 merge LiveAnalyze to use BaseLiveAnalyze
--HG--
branch : 0.0.9.x
2012-11-07 23:50:04 +08:00
Panxiaobo
12873f296f reimplement ZeroAnalyze
--HG--
branch : 0.0.9.x
2012-11-07 23:49:44 +08:00
Panxiaobo
4a1ea6f793 improve ZeroTransformer to insert x=0 if a ZERO local is merged to a non-ZERO local
--HG--
branch : 0.0.9.x
2012-11-07 21:57:36 +08:00
Panxiaobo
a5acd1d5c8 clean _ls_forward_frame while init CFG
--HG--
branch : 0.0.9.x
2012-11-07 21:55:44 +08:00
Panxiaobo
8ee77c5f91 fix a spell mistack
--HG--
branch : 0.0.9.x
2012-11-07 20:06:08 +08:00
Panxiaobo
5b1543a240 start work 0.0.9.12
--HG--
branch : 0.0.9.x
2012-10-25 15:50:59 +08:00
Panxiaobo
5756a7d452 Added tag 0.0.9.11 for changeset 54c6854b5cfd 2012-10-25 13:46:56 +08:00
Panxiaobo
a30b489d2a merge 0.0.9.11 to default 2012-10-25 13:46:16 +08:00
Panxiaobo
78cd707a68 1. use p-rename 1.4
2. dex-tools same version as dex-translator

--HG--
branch : 0.0.9.x
2012-10-25 13:36:46 +08:00
Panxiaobo
96464b898e change cmd argument
--HG--
branch : 0.0.9.x
2012-10-23 19:54:54 +08:00
Panxiaobo
3bc15fdae4 Fix NPE by r483
--HG--
branch : 0.0.9.x
2012-10-23 19:34:16 +08:00
Panxiaobo
b755ba117e Fix a bug in toplogicalsort
--HG--
branch : 0.0.9.x
2012-10-23 18:44:58 +08:00
Panxiaobo
9e983b3f54 move the change to V3InnerClzGather
--HG--
branch : 0.0.9.x
2012-10-22 19:51:04 +08:00
Panxiaobo
8939611267 use the flag from class as the interface/abstract flag in inner class
--HG--
branch : 0.0.9.x
2012-10-22 19:15:55 +08:00
Panxiaobo
9a3dd27940 Fix an issue while we are not translate annotation defualt if the value is an enum
Fixes issue 142

--HG--
branch : 0.0.9.x
2012-10-22 16:46:29 +08:00
Panxiaobo
754bf61820 fix Comparator in typeAnalyze
--HG--
branch : 0.0.9.x
2012-10-21 18:10:19 +08:00
Panxiaobo
e62d59f525 clean up code
--HG--
branch : 0.0.9.x
2012-10-21 17:26:43 +08:00
Panxiaobo
ec4c0ddaf4 add support to auto cast value from int to byte,short,char
--HG--
branch : 0.0.9.x
2012-10-21 17:21:15 +08:00
Panxiaobo
c887dda820 start work 0.0.9.11
--HG--
branch : 0.0.9.x
2012-10-21 13:42:07 +08:00
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
90a092a921 change the V3Test output folder to target/
enable class loading test for I101Test

--HG--
branch : 0.0.9.x
2012-10-20 21:31:42 +08:00
Panxiaobo
208c431a31 add support to do strict type analyze
--HG--
branch : 0.0.9.x
2012-10-20 21:28:43 +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