1766 Commits

Author SHA1 Message Date
Ben Gruver
6f11c52b56 Don't try to resolve smali type references when in dumb mode 2016-07-24 14:06:31 -07:00
Ben Gruver
f8f4e32240 Update smalidea to work with newer versions of IDEA
This moves from using the deprecated DebuggerSupport class to the new
JvmSteppingCommandProvider

This also bumps the minimum required IDEA version to 15
2016-07-24 14:06:31 -07:00
Ben Gruver
2709afc5f8 Bump the version number to 2.1.3 2016-07-16 13:46:49 -07:00
Ben Gruver
c347e68b46 Allow invalid register references in debug items related to locals.
Art doesn't complain about this, so we shouldn't throw an error when
encountering a dex file with something like this.
2016-07-10 21:35:07 -07:00
Ben Gruver
d5c6ffa059 Move existing smali tests to the org.jf.smali package 2016-07-10 20:04:02 -07:00
Ben Gruver
07dc76c03f Switch to jprante's jflex plugin 2016-07-09 13:42:15 -07:00
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