Ben Gruver
31ad2bc100
Refactor how classpath loading works
2016-09-19 09:08:53 -07:00
Ben Gruver
9f794030da
Fix how parameter delegates are handled
2016-09-17 21:30:28 -07:00
Ben Gruver
c12b7e6e00
Change the classpath arguments to be split only by a colon
2016-09-17 21:30:28 -07:00
Ben Gruver
30bdb7fda9
Do a cleanup pass on the various commands/arguments/help text
2016-09-05 10:07:58 -07:00
Ben Gruver
ca48e6f7d0
Revamp the CLI usage/help formatting
2016-05-28 18:52:26 -07:00
Ben Gruver
e474301e60
Revamp how classpath loading works
2016-05-28 18:51:42 -07:00
Ben Gruver
8a5a6e3fc5
Add a --classes parameter to the list vtables command
2016-05-16 16:58:55 -07:00
Ben Gruver
41ec13e81f
Remove unneeded commons_cli stuff from util project
2016-05-16 16:58:54 -07:00
Ben Gruver
5a5eafb818
Implement a new command line interface for baksmali
2016-05-16 16:58:53 -07:00
Ben Gruver
912a474644
Merge branch 'master' into smalidea
2015-03-31 20:02:14 -07:00
Ben Gruver
923f5a7d10
Fix a bounds check problem in IndentingWriter
2015-03-20 16:39:07 -07:00
Ben Gruver
75bef01d10
Merge branch 'master' into smalidea
2015-03-18 21:00:32 -07:00
Ben Gruver
32e76b181b
Fix up the whitespace normalization in TextUtils.normalizeWhitespace
...
Previously, all inter-line whitespace was being removed. And it now
normalizes trailing new lines as well
2015-03-17 21:16:36 -07:00
Igor Murashkin
144951a9e9
Add lambda experimental dalvik opcodes
...
* Add new -X/--experimental flag to [dis]assemble opcodes not in art yet
* Add new opcodes liberate-variable, box-lambda, unbox-lambda,
capture-variable, create-lambda, invoke-lambda
* Add support for encoding 25x instructions
* Adds LambdaTest to check new opcodes assemble/disassemble properly
TODO: invoke-lambda-range
Change-Id: I5c8bcbfa8b6cb9a13ef2017fce2d1b7fda6e11c3
2015-03-16 11:40:58 -07:00
Ben Gruver
8c1d8ddef2
Merge branch 'master' into smalidea3
2015-03-04 20:58:14 -08:00
Ben Gruver
ea4074fdcc
Don't try to test for reserved file names
...
Instead, we'll just check os.name
2015-03-01 22:42:48 -08:00
Ben Gruver
bbc11c79e5
Add lexer implementation based on existing smali lexer
2015-01-21 09:32:00 -08:00
Ben Gruver
a4dd1fd25b
Make ClassFileNameHandler thread-safe
2015-01-20 19:01:39 -08:00
Ben Gruver
e032f1d8c7
Refactor ClassFileNameHandler
...
This makes the logic quite a bit easier to follow, and fixes an issue
with the previous implementatation, where it didn't correctly handle
the case when were multiple long names that collided after being
shortened
2015-01-07 17:14:44 -08:00
Ben Gruver
aae58716e7
Fix some javadoc issues
2014-12-28 14:14:19 -08:00
Ben Gruver
d33fd6773c
Implement implicit method/field references in baksmali
2014-07-19 20:26:50 -07:00
Ben Gruver
3b5d84c3ae
Truncate filenames based on their utf-8 length
2014-02-01 14:43:54 -08:00
Ben Gruver
1d28b32ff5
Refactor the maven upload build stuff
...
This also adds the required javadoc jars
2014-01-18 11:33:39 -08:00
Ben Gruver
5b411f3447
Add gradle configuration for uploading smali artifacts to maven
2014-01-17 02:04:07 -08:00
Ben Gruver
68564258a3
occured -> occurred
2013-12-08 17:44:15 -08: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
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
7e25c35df7
Make baksmali thread safe, and add -j option
2013-05-12 12:31:24 -07:00
Ben Gruver
d38f3a7983
Fix up line number handling to be unsigned int safe
2013-05-03 19:35:47 -07:00
Ben Gruver
936cc551f7
Clean up some TODOs
2013-04-30 21:57:08 -07:00
Ben Gruver
1bf6f23245
Implementation of new generificationified writer functionality
2013-04-27 22:23:30 -07:00
Ben Gruver
3d5423ed2b
Tweak how hashCode and equals works for MethodReferences
...
This fixes an issue where method references weren't being properly
interned when generating a dex file
2013-04-17 00:13:12 -07:00
Ben Gruver
d9c50f3f36
Fix IndentingWriter.printUnsignedLongAsHex and printSignedIntAsDec
...
A previous change had introduced a regression where they were printing
numbers backwards.
2013-04-16 00:26:24 -07:00
Ben Gruver
ec28400394
Switch to new parameter syntax
...
The new syntax is:
.param p1, firstParamName
which is closer to the existing local syntax:
.local v0, someLocal:I
2013-04-16 00:24:46 -07:00
Ben Gruver
7e58d497ef
Improve the performance of the IndentingWriter
2013-04-09 17:42:33 -07:00
Ben Gruver
ffe82bdcb5
Fully remove the dependency on the old dexlib from baksmali
2013-04-08 00:09:15 -07:00
Ben Gruver
9531284b1b
Port MethodAnalyzer and various dependencies from dexlib
2013-03-30 16:36:27 -07:00
Ben Gruver
31d87776c4
Refactor/rewrite the AnnotatedBytes class and helpers
...
This allows annotations to be added out-of-order, rather than the previous
requirement of forward-only annotating
2013-03-03 18:00:53 -08:00
Ben Gruver
46cefa3d5b
Factor out dependency versions, and upgrade to gradle 14.0
2013-03-03 17:58:02 -08:00
Ben Gruver
60d834f951
Annotate StringDataItems
2013-03-02 15:21:33 -08:00
Ben Gruver
6d607ebe1d
Annotate CodeItems
2013-03-02 14:04:51 -08:00
Ben Gruver
373ff22ec6
Beginning of annotated dump implementation
2013-02-24 15:58:24 -08:00
Ben Gruver
bfd74a869e
Create AbstractForwardSequentialList util class
2013-02-24 15:30:25 -08:00
Ben Gruver
7d5439950f
Fix various issues related to comparing method references.
2012-12-29 14:50:15 -08:00
Ben Gruver
3d0419c963
Track and seek to the current position in RandomAccessFileOutputStream
2012-12-28 17:40:46 -08:00
Ben Gruver
7dff6ada5e
Add tests for DexWriter (and fixes to DexWriter, to make said tests pass)
2012-12-28 16:37:41 -08:00
Ben Gruver
9a90c5560c
Refactor DexWriter to write to a generic OutputStream
2012-12-28 16:28:35 -08:00
Ben Gruver
4ffbfa2e71
Initial commit of writer functionality
...
It's not fully functional yet, but the structure is there, and it's
got most item types
2012-11-18 14:33:32 -08:00