Ben Gruver
c4948a5c49
Add initial support for N preview odexes
2016-05-16 16:58:54 -07:00
Ben Gruver
bccdc809fa
Add "list field offsets" and "list vtables" commands to baksmali
...
This is a reimplementation of the "DumpFields" and "DumpVtables" entry
points that were previously in dexlib2
2016-05-16 16:58:54 -07:00
Ben Gruver
75cf7e4c64
Add a command to baksmali to list the dex files in an apk/oat
2016-05-16 16:58:54 -07:00
Ben Gruver
90cacb9d0d
Implement various list commands in baksmali
...
This adds commands to list strings, methods, fields, types and classes
2016-05-16 16:58:54 -07:00
Ben Gruver
41ec13e81f
Remove unneeded commons_cli stuff from util project
2016-05-16 16:58:54 -07:00
Ben Gruver
0e9be306a2
Update url in --version message
2016-05-16 16:58:54 -07:00
Ben Gruver
735746595f
Implement a new command line interface for smali
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
93100e57b2
Improve how the instance-of + if-eqz/if-nez type propagation works
...
We now perform the type propagation while analyzing the if-eqz/if-nez
instruction. Additionally, AnalyzedInstruction.setsRegister now has
special case logic to check for this case, so we don't incorrectly
propagate the original type past the if-eqz/if-nez
2016-04-23 14:01:36 -07:00
Ben Gruver
9802cf3428
Propagate the narrowed type for an if-nez after an instance-of
2016-04-23 11:08:21 -07:00
Ben Gruver
7fd5f88caf
Merge pull request #391 from allight/new-dex-version
...
Dex version 37 support
2016-04-04 11:11:49 -07:00
Alex Light
40bbf5c347
Dex version 37 support
...
Make dexlib able to read and write version 37 dex files.
Bug: 27809626
Change-Id: I3d0ca6201c7abe7763d2fb925e9ee1edbef24230
2016-04-04 11:00:02 -07:00
Ben Gruver
87d10dac27
Add more programmatic-friendly entry points for smali/baksmali
...
This adds entry points that are more friendly to programmatic usage. E.g.
no calls to System.exit()
2016-02-28 12:19:27 -08:00
Ben Gruver
a198b46e20
Fix issue with parameter list parsing
...
This fixes an issue that was initially introduced in the smalidea branch
2016-02-28 12:15:22 -08:00
Ben Gruver
11d179bfdb
Get rid of the default 6 thread maximum thing
2016-02-28 11:22:16 -08:00
Ben Gruver
616a0738dd
Fix the release task for smalidea
2016-02-27 20:11:39 -08:00
Ben Gruver
81e0309ed6
Keep the since/until IDEA versions specified in the plugin.xml
2016-02-27 20:06:20 -08:00
Ben Gruver
5a8a2a47b6
Fix an NPE in SmaliPositionManager.createPrepareRequest
2016-02-27 18:32:53 -08:00
Ben Gruver
d018443797
Return an empty list from SmaliClass.getVisibleSignatures()
...
Don't return null from a @NotNull method, silly.
2016-02-27 17:42:47 -08:00
Ben Gruver
4d8aeebc07
Fix how SmaliPositionManager gets the current class
2016-02-27 17:39:25 -08:00
Ben Gruver
37fbbe8e15
Submit issues to the smalidea-issues repo
...
Let's not spam the nice people who watch the smali repo. (I'm looking
at you jcase)
2016-02-27 17:39:03 -08:00
Ben Gruver
82f031210e
Add support for java inner classes
...
It's now possible to reference java inner classes based on what their
name would be in smali
2016-02-27 13:00:19 -08:00
Ben Gruver
66892009f5
Fix a possible NPE in SmaliCodeFragmentFactory
2016-02-27 12:51:26 -08:00
Ben Gruver
3bdedd6380
Fix up the sandbox directory for smalidea tests
2016-02-27 12:50:54 -08:00
Ben Gruver
29d714f71f
Conditionally add the smalidea project to the root project
...
The smalidea project is only added when you're actually in the
smalidea directory
2016-02-26 22:09:08 -08:00
Ben Gruver
ff4c85c5e4
Provide better register type information
2016-02-26 21:13:29 -08:00
Ben Gruver
6417e812e1
Refactor ClassPath to take ClassProviders
...
This allows for a more general mechanism for providing defined classes
2016-02-26 21:13:29 -08:00
Ben Gruver
aebb205aeb
Add better support for conditional expressions for breakpoints
2016-02-20 12:04:48 -08:00
Ben Gruver
1df3869a30
Don't add tools.jar when building the idea project files
2016-02-20 12:04:48 -08:00
Ben Gruver
7b387e06c5
Gracefully handle analysis errors
2016-02-20 12:04:47 -08:00
Ben Gruver
5b2943d89b
Check for switch offset validity in the MethodAnalyzer
2016-02-20 12:04:47 -08:00
Ben Gruver
6429b3daa9
Clean up the jar naming
...
The previous naming was interfering with 'gr install' installing the
artifacts locally.
2016-02-20 12:04:47 -08:00
Ben Gruver
4b337cc04d
Allow local search scopes when searching class usages
2016-02-20 12:00:05 -08:00
Ben Gruver
f16ea398a1
Don't require an active debugging session when making a code fragment
...
This is needed, e.g. when editing a conditional statement in the
breakpoint window.
2016-02-20 12:00:05 -08:00
Ben Gruver
92f8ec50c5
Add the ideadirs task for smalidea
2016-02-14 12:53:56 -08:00
Ben Gruver
df4e74e41c
Make smalidea a separate gradle/idea project
2016-02-14 12:53:56 -08:00
Ben Gruver
6e788c8a8e
Move META-INF/plugin.xml under resources
2016-02-14 12:50:31 -08:00
Ben Gruver
2e7fe1b8fe
Fix the tests that require a real jdk
2016-02-14 12:50:31 -08:00
Ben Gruver
327957ae66
Update for new MethodAnalyzer signature
2016-02-14 12:50:31 -08:00
Ben Gruver
1b00e0a155
Add the .tokens files to the binary jar
2016-02-14 12:50:31 -08:00
Ben Gruver
0be7264eb3
Bump gradle up to 2.11
2016-02-14 12:50:31 -08:00
Ben Gruver
5bdb7ee520
Bump the version to 2.1.2
2016-02-14 12:50:31 -08:00
Ben Gruver
8533ab7429
Merge branch 'master' into smalidea
2016-02-13 15:43:37 -08:00
Ben Gruver
b12d4e9ec8
Bump the version number to 2.1.1
2016-01-10 11:24:31 -08:00
Ben Gruver
73bd8ce9d4
Add a speculative fix for unicode filename errors on Mac
2015-12-04 12:00:27 -08:00
Ben Gruver
3e265038f5
Implement support for adding new labels to a MutableMethodImplementation
2015-10-18 13:24:34 -07:00
Ben Gruver
b8e255f389
Add support for 64-bit oat files
2015-10-17 14:47:10 -07:00
Ben Gruver
e202aeede5
Pass in the Opcodes to use for SyntheticAccessorFSM
2015-10-17 13:50:26 -07:00
Ben Gruver
4c66761aea
Minor javadoc fix for AnalyzedInstruction.setPostRegisterType
2015-10-17 13:48:54 -07:00
Ben Gruver
da58cc8991
Only use the instance-of/if-eqz type info if we're getting more information
...
We should only use the type info from an instance-of/if-eqz combo if we're
going from an interface to a class, or going from a class to a subtype
of that class -- otherwise, we're actually losing information.
2015-10-17 13:18:55 -07:00