1271 Commits

Author SHA1 Message Date
Ben Gruver
490c8d0d0f Merge pull request #20 from eyecatchup/master
Make AnalysisTest.java cross-platform safe
2013-12-07 14:49:38 -08:00
Stephan Schmitz
4d9d58829b Make AnalysisTest.java cross-platform compatible
Use System.lineSeparator() for cross-platform compatible line endings for runTest() method in AnalysisTest.java. The patch fixes build failures of type `org.jf.baksmali.AnalysisTest > DuplicateTest FAILED [junit.framework.ComparisonFailure at AnalysisTest.java:107]` on Windows systems.
2013-11-18 10:01:55 +01:00
Ben Gruver
318954d56b Don't attempt to create the smali.jar/baksmali.jar symlinks on windows.
Unsurprisingly, ant.symlink is unsupported on windows.
2013-11-10 22:19:48 -08:00
Ben Gruver
b0295be60c Bump the version to 2.0.2 2013-11-10 22:07:33 -08:00
Ben Gruver
b49126325f Fix the start offset when calculating the signature header value 2013-11-10 22:07:02 -08:00
Ben Gruver
20f675b86b When writing a debug item, always include all parameters 2013-11-10 22:07:02 -08:00
Ben Gruver
08d90ec360 Don't write out 0-length type lists 2013-11-10 22:07:02 -08:00
Ben Gruver
f6958ae4bc Don't trim empty parameter annotations 2013-11-10 22:07:02 -08:00
Ben Gruver
263083faed Use StringReference for MethodImplementationBuilder.addSetSourceFile 2013-10-23 14:23:35 -07:00
Ben Gruver
a2bf7f64bc Fix issue with BuilderPackedSwitchPayload instructions
The transformation is performed lazily, and the keys were incorrect
when iterating over the elements more than once
2013-10-17 16:46:06 -07:00
Ben Gruver
ec6246a09c Update version to 2.0.1 2013-10-14 17:46:21 -07:00
Ben Gruver
899b1e6611 Improve MutableMethodImplementation for external use
Add various utility methods and use more specific overrides, to better
allow external users to access labels
2013-10-14 17:45:46 -07:00
Ben Gruver
902ba7d72d Fix annotation/initial value issues when iterating over fields/methods in a DexBackedDexFile
Make sure to make a new annotation/initial value iterator when making a new
field/method iterator
2013-10-12 02:14:02 -07:00
Ben Gruver
9f48c72390 Fix issues with converting switch statements in MutableMethodImplementation 2013-10-12 01:50:53 -07:00
Ben Gruver
135631b11b Fix issue with Format21lh instructions in MutableMethodImplementation 2013-10-12 01:10:38 -07:00
Ben Gruver
987ac1ed12 Fix the name and type being swapped when converting to ImmutableDebugInfo 2013-10-11 21:50:01 -07:00
Ben Gruver
bc6fcd5ae3 Fix accidental case fall-throughs in MutableMethodImplementation 2013-10-11 21:32:33 -07:00
Ben Gruver
1697b1d97d Fix "hat" literal conversion in MutableMethodImplementation 2013-10-11 21:32:01 -07:00
Ben Gruver
c864544b48 Bump up memory in smali script to 512m 2013-10-10 21:03:29 -07:00
Ben Gruver
7a03efcac6 Attempt to fix test for windows... again. 2013-10-10 20:41:36 -07:00
Ben Gruver
dbce47d361 Update to gradle 1.8 2013-10-10 20:41:28 -07:00
Ben Gruver
b9879ee917 Remove the old dexlib 2013-10-10 20:41:21 -07:00
Ben Gruver
c21644760f Merge branch 'master' into dexlib_redesign 2013-10-10 20:40:47 -07:00
Ben Gruver
4c51e89c9e Bump the version to 2.0 2013-10-10 20:07:32 -07:00
Ben Gruver
6926ece0cd Check for null before using Iterables.filter 2013-10-10 19:46:02 -07:00
Ben Gruver
216ca5376b Always use the 035 version magic value when writing a dex file 2013-10-10 19:37:56 -07:00
Ben Gruver
7618e1636c Make extra sure we don't output blank debug items 2013-09-28 17:57:33 -07:00
Ben Gruver
44c5c07c57 Don't output parameter names when using the -b/--no-debug-info option 2013-09-28 17:55:52 -07:00
Ben Gruver
a2bcd0f409 Merge pull request #17 from Fuzion24/alternate_constructor
Add alternative constructor
2013-09-21 21:38:20 -07:00
Ben Gruver
84be16bf51 Fix DebugItems in the new builder stuff 2013-09-21 14:40:49 -07:00
Ryan Welton
4ab8df84b0 Add alternative constructor
Add constructor that can use a bytestream so we can parse a DexFile
completely in memory
2013-09-20 00:00:31 -04:00
Ben Gruver
edd961477e Remove the now unused builder instructions and instruction factories 2013-09-15 12:55:36 -07:00
Ben Gruver
81648539c9 Bump the version to 2.0b6 2013-09-14 20:05:06 -07:00
Ben Gruver
f7d6d5fade Gracefully handle instructions with invalid references 2013-09-14 19:53:21 -07:00
Ben Gruver
f9bcf89674 Attempt to fix tests for windows 2013-09-14 13:59:02 -07:00
Ben Gruver
51a13e3353 Fix the tests related to bracketed names 2013-09-14 13:42:55 -07:00
Ben Gruver
569c014562 Allow arbitrary bracketed member names
Dalvik allows accesses and definitions of fields with angle brackets

It "allows" definitions of bracketed method names, but it will reject any
attempt to actually call them (except <init>, of course).
2013-09-14 13:35:04 -07:00
Ben Gruver
45b8a4dae8 Allow "large" uleb128 values for method/field index deltas 2013-09-14 12:47:23 -07:00
Ben Gruver
6cd686fbf5 Make windows reserved filename detection more robust
This checks for more reserved filenames than just aux
2013-09-14 11:35:53 -07:00
Ben Gruver
d868692e33 Truncate the filename for overly long class names 2013-09-14 11:33:18 -07:00
Ben Gruver
5ff4ee9a3f Add missing copyright/license headers 2013-09-14 00:43:41 -07:00
Ben Gruver
6762350ca0 Add ability to converting MethodImplementation to MutableMethodImplementation 2013-09-14 00:32:32 -07:00
Ben Gruver
9a2de93a99 Implement just-in-time instruction fixup due to string jumboification 2013-09-08 21:41:23 -07:00
Ben Gruver
99b46173c5 Generify the IO requirements for writing a dex file
The DexWriter implementations now write to a generic "DexDataStore", instead
of writing directly to a file.

Also, writing of the DebugItems and CodeItems are linked, with the code
items being written to a temporary location, and then the entire code item
section is written as a batch after the debug item section.
2013-09-08 15:30:58 -07:00
Ben Gruver
160449b83a Implement instruction fixing in MutableMethodImplementation 2013-09-07 14:54:16 -07:00
Ben Gruver
e80efa670f Implement instructions for the method builder 2013-09-02 12:20:13 -07:00
Ben Gruver
688611814d Implement debug items for the method impl builder 2013-09-01 16:44:20 -07:00
Ben Gruver
bb7937fd30 Get rid of the MethodItem concept 2013-09-01 09:37:49 -07:00
Ben Gruver
897832aa15 Implement try blocks for the method builder 2013-08-31 15:37:10 -07:00
Ben Gruver
160fc1cdba Split off a separate MutableMethodImplementation and implement labels 2013-08-31 14:12:58 -07:00