1710 Commits

Author SHA1 Message Date
Ben Gruver
6c6b9f0845 Upgrade to gradle 2.14 2016-07-09 13:41:30 -07:00
Ben Gruver
442ebd2893 Reword the "multiple entries" error to match the new CLI 2016-05-30 13:05:11 -07:00
Ben Gruver
db49ae1d03 Track register narrowing via instance-of after a move 2016-05-28 18:52:26 -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
f84e0f4562 Fix up some nullness and other minor issues in MethodAnalyzer/AnalyzedInstruction 2016-05-16 16:58:54 -07:00
Ben Gruver
f66362d073 Fix up the deodex warning 2016-05-16 16:58:54 -07:00
Ben Gruver
175480d4d0 Add a command to list the classpath stored in an oat or odex file 2016-05-16 16:58:54 -07:00
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