Skylot
c4c3d42d16
build: fix release workflow
2024-11-11 22:46:31 +00:00
Skylot
58c36de8c2
build: add release github workflow
2024-11-10 20:15:34 +00:00
Skylot
b4ca566a19
build: exclude shadow jar from publishing to maven
2024-11-10 20:15:34 +00:00
Skylot
e644bad758
chore: update dependencies
2024-11-10 20:15:34 +00:00
Skylot
dd86abcc5e
chore: remove LGTM config
2024-11-10 17:26:24 +00:00
Skylot
f0513a1a55
fix: insert new filled array insn before first usage ( #2340 )
2024-11-07 20:02:41 +00:00
Skylot
be6cb573b1
feat(plugins): allow to set minimum required jadx version in plugin info ( #2314 )
2024-11-06 16:30:22 +00:00
pubiqq
5d064d3e50
feat(res): improve resource names (PR #2316 )
2024-11-06 18:08:35 +03:00
pubiqq
15b6309e2c
fix: support "fall-through to default" case in switch-over-string (PR #2338 )
2024-11-05 21:41:03 +00:00
Skylot
417bb7a7e9
feat: add method to update all blocks related info in method ( #2335 )
2024-11-02 22:08:26 +00:00
Ahmet Bilal Can
4c74e8e300
feat: give ability to plugins to edit blocks before locking (PR #2336 )
...
Plugins can use `.before('BlockFinisher')` to edit blocks before they are locked.
2024-11-02 21:38:57 +00:00
Skylot
57238de6ff
feat(cli): add option to disable plugins ( #2277 )
2024-11-01 20:13:34 +00:00
Skylot
313c4a121a
fix: improve negation condition checks for switch over string ( #2333 )
2024-11-01 16:33:28 +00:00
pubiqq
39912398fc
fix: unwrap consts in switch-over-string (PR #2332 )
2024-10-31 21:24:19 +00:00
Skylot
7544d1a113
fix: prevent endless loop in pre header insertion mod ( #2300 )
2024-10-31 20:00:06 +00:00
pubiqq
cfbe5ab672
fix: fix default branch position in switch-over-string (PR #2331 )
2024-10-31 19:58:35 +00:00
Ruffalo Lavoisier
2661b91a6f
feat(gui): create Frida hooking snippet for all methods in the class (PR #2328 )
2024-10-30 17:59:29 +00:00
Skylot
61578e8793
fix(gui): correct tabs filter in "Close others" tab action ( #2330 )
2024-10-30 17:20:16 +00:00
Skylot
cc6a893402
feat: allow to disable installed plugins ( #2277 )
2024-10-28 23:35:28 +03:00
pubiqq
4d8a5d6671
fix(core): fix primitive-to-primitive conversions (PR #2326 )
2024-10-28 20:33:10 +00:00
Skylot
982307b1ac
fix(gui): use correct section filter in plugins list
2024-10-25 19:01:43 +01:00
Skylot
37054dc84e
fix(gui): load plugins settings in temp context without UI ( #2206 )
2024-10-25 18:51:38 +01:00
Skylot
343e2c531a
chore: expand input dirs in ConvertArscFile
2024-10-25 18:12:48 +01:00
pubiqq
6fa5d247f0
fix(res): update Android attrs to API 35 (PR #2318 )
2024-10-25 18:08:36 +01:00
pubiqq
688dea0c50
fix(deobf): update TLDs (PR#2320)
2024-10-25 16:44:07 +01:00
Skylot
c0815b12bc
chore(gui): add missing ref text in untranslated messages ( #2319 )
...
fix
2024-10-24 20:33:52 +03:00
JustFor
233f8692b2
fix(gui): update Messages_zh_CN.properties (PR #2319 )
...
1. New text is translated simultaneously, two untranslated texts remain (no English text)
2. Adjusted and unified part of the symbol, into the full Angle symbol.
2024-10-24 18:31:14 +01:00
Skylot
e5be41b9cc
fix(gui): use another implementation for font dialog ( #2310 )
2024-10-22 21:32:14 +01:00
Skylot
3788e4ef3a
fix(gui): in settings row reduce space between description and value
2024-10-22 18:52:42 +01:00
Skylot
32855f4511
fix(gui): improve plugins preferences group
2024-10-22 18:51:19 +01:00
Skylot
3d5e225274
fix: clear temp root dir instead delete ( #2312 )
2024-10-22 18:01:52 +01:00
nitram84
8a34d973ff
build: use jadx-gui as a library in plugins (PR #2310 )
...
* fix(gui): fix javadoc issues
* feat(gui): export jadx-gui as a library
* fix(gui): fix javadoc issues
* fix(gui): remove invalid characters for javadoc
* add jadx-library also for jadx-cli and jadx-script-ide modules
---------
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2024-10-22 17:24:57 +01:00
Skylot
a43b3282ef
fix(gui): update check fixed to match current artifact naming
2024-10-17 21:57:20 +01:00
Skylot
249801880c
feat(api): allow to get method code ( #2305 )
2024-10-17 19:20:07 +01:00
Skylot
742d30d770
chore: resolve warnings in SmaliArea class
2024-10-16 17:29:36 +01:00
Skylot
267413332a
chore: resolve KtLint deprecation warning
2024-10-16 17:23:09 +01:00
Skylot
f9c94f27f1
chore: update dependencies
2024-10-16 17:01:03 +01:00
Skylot
d2131d9640
build: gradle wrapper validation not needed, check done in setup-java action
2024-10-16 17:00:43 +01:00
Skylot
548821c4df
build: allow to change java toolchain for build and tests
2024-10-16 16:54:28 +01:00
pubiqq
958ab245ae
fix(res): don't rename resource entries when useRawResName = true (PR #2306 )
2024-10-14 20:32:12 +01:00
Skylot
8f3cc3e8c1
fix: add missing null check in codegen for classes generated by jadx
2024-10-14 19:19:31 +01:00
Skylot
b872ffd1b9
fix: replace patched zip early in input files ( #2302 )
2024-10-12 20:53:09 +01:00
Skylot
c5263f92fe
fix(gui): send select tab event before code jump ( #2292 )
2024-10-12 21:23:53 +03:00
pubiqq
1475e887c8
fix: update reserved keywords (PR #2301 )
2024-10-11 20:47:34 +01:00
Skylot
c21cabcba7
fix: use temp dir env var only in apps
2024-10-10 22:57:40 +03:00
Skylot
063af8cd62
feat(api): add JadxArgs property to adjust xml security checks ( #2291 )
2024-10-10 22:57:40 +03:00
Skylot
2d10537050
chore: update dependencies
2024-10-10 22:57:40 +03:00
pubiqq
3814951408
feat: improve better name algorithm (PR #2299 )
2024-10-10 20:01:57 +01:00
qfalconer
964bd62d35
feat: adding automatic patching for semi-corrupted APKs (PR #2298 )
...
* feat: patching semi-corrupted APKs
* fix: using secure temp file creation
* fix: using TWR when handling the files
2024-10-10 17:53:26 +01:00
xiaojye
3ed2df828f
feat(gui): add button to go to Android Manifest (PR #2296 )
...
* feat: Add button to go to Android Manifest
* fix: Change the text from 'Go to Manifest' to 'Go to AndroidManifest.xml' and replace icon source
2024-10-10 17:11:08 +01:00
Skylot
b26abdc851
feat(plugins): get config and cache dirs for plugins
2024-09-29 21:55:05 +01:00
Skylot
90185fd947
feat(plugins): get a main window reference as JFrame
2024-09-29 21:54:24 +01:00
Skylot
681f8a98b5
fix: improve checks for restore new filled array ( #2289 )
2024-09-28 16:52:08 +01:00
Skylot
0b225238fb
feat: support restore of switch over string (basic case)( #2288 )
2024-09-27 21:11:38 +01:00
Skylot
a7649dda7a
chore: update gradle and dependencies
2024-09-27 21:08:38 +01:00
pubiqq
b5e3dcf70f
feat: add the option to always use source file name as class name alias (PR #2287 )
2024-09-23 22:47:08 +01:00
Skylot
7abbc81886
fix: improve switch out block search if all method exits are inside ( #2264 )
2024-09-22 21:35:40 +01:00
Skylot
9c30aeacdb
refactor: split region maker
2024-09-22 20:23:03 +01:00
Skylot
8f27de4d0e
chore: update dependencies
2024-09-21 22:00:03 +01:00
Skylot
02b69d2d29
fix(gui): prevent old refs leak in shortcuts controller
2024-09-21 21:53:31 +01:00
Skylot
e6fde48b69
fix: don't add same 'loaded from:' comment for inner classes
2024-09-21 20:28:18 +01:00
Skylot
109dea0857
feat: support inner class contruction with outer instance ( #2253 )
2024-09-21 20:27:16 +01:00
Skylot
1d34328dd3
fix(build): disable cache for core tests to allow reruns ( #2283 )
2024-09-20 21:44:55 +01:00
Skylot
ef4f1d3ed4
fix: ignore debug lines hints if numbers was adjusted for method
2024-09-20 21:36:13 +01:00
Skylot
23696d3971
fix: use type from new-instance if differ from constructor call ( #2285 )
2024-09-20 21:34:21 +01:00
Andy Smith
efa2f5d172
feat(gui): limit search to a package (PR #2284 )
...
* Add isDescendantOf and getJavaPackage helper functions
* Add i18n strings for search package
* Added search package to options in SearchSettings
* Add package limiting to each search provider
* Add package search to dialog and logic to get package by string.
* Added search option to package context menu
* Fix spotlessJavaCheck complaints
* Revert changes to individual search providers and add filter to base provider
2024-09-20 12:31:20 +03:00
Skylot
699ceb197e
fix: improve condition branch checks in loops ( #2274 )
2024-09-16 20:37:34 +01:00
Skylot
5c83c22501
feat(java-input): support StackMapTable to get stack info for unvisited jumps ( #2271 )
2024-09-14 22:45:31 +01:00
Skylot
7bb5c0a859
fix: protect class deps from loading in different decompilation mode
2024-09-13 21:25:11 +01:00
Skylot
603863403f
fix: do not add custom passes for fallback and simple modes ( #2276 )
2024-09-13 21:01:19 +01:00
Skylot
889a945cf1
fix: additional checks for class signature ( #2272 )
2024-09-12 20:29:05 +01:00
Skylot
fd80e03809
fix: check if debug info offset is invalid ( #1653 )
2024-09-11 19:54:49 +01:00
Skylot
b5807082d9
chore: update gradle and dependencies
2024-09-11 19:54:49 +01:00
Skylot
5d1f0b8cae
feat(res): support grammar inflection flag in res config ( #2270 )
2024-09-08 21:49:13 +01:00
Skylot
3f9aa34057
fix(gui): resolve old objects reference leak in TabsController
2024-09-07 01:21:46 +03:00
Skylot
e2c860f260
refactor(res): use list instead map to store entries offsets
2024-09-07 01:21:46 +03:00
Skylot
0938351d97
feat(res): support compact resource entries ( #2268 )
2024-09-07 01:21:42 +03:00
pubiqq
937dd20794
feat(res): support 16-bit entry offsets (PR #2269 )
2024-09-06 23:21:21 +01:00
pubiqq
ea5e87560a
feat(res): improve error message for unsupported ResTable flags (PR #2266 )
2024-09-05 19:13:26 +01:00
Skylot
5fbbf2150e
fix(res): prevent duplication of ARSC entries ( #2263 )
2024-09-04 21:31:37 +01:00
Skylot
0e11bffe82
chore: update dependencies
2024-09-04 20:02:56 +01:00
Skylot
ba9af5c288
fix(gui): minor fixes for code jumps
2024-09-04 19:59:57 +01:00
Skylot
cca706c94f
fix: improve 'continue' insertion for switch in loop ( #2249 )
2024-09-01 23:02:22 +01:00
Skylot
2df69bbfb4
fix(gui): prevent UI stuck on class load ( #2259 )
2024-08-31 22:30:18 +01:00
Skylot
f5307636ef
fix(gui): merge full class name tokens for constructors ( #2261 )
2024-08-30 22:39:43 +03:00
Mino
9a39b70a46
fix(gui): Quick Tabs Optimization (PR #2242 )
...
* optimize tabs reorder
* restructure based on quick tabs architecture
* code formatting
* log all exceptions from background executor
* various improvements
---------
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2024-08-30 20:33:05 +01:00
pubiqq
e63808bc4b
fix: improve checking of access modifiers (PR #2255 )
2024-08-20 16:45:28 +03:00
Skylot
847225a6a9
fix: improve try/catch temp edges injection ( #2247 )
2024-08-17 21:09:31 +01:00
Skylot
eee354a3ab
chore: update gradle and dependencies
2024-08-17 21:01:27 +01:00
Skylot
1cc00a54f3
fix(gui): use correct translation in rename dialog ( #2254 )
2024-08-17 21:58:39 +03:00
pubiqq
ffdad1b652
fix: improve checking of access modifiers for methods (PR #2252 )
2024-08-15 23:20:07 +01:00
pubiqq
9a8ec76989
fix: improve checking of access modifiers for classes (PR #2251 )
2024-08-15 19:59:44 +01:00
Skylot
0be5b2cea9
refactor(tests): add debug checks switch to jadx args
2024-08-13 22:39:48 +01:00
Skylot
c94201be4a
fix: improve switch out search in loop ( #2246 )
2024-08-12 22:06:03 +01:00
Skylot
1051dacb1e
refactor(tests): migrate from Hamcrest to AssertJ
2024-08-11 21:55:56 +01:00
Skylot
a2bfe9bbe8
chore: add openrewrite gradle plugin to improve code quality
2024-08-11 21:10:01 +01:00
Skylot
8c6ec3bccc
fix(gui): trim also leading spaces in paths from file dialog ( #2244 )
2024-08-10 19:24:05 +01:00
Skylot
015876b790
fix(gui): trim trailing spaces in input files ( #2244 )
2024-08-10 00:31:25 +01:00
Skylot
280f3870a9
fix: handle quick return on branched constructor ( #2240 )
2024-08-09 22:54:13 +01:00
Skylot
e9d770ae9e
fix: use correct approach to get prev block on path ( #2239 )
2024-08-09 22:51:37 +01:00
Skylot
5f1bd1d9ba
chore: migrate gradle shadow plugin
2024-08-08 20:44:34 +01:00
pubiqq
60fb458024
fix: improve inlining synthetic accessors (PR #2243 )
...
* fix: fix inlining synthetic accessors
* add test, undo changes in InsnNode
---------
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2024-08-08 20:27:08 +01:00
Skylot
1b08779536
chore: update dependencies
2024-08-07 19:06:58 +01:00
Skylot
c37e39a819
chore: code improvements by cleanthat
2024-08-07 00:34:22 +01:00
Skylot
2d58fbd4b1
chore: forbid use ArrayList as a variable type
2024-08-07 00:28:39 +01:00
Mino
ffbf800404
feat(gui): Quick Tabs Overhaul (PR #2241 )
...
* restructure quick tabs code
* code formatting
* display open tabs
* added bookmark tabs feature
* fix tabs pin and bookmark not saved
* fix NPE treeModel not initialized
* Fix hardcoded strings
* remove unused statement
* fix NPE again
* added bookmark overlay
* preserve tabs order
* fix context menu actions
* remove unnecessary public modifier
* save tabs in tabbedpane order
* remove unreferenced tabs
* Update jadx-gui/src/main/java/jadx/gui/ui/tab/TabComponent.java
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2024-08-06 23:47:25 +01:00
dependabot[bot]
500aa8a68d
build(deps): bump gradle/actions from 3 to 4 (PR #2238 )
...
Bumps [gradle/actions](https://github.com/gradle/actions ) from 3 to 4.
- [Release notes](https://github.com/gradle/actions/releases )
- [Commits](https://github.com/gradle/actions/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: gradle/actions
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-05 18:35:39 +01:00
Skylot
58e8268126
fix: workaround to make method inline deterministic ( #1089 )
2024-08-04 22:46:46 +01:00
Skylot
f9da6e00ed
fix(gui): add VM flags to fix UI ghosting ( #2225 )
2024-08-04 19:40:14 +01:00
Skylot
821cc668c7
fix: don't rerun SSA transform in ConstructorVisitor ( #2236 )
2024-08-02 21:26:25 +01:00
Skylot
287ba49008
fix(gui): show folding actions in code popup menu ( #2234 )
2024-08-02 17:13:16 +01:00
pubiqq
115e563a2b
fix: improve checking if methods are inline for FixAccessModifiers (PR #2235 )
2024-08-01 21:45:52 +01:00
Mino
1669200e62
feat(gui): smali code folding (PR #2233 )
...
* added smali code folding
* remove unnecessary public modifiers
* improve code
* undo method extract
---------
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2024-08-01 19:33:37 +01:00
Mino
6ab224ea0d
feat(gui): pin tabs (PR #2230 )
...
* add ability to pin tabs
* save pinned tabs with Save Project action
* further prevent closing pinned tabs
* add translation entries
* prevent pinning start page
* add pinned tabs tree view
* properly dispose of quickTabsTree
* restructure code
* more unpin context menu items
2024-08-01 18:06:45 +01:00
pubiqq
61855a7ea1
fix: make detailed var info deterministic (PR #2231 )
2024-07-31 22:16:07 +01:00
Mino
bda3119e86
fix(gui): horizontal scrolling in Linux (PR #2229 )
...
* fix horizontal scrolling in linux
* improve code
---------
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2024-07-31 17:02:00 +01:00
Mino
b26abed686
feat(gui): export resource/class/package (PR #2228 )
...
* feat: export resource
* feat: export class
* restructure code: introduce enum for exporting classes
* feat: export package
* feat: export resource folder
* check directory exists before creation
* apply code formatting
* fix code formatting
* Apply suggestions from code review
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2024-07-31 17:00:54 +01:00
Skylot
c179beee95
chore: update dependencies
2024-07-28 20:57:37 +01:00
Skylot
04a454094b
fix: improve exception handlers checks ( #2086 )
2024-07-27 22:09:14 +01:00
Skylot
33bcbfec41
chore(docs): minor fixes
2024-07-27 22:09:13 +01:00
Skylot
ec645d80b1
fix(mappings): try to prevent mapping file reset on export exception, refactor and fix code to avoid NPE ( #2220 )( #2226 )
2024-07-25 17:44:23 +01:00
Jan S.
a8d889de3d
fix(launch4j): do not overwrite Java heap configuration from applicationDefaultJvmArgs (PR #2218 )
2024-07-20 20:46:45 +01:00
Skylot
ec0bf701c8
fix(build): fix hiding console in Windows ( #2196 )
...
Regression after migration to shadow jar in #1868 ,
instead CreateStartScripts task from 'application' plugin
'startShadowScripts' task should be modified.
2024-07-19 00:19:47 +03:00
Skylot
ad4dd116be
chore: update gradle and dependencies
2024-07-19 00:19:47 +03:00
Skylot
ef79f266c8
fix(build): fix gitlab build
2024-07-19 00:19:43 +03:00
Jan S
366225f9be
fix(quark): fix automated installation and check exit code of executed external commands ( #2119 )(PR #2216 )
2024-07-12 18:39:17 +01:00
Skylot
730db0d24f
fix(build): do not wrap jar in launch4j ( #2186 )
2024-07-08 22:17:06 +01:00
Iscle
05fb77e9bd
feat(gui): add button to go to Application class ( #2208 )(PR #2213 )
...
* feat: Add button to go to Application class
Icons from: https://intellij-icons.jetbrains.design/
* fix: Rename "goto" to "go_to" to keep things consistent
2024-07-08 18:36:45 +01:00
Iscle
bbabfa0354
fix(gui): fix Xposed args code generation (PR #2212 )
...
* Rename .java to .kt
* fix: Fix wrong function arguments when generating kotlin xposed code
2024-07-08 18:34:28 +01:00
Jan S
96bd9f0f17
fix(xml): AXML/Manifest parsing improvements (PR #2211 )
...
* log and ignore decodeValue errors
* skip extra data in package header
* ResourceTypes.h
2024-07-06 19:27:47 +03:00
qfalconer
fd5b397b40
fix(xml): allow for non-standard attributes sizes and avoid index exceptions when decoding some strings (PR #2210 )
...
More lenient AXML parsing: allow for non-standard attributes sizes and avoid index exceptions when decoding some strings
* The attributes size of an XML element is now accounted for. This size must be at least 20 (0x14) bytes but can be greater. Extra bytes are just skipped. When decoding a string, if such decoding is impossible a placeholder string is returned instead of throwing an exception. This is necessary because some malware purposely add android:tag attributes with invalid string index to throw parsers off. They also employ non-standard attribute sizes.
* Minor code restyling
---------
Co-authored-by: qfalconer <knm241@gmail.com >
2024-07-03 18:50:15 +01:00
Artem Zhiganov
f5e3a261b4
fix(gui): update russian translation (PR #2209 )
...
Co-authored-by: SVolf <dev@thunderdog.ru >
2024-06-28 18:39:23 +01:00
JustFor
52a884608a
fix(gui): update Messages_zh_CN.properties (PR #2203 )
...
sync new texts.
2024-06-14 18:52:31 +01:00
Iscle
74ddfde950
feat(gui): allow to check for unstable releases (PR #2200 )
...
* feat: gui: convert JadxUpdate to Kotlin
* feat: gui: allow updater to check for latest unstable artifacts
* fix: remove nullable operator from onUpdate() interface
2024-06-11 22:49:44 +01:00
Skylot
9aacb4f312
fix: config dir was used instead cache dir
2024-06-11 20:55:49 +01:00
Jiaxin Peng
82e2104f3c
fix(gui): support filtering files with multiple extensions in file dialog (PR #2185 )
...
* fix(gui): support filtering files with multiple extensions in file dialog
* lint
2024-05-19 17:47:35 +01:00
Skylot
09fa35f144
feat: allow to change config and cache dirs with env vars ( #2159 )
2024-04-27 21:48:42 +01:00
Skylot
f2a6a1e942
build: update JDK to 21 for windows artifacts
2024-04-27 17:40:06 +01:00
Andrei Kudryavtsev
b85900aa3d
feat: move AAB support to separate plugin (PR #2165 )
...
* wip: finished with factories
* wip: bundleconfig.pb
* wip: jadx-aab-input, separate BundleConfig parser
* wip: removed test apks
* wip: proto xml pretty print
* wip: fixed getNamedValues NPE
* minor fixes
* spotless
* enabled zip64 for gui shadow jar
* spotless
* spotless
* reverted manifest identification since signature parsing not working at the moment
* replace static methods with new API methods
---------
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2024-04-26 21:54:54 +01:00
Jan S
37a42d1418
fix(gui): show correct content of binary resources in hex view ( #2160 ) (PR #2166 )
2024-04-24 19:29:52 +01:00
Jan S
07dde05337
fix(build): configure launch4j to not change current directory ( #2162 ) (PR #2163 )
2024-04-24 18:52:08 +01:00
Nick
8618214c7f
docs: improve installation section (PR #2161 )
...
* Update README.md
* Update README.md
2024-04-24 18:43:05 +01:00
Skylot
b80f32a36f
fix(smali-input): compile one smali file at a time to avoid 64k limit ( #2158 )
2024-04-23 22:14:59 +01:00
Skylot
ce527ed753
fix(build): add missing files in bundle
2024-04-20 21:04:17 +01:00
Skylot
f2ea6415c9
fix(cli): don't print stacktrace for incorrect options ( #2140 )
2024-04-20 18:06:30 +01:00
Skylot
bc70f8eabb
fix: use correct new line string for simple code writer
2024-04-20 17:37:45 +01:00
Skylot
be25cbf8c2
fix: use common parser for manifest, verify app package
2024-04-20 17:37:45 +01:00
Skylot
f9c0cad146
chore: update dependencies
2024-04-19 20:14:25 +01:00
Skylot
b356ff76e1
fix: improve StringBuilder elimination ( #2148 )
2024-04-19 20:14:25 +01:00
Skylot
ec9244a635
fix(gui): use common code for manifest parsing in debugger
2024-04-19 20:14:25 +01:00
omerfarukkykc
a5bd64461d
fix(gui): remember selected device in debugger (PR #2153 )
...
* ADBDialog->launchApp() if multiple devices presented should let user select the one they desire.
* compare objects directly instead parsing
---------
Co-authored-by: Ömer Faruk KAYIKCI <omer.kayikci@tubitak.gov.tr >
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2024-04-19 19:02:12 +01:00
dependabot[bot]
54bf79ccc5
build(deps): bump gradle/wrapper-validation-action from 2 to 3 ( #2149 )
2024-04-15 18:17:48 +00:00
Skylot
6182332eef
fix: avoid self-loop for exception handlers ( #2147 )
2024-04-11 23:07:45 +03:00
Skylot
37b57096ec
fix: allow use FieldInfo as switch key ( #2147 )
2024-04-11 23:07:44 +03:00
Skylot
6aab8fabc9
chore: update dependencies
2024-04-11 23:07:41 +03:00
JustFor
665c1e57d2
fix(gui): update Messages_zh_CN.properties (PR #2146 )
...
Sync new Jadx text.
2024-04-09 22:11:24 +01:00
Skylot
6e8affcbdc
feat: add options to JadxArgs to change code new line and indent ( #1945 , #1948 )
2024-04-08 21:51:24 +01:00
Skylot
41d6b0018e
fix: add missing " * " on new line for block comments, flip addCodeComment args ( #2145 )
2024-04-08 21:34:34 +01:00
Skylot
dbadbb01fc
refactor: rename method collectArgsWithoutLoading into collectArgNodes in MethodNode ( #2142 )
2024-04-07 23:09:02 +01:00
Skylot
0f52077c5c
feat: allow to set style for code comments ( #2145 )
2024-04-07 23:06:32 +01:00
Skylot
ea861829c7
fix: support end block entry for mutli-entry loops ( #889 )
2024-04-06 22:49:32 +01:00
Skylot
c1de235289
fix: in anonymous class checks ignore instance fields not used outside
2024-04-06 22:45:30 +01:00
Skylot
8f969d4e89
chore: update gradle and dependencies
2024-04-03 21:03:48 +01:00
Skylot
0c1f830f94
fix: lambda decoding and code generation ( #2139 )
2024-04-03 21:03:48 +01:00
Skylot
43c082e4da
feat: replace Android resource ids with android.R fields ( #2119 )
2024-03-31 20:37:33 +01:00
Skylot
ecdc4e6757
refactor: move constant collection into separate pass ( #2119 )
2024-03-30 21:51:02 +00:00
Skylot
b865c9c687
refactor: allow store unresolved fields in ConstStorage ( #2119 )
2024-03-30 20:52:31 +00:00
xnumad
6b4976c593
fix(gui): handle paths where file name is null ( #2136 )(PR #2137 )
...
* fix: Ignore invalid files
Avoid NullPointerException when using "Open files" or drag-n-drop
* refactor: Replace Stream API chain with loop
IntelliJ
* fix: Ignore invalid files
Avoid NullPointerException when using "Add files"
* fix: Fall back to complete path string
Instead of empty project name
* fix: Render tree
Project tree (sidebar) didn’t load
Toggling "View > Show flatten packages" threw a NPE here
* fix code formatting
---------
Co-authored-by: Skylot <skylot@gmail.com >
2024-03-29 22:30:01 +00:00
Skylot
2807dc5090
fix(script): add example script for resources rename ( #2126 )
2024-03-20 18:46:44 +00:00
Skylot
463d2b90fa
fix: don't apply node positions and prevent eager loading for custom decompile modes ( #2116 )
2024-03-19 20:23:04 +00:00
Skylot
bff00d101f
fix(script): add option flags, fix missing script options in help
2024-03-19 20:22:50 +00:00
Skylot
1290ef63a2
fix(build): enable publish to maven for rename-mappings plugin
2024-03-16 21:58:03 +03:00
Skylot
49d2b34d84
chore: update dependencies
2024-03-16 21:58:00 +03:00
CKCat
eecdfae73f
fix(res): resolve some manifest decode errors (PR #2122 )
...
* The elementSize may be larger than the actual size of the element chunk.
* end namespace chunk size can be any value.
* keep at least a warning.
2024-03-16 18:57:10 +00:00
JustFor
8760b4ddde
fix(gui): copy strings without quotes (PR #2121 )
...
* Update AbstractCodeArea.java
In general, we need data, not text in code. But now every time you copy the highlighted text, you copy the highlighted quotes as well. This often results in an extra need to delete the quotation marks around the sides, which is confusing.
Now when copying selected highlighted text, quotes are not copied in.
* Update AbstractCodeArea.java
fix code format
* additional checks, move to common method
---------
Co-authored-by: Skylot <skylot@gmail.com >
2024-03-16 18:55:57 +00:00
Andrei Kudryavtsev
3599b248a4
feat(gui): dragging tab appearance settings ( #2120 )(PR #2118 )
2024-03-08 23:11:58 +03:00
bagipro
2fdd496518
fix(res): add indents for namespace declarations (PR #2114 )
...
Co-authored-by: bagipro <bugi@bugi>
2024-03-01 16:32:47 +00:00
bagipro
278e3c2d47
fix(res): avoid duplicated XML attributes (PR #2112 )
...
Co-authored-by: bagipro <bugi@bugi>
2024-02-27 18:49:09 +00:00
bagipro
881a716b8e
fix(res): fixed XML proto parsing for removed debug data (PR #2111 )
...
* Fixed XML proto parsing for removed debug data
* Fixed codestyle check
---------
Co-authored-by: bagipro <bugi@bugi>
2024-02-27 17:34:37 +00:00
Skylot
a73c9e90fc
fix(dex-input): improve error report message for invalid dex checksum
2024-02-26 19:36:28 +00:00
Skylot
56749b2afb
chore: update dependencies
2024-02-25 22:38:00 +03:00
Andrei Kudryavtsev
d7ec35791b
feat(gui): tabs drag and drop reorder support ( #1212 ) (PR #2109 )
2024-02-25 19:36:46 +00:00
Skylot
d51362ed50
fix: don't remove exception handlers ( #2104 )
2024-02-19 20:18:44 +00:00
Skylot
5c0c1daa71
fix(gui): use new RSTA line number formatter API to show source lines
2024-02-16 18:38:56 +00:00
Skylot
603ea3989a
chore: update dependencies
2024-02-16 17:41:37 +00:00
Emiel Matthys
018ff98df7
feat(gui): remember save preference decision (PR #2103 )
...
* First version
* Use dropdown
* Spotless
* Language strings and tests
* Comment out translated versions
* Remove more translations
---------
Co-authored-by: Emiel Matthys <emiel.matthys@guardsquare.com >
2024-02-15 18:00:37 +00:00
nitram84
5fbabdefca
fix: NPE in unused EcxHandler block removal code ( #2086 ) (PR #2104 )
2024-02-15 17:57:30 +00:00
nitram84
13607fc8b6
fix(res): add missing namespace declarations (PR #2102 )
...
* fix(res): add missing namespace declarations
* remove `writer.getIndent() == 0`
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2024-02-15 17:56:39 +00:00
DanielFi
0c33d723c8
fix: optimize switch fallthrough (PR #2054 )
...
* cache post dom map between switch cases
* cache post dom map of whole methods
* calculate full post dom tree, fix switch out block detection
---------
Co-authored-by: Skylot <skylot@gmail.com >
2024-02-14 18:31:38 +00:00
Skylot
0143423dc9
fix: use empty line before field in correct place ( #2101 )
2024-02-12 15:39:41 +00:00
Skylot
21b1452485
chore: update gradle and dependencies
2024-02-12 15:39:40 +00:00
Skylot
ecb8abb98e
fix: correct rollback if type update failed ( #2090 )
2024-02-10 16:08:51 +00:00
Skylot
a3a4fabd5a
fix: store classes access flags in class set
2024-02-07 22:10:31 +03:00
Skylot
edf6ce273c
fix: clear node flags for custom decompilation mode
2024-02-06 21:54:41 +03:00
dependabot[bot]
1bb956a8b0
build(deps): bump gradle/wrapper-validation-action from 1 to 2 (PR #2099 )
...
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action ) from 1 to 2.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases )
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-05 18:38:02 +00:00
Away
276ee537e1
fix: remove unused ExcHandlers blocks (PR #2086 )
...
* Removing unused ExcHandlers blocks
* Improving removing unused ExcHandlers blocks
* Removing gradlew of the commit
* Adding test 2 for UnreachableCatch
* Update jadx-core/src/test/java/jadx/tests/integration/trycatch/TestUnreachableCatch2.java
---------
Co-authored-by: Away-pp <vladimir@DESKTOP-KESF23K>
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2024-02-04 18:02:34 +00:00
Andrei Kudryavtsev
7e628ad1a1
fix(gui): detecting tab click with mousePressed instead of mouseClicked (PR #2097 )
2024-02-04 17:36:02 +00:00
Sebastian Gallese
0a40b53412
docs: update Build Status shield in README (PR #2095 )
2024-02-01 17:20:02 +00:00
dependabot[bot]
682f90de2f
build(deps): bump gradle/gradle-build-action from 2 to 3 (PR #2094 )
...
* build(deps): bump gradle/gradle-build-action from 2 to 3
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action ) from 2 to 3.
- [Release notes](https://github.com/gradle/gradle-build-action/releases )
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* migrate to gradle/actions/setup-gradle@v3
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2024-01-29 20:00:31 +00:00
Skylot
1a07ab8ab1
chore: update dependencies
2024-01-25 20:10:39 +00:00
Skylot
d86449a8ea
fix(res): ignore resource table entries with '../' in name
2024-01-25 20:09:21 +00:00
Skylot
75d2e540aa
refactor: add new task executor, remove task barrier ( #1879 )
2024-01-25 19:45:23 +00:00
bagipro
e73612b4d2
feat(res): disable XML pretty print (PR #2087 )
...
Co-authored-by: bagipro <bugi@bugi>
2024-01-22 15:01:38 +00:00
Away
a19aec9d9f
fix: use correct order in removeUnreachableBlocks (PR #2085 )
...
* Fixing wrong order in removeUnreachableBlocks
* Removing dead code in TestTernary4 test
* Do not clear instructions in detach blocks method
2024-01-21 16:05:02 +00:00
Skylot
61be1d8b0a
fix(gui): allow to reset variable name, fix renames for inner classes
2024-01-18 20:36:51 +00:00
Skylot
4483533417
fix(gui): highlight word even if cursor at the end of that word ( #2083 )
2024-01-18 19:40:53 +00:00
Skylot
fb703cd856
fix(gui): scroll to first error on jadx script check/run
2024-01-18 18:17:53 +00:00
Skylot
c0ff7572ac
fix(gui): round file size to block size for cache usage calculation
2024-01-17 18:25:35 +00:00
Skylot
8e7ffc8ddb
fix: support switch over enum by ordinal
2024-01-16 20:40:51 +00:00
Skylot
f994abee21
build: add Java 21 to Gitlab CI
2024-01-15 19:34:29 +00:00
Skylot
6f1dfb6848
chore: update dependencies
2024-01-15 22:18:45 +03:00
Skylot
306bc7abc3
feat(java-input): support jsr/ret opcodes ( #2039 )
2024-01-15 22:18:44 +03:00
Skylot
8ed48183c7
feat(plugins): add API for search/use other plugins
2024-01-15 22:18:44 +03:00
Skylot
fdc3fe1a8d
fix(java-input): use correct registers for dup2_x* opcodes
2024-01-15 22:18:44 +03:00
Away
2805770510
fix: removeUnreachable not searching in all blocks (PR #2082 )
...
Co-authored-by: Away-pp <vladimir@DESKTOP-KESF23K>
2024-01-14 17:07:39 +00:00
Skylot
03052baabe
chore: update dependencies
2024-01-11 19:10:44 +00:00
Iscle
23e643c686
fix(gui): attempt to resolve field rename issues with shortcut ( #1440 )(PR#2075)
...
This is an attempt to fix the issues that sometimes arise when renaming functions or variables using the "n" shortcut as stated in issue #1440 .
The reasoning behind the change: The instance creation of the RenameDialog was somehow affecting the UI thread and not allowing for the key release event to be dispatched. By running everything inside the invokeLater block, this might get fixed as it will execute after all previous tasks are finished.
We now also only show the dialog after EVERYTHING is set up, not before.
2024-01-05 21:42:06 +03:00
Iscle
faeae086d1
feat(gui): improve search bar behavior when using key bindings (PR #2074 )
...
Before, the search bar would toggle, which was quite annoying. Now, it replicates IntelliJ's search bar behaviour.
1.1. If the user has selected text, use that as the search text
1.2. Otherwise, use the previous search text (or empty if none)
2. Select all text in the search bar and give it focus
2024-01-05 21:31:34 +03:00
Iscle
38e64fafbd
feat: add an option to generate kotlin code for xposed (PR #2070 )
...
* feat: add an option to generate kotlin code for xposed
A new setting was added, bumping the settings version to 19.
* refactor: applied spotless
* refactor: fixed formatting
* refactor: fixed formatting once again
2024-01-05 21:24:08 +03:00
Skylot
e723c245ee
fix: use correct type printer in json output mode ( #2053 )
2023-12-23 18:46:39 +00:00
Skylot
3e57dacfd3
chore: update dependencies
2023-12-21 19:00:33 +00:00
Iscle
f5accc8464
feat: add support for xapk files ( #1597 )(PR #2064 )
...
* feat: annotate JadxPlugin with NotNull
Allows for better Kotlin support
* feat: add support for custom resources loader
* feat: add support for xapk resources loading
* fix: rename "decode" to "load"
* refactor: annotate JadxCodeInput with NotNull
* feat: add support for xapk code loading
* feat: add xapk support to file filter
* fix code formatting
* revert NotNull annotation
* several improvements
* refactor: fix typo
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-12-21 18:46:40 +00:00
Skylot
238fe17df0
fix(gui): add hint for class renaming ( #1590 )
2023-12-18 18:14:56 +00:00
Skylot
295befbaaa
fix: check class alias for Kotlin Intrinsics search ( #1590 )
2023-12-18 18:14:56 +00:00
dependabot[bot]
5f20033f18
build(deps): bump actions/upload-artifact from 3 to 4 ( #2060 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 17:59:11 +00:00
dependabot[bot]
5f376c6e21
build(deps): bump github/codeql-action from 2 to 3 ( #2061 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 17:57:37 +00:00
Skylot
68a99c5410
chore: update dependencies
2023-12-16 19:20:45 +03:00
Skylot
8db70ee7a5
fix(gui): resolve reset and commit issues for disk code cache
2023-12-16 19:20:43 +03:00
LanBaiCode
b6155afd32
fix(gui): use correct type for generic params in Xposed snippet (PR #2057 )
...
* Fix: Resolved an issue with incorrectly generated xposedMethodSnippet when the parameter type is generic.
Add: Introduced xposedGenerateFieldSnippet.
* fix code format
* Fixed: Resolved the issue where Xposed code generation was incorrect when dealing with generic parameters and alias fields.
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2023-12-11 17:14:10 +00:00
Away-pp
d5bf9f20a6
fix: IndexOutOfBoundsException with negative register index (PR #2056 )
...
Co-authored-by: Away-pp <awaytesting1@gmail.com >
2023-12-10 18:51:25 +00:00
Skylot
2d5c0fda4a
fix: prefer early return for 'if-else-if' block ( #2052 )
2023-12-05 21:08:22 +00:00
Skylot
5d56001826
build(deps): migrate to Google fork of Smali
2023-12-04 20:42:09 +00:00
Skylot
2de91f9a3a
chore: update gradle and dependencies
2023-12-04 23:18:51 +03:00
dependabot[bot]
e06e6bd483
build(deps): bump actions/setup-java from 3 to 4 ( #2051 )
...
Bumps [actions/setup-java](https://github.com/actions/setup-java ) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases )
- [Commits](https://github.com/actions/setup-java/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 19:55:32 +00:00
nitram84
1e57e85382
fix: gradle export for APKs without strings.xml (PR #2050 )
2023-12-03 17:38:46 +00:00
LanBaiCode
ca03406a3d
fix: correct type for generic params in Xposed snippet, add fields support (PR #2047 )
...
* Fix: Resolved an issue with incorrectly generated xposedMethodSnippet when the parameter type is generic.
Add: Introduced xposedGenerateFieldSnippet.
* fix code format
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2023-11-25 17:55:53 +00:00
Skylot
2d28da9b0e
feat: allow to set zip max entries count using env var ( #1751 )
2023-11-16 20:48:08 +03:00
Skylot
edb1717969
fix: support variables reuse for enum restore ( #2042 )
2023-11-16 20:48:07 +03:00
Skylot
1b51234edc
chore: update dependencies
2023-11-16 20:48:07 +03:00
nitram84
e6d896d91e
fix(plugin): check for valid identifiers from Kotlin metadata (PR #2041 )
2023-11-10 22:29:54 +00:00
Skylot
a989fa7e64
refactor(deobf): split deobfuscation conditions ( #2040 )
2023-11-05 20:22:15 +00:00
nitram84
f7002c7fad
feat(deobf): implement a whitelist for deobfuscation (PR #2040 )
2023-11-05 20:21:41 +00:00
Skylot
41d986bdca
feat(script): use cache for compiled scripts
2023-10-27 23:35:03 +03:00
Skylot
192a8116f1
chore: update FlatLaf
2023-10-27 23:35:01 +03:00
Markslin
173d85bf84
fix(res): resolve resourceIds reuse issue (PR #2037 )
...
Co-authored-by: mingyinsun <mingyinsun@tencent.com >
2023-10-24 18:47:17 +01:00
Skylot
b310e92d7a
fix: inline CMP instructions to help conditions merge ( #2033 )
2023-10-21 23:08:00 +01:00
Skylot
4a92ee07cc
fix(gui): hide not needed popup action for not editable code
2023-10-21 23:08:00 +01:00
Skylot
fdffe20c46
fix(gui): another try to fix code search
2023-10-21 23:08:00 +01:00
Skylot
15d464d620
fix(gui): improve code and method search ( #2033 )
2023-10-18 21:53:40 +01:00
Skylot
1bd4526e4c
fix: improve restructure of nested try/catch/finally blocks ( #2033 )
2023-10-15 20:06:35 +01:00
Skylot
816308e3ca
chore: update dependencies
2023-10-15 20:06:35 +01:00
rawer886
cfd851a980
fix: use correct imports for classes from default package (PR #2031 )
...
* fix: use fully qualified package names for classes of defpackage
* fix: use correct imports for classes from default package (#2027 )
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-10-11 20:04:03 +01:00
Julian Burner
d129be7e86
fix: update to Mapping-IO 0.5 (PR #2029 )
...
* Update to Mapping-IO 0.5
* Fix Spotless error
* Fix Spotless error (2)
* Sort mappings by name when exporting
2023-10-09 18:46:51 +01:00
Skylot
6433fcef72
chore: update gradle and dependencies
2023-10-07 18:08:44 +01:00
Jan S
d120556772
fix(res): add resource entry offset check (PR #2024 )
2023-10-06 17:25:36 +00:00
Skylot
19f40b8549
feat(cli): add option to show available plugins list
2023-09-27 19:44:58 +01:00
Skylot
89acf73010
feat(plugins): cache available plugin list
2023-09-27 19:44:53 +01:00
Goooler
b70276d896
fix(gui): update zh_CN translation (PR #2022 )
2023-09-27 16:19:11 +01:00
5idereal
76b370e249
update zh_TW translation ( #2021 )
2023-09-26 17:15:09 +01:00
Skylot
b73f2ef0b9
fix(res): place xml attributes on new line ( #2012 )
2023-09-24 20:40:33 +01:00
Skylot
762c2d70bd
chore: fix typos
2023-09-24 18:53:39 +01:00
Skylot
4e81bdd76f
chore: update dependencies
2023-09-22 20:32:40 +01:00
Skylot
4d87b447a6
chore: remove unused code in ClsSet class ( #2020 )
2023-09-22 20:31:56 +01:00
Roni Ragil Iman Khoirul
8f0d0e4f4d
feat: add Indonesian translation (PR #2018 )
...
* Add Indonesian translation
* fix load i18n resources with deprecated language codes
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-09-20 19:26:59 +01:00
Skylot
c39a696977
feat(script): add methods for apply renames and reload tabs ( #2008 )
2023-09-15 21:50:47 +01:00
Cesaryuan
b78a0257b4
fix(gui): improve highlight in UsageDialog ( #2006 )(PR #2007 )
2023-09-15 16:19:13 +01:00
xnumad
cdede7eca4
docs: update Arch Linux version badge (PR #2005 )
2023-09-14 18:33:31 +01:00
Skylot
72180164d8
chore(script): add example for rename method param from annotation ( #2004 )
2023-09-12 20:22:14 +01:00
Skylot
2dc0db230c
chore(script): adjust scripts format
2023-09-12 20:21:02 +01:00
Skylot
24657f6b3c
fix(plugins): add a better way to init plugins options
2023-09-11 21:50:48 +01:00
Skylot
e358476c71
fix: attempt to improve package rename checks ( #1997 )
2023-09-09 20:16:57 +01:00
Skylot
45a637f33b
feat: allow to disable zip security checks ( #1579 , #980 )
2023-09-09 16:10:59 +01:00
Skylot
76cf9596e2
build: fix win bundle script
2023-09-07 20:06:40 +01:00
Skylot
95c07a4e76
fix: synchronize attributes map writes ( #2001 )
2023-09-07 16:59:20 +01:00
Skylot
2d1d5a419c
chore: update dependencies, resolve gradle warnings
2023-09-07 16:15:05 +01:00
dependabot[bot]
f45547e2c1
build(deps): bump actions/checkout from 3 to 4 (PR #2000 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 18:57:40 +01:00
Jan S
1f463c7152
fix: exclude ZIP entries of less than 25MB uncompressed size from ZIP bomb check ( #1570 )(PR #1998 )
2023-09-02 17:58:09 +01:00
Skylot
2c92c6b0a6
chore(script): add example deobf from toString script ( #1996 )
2023-09-01 21:18:58 +01:00
Skylot
f83ee45ac8
chore: update gradle and dependencies
2023-08-31 21:31:56 +01:00
Jan S
f695fafe74
chore(debugger): improve code and add details to error messages (PR #1982 )
...
* chore: created list entry getter getRegListEntry for problematic code;
use specific containers/fields instead of SimpleEntry;
* chore: include details on the used ArtAdapter in error message
* add device info to registers exception
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-08-30 22:58:59 +01:00
Skylot
f6ab105ef7
chore: use github issue forms for templates
2023-08-11 20:28:35 +01:00
Skylot
f81a2c4ebb
chore: update dependencies
2023-08-11 17:36:14 +01:00
Skylot
c602b3d967
feat: add support for 'package-info' ( #1967 )
2023-08-07 18:46:49 +01:00
Skylot
f213082da5
feat(gui): load available plugins from jadx-plugins-list
2023-08-05 22:41:51 +01:00
Skylot
8d26fa2a89
build: don't publish to maven rename-mappings plugin
2023-08-05 19:27:15 +01:00
Skylot
a06231d007
fix(plugins): do not parse kotlin metadata if all options disabled
2023-08-05 19:26:28 +01:00
Mino
68b84ea786
feat(gui): allow user to set custom shortcuts ( #1479 )(PR #1980 )
...
* feat(gui): allow user to customize shortcuts
* internal: fixed other constructor for jadx action
* make code area actions customizable
* show warning dialog when mouse button is commonly used
* applied code formatting
* code formatting and and moved string to resources
* moved action related classes to their own package
* added fix for actions with modifiers in macos
* ignore left click in shortcut edit
* applied code formatting
* warn user when a duplicate shortcut is entered
* save shortcut when key is pressed (instead of typed)
* fix node under mouse being ignored
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
* add missing import
* applied code formatting
* added custom shortcuts support to script content panel
* save shortcut when key is released (instead of pressed)
* enable custom shortcut in script autocomplete
* fix duplicate shortcut warning when the shortcut is set again at the same action
* fixed mouse buttons shortcut not working for code area
* fix exception with mouse button shortcuts
* fix action getting fired twice
* added variants for forward and back nav actions
* fix exception when shortcut is not saved
* fix mouse button shortcut for auto complete action
* consume mouse event if bound to an action
* workaround not being able to extend HashMap
* fix exception in script code area when using mouse button shortcut
* minor pref serialiazation improvement
* fix action buttons not working (like run action)
* fix exception with plugin actinos
* fixed nullptr when adding an action with null actionmodel to jadxmenu
* fix plugin action name not showing
---------
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2023-08-03 20:05:25 +01:00
Skylot
868e99e0b5
build: add windows host for build tests
2023-08-01 18:44:53 +01:00
Mino
95db98e574
fix: resolve exception when androidmanifest.xml is not found (PR #1978 )
2023-07-31 22:27:52 +01:00
Mino
63fc7e05b6
refactor: reuse the same parser in main activity action and gradle export feature (PR #1971 )
...
* internal: reuse the same parser in Main Activity action and export gradle project
* removed unnecessary logs
* fixed code formatting issues
* removed no longer used methods
* optimize imports
* fix exception when app name isn't found
* use EnumSet instead of int for parse flags
* moved ApplicationParams class under android utils package
* moved attributes parsing to a seperate method
* fallback to any strings.xml if default one is not found
2023-07-31 18:50:47 +01:00
Jan S
2c2bb64c09
fix(tests): ResXmlGenTest fails on Windows (PR #1972 )
...
* fix(core): fix ResXmlGenTest fails on Windows
* code style
2023-07-31 17:51:59 +01:00
Mino
0f5d07c6b1
feat(gui): hex-viewer for binary asset files ( #198 )(PR #1969 )
...
* implemented hex-viewer feature
* added support for opening lib (.so) files
* removed unused class
* fix formatting
* fixed error when opening an empty file
* fixed a slight inaccuracy in synchronizing highlights
* defaulted little endian to false
* synchronize hex editor with theme and use smali font
* fixed wrong displayed values
* applied code formatting
* fixed selection color in preview panel
* Changed Smali Editor font entry in settings less confusing
2023-07-31 00:02:39 +01:00
Ohad Shai
fbb6aa580e
chore: upgrade to kotlin-logging 5 (PR #1966 )
...
* upgrade to kotlin-logging 5
* apply code autoformatting
* resolve deprecation warnings
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-07-30 19:02:56 +01:00
Mino
d9692a4f5f
feat(gui): add 'go to main activity' action ( #1423 )(PR #1965 )
...
* implemented feature: 'go to main activity'
* fix code formatting (added braces to if statements)
* search main activity by original class name, handle exceptions
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-07-29 21:03:25 +01:00
Mino
ef0c09ca5b
feat(gui): show number of search results in search bar ( #1819 )(PR #1964 )
...
* gui: show number of search results in search bar, closes #1819
* optimized imports
* use string from resources
* applied code formatting
2023-07-28 22:17:04 +01:00
Skylot
752c61ae71
fix: disable zip file checks for new JVM versions ( #1962 )
2023-07-28 20:09:54 +01:00
Skylot
8f635076ea
fix(gui): allow html for empty package name ( #1961 )
2023-07-26 21:03:55 +01:00
Skylot
8d5130a329
chore: update gradle and dependencies
2023-07-26 21:03:54 +01:00
Skylot
09a5e0893b
fix: handle classes 'super' loop ( #1942 )
2023-07-24 21:59:27 +01:00
Jan S
de8c315a7a
fix(gui): display Quark stderr output in Jadx log ( #1955 )(PR #1957 )
...
* Quark: also display error stream in Jadx log
* use info log level, open log viewer to track progress
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-07-24 18:03:37 +01:00
JustFor
3abdd40498
fix(gui): update Messages_zh_CN.properties (PR #1951 )
2023-07-17 18:45:47 +01:00
Skylot
5b7ebec7e3
feat(gui): add option to set cache location, view/delete exists caches ( #1941 )
2023-07-17 00:49:40 +03:00
Yoav Sternberg
de603ef909
fix(gui): support inline node for jump to code ( #1905 )(PR #1950 )
2023-07-15 18:58:16 +01:00
JustFor
a0a6779097
fix(gui): update Messages_zh_CN.properties (PR #1949 )
...
1. Fill in the missing information
2. Sync new texts.
2023-07-12 16:36:43 +01:00
nitram84
ce9645864d
fix(res): support formatted=false for strings (PR #1947 )
2023-07-09 20:05:29 +01:00
Skylot
d076c4e73d
build: migrate to kotlin dsl in gradle scripts, update gradle and deps
2023-07-08 20:13:37 +01:00
Skylot
3e4c6a9c51
refactor(gui): don't use map for store open tabs order ( #1940 )
2023-07-06 17:14:31 +01:00
Skylot
74a2d7d5e7
doc: update contributing guide
2023-07-05 23:21:02 +01:00
bytemarx
219f9ebede
feat(gui): close all tabs to the right ( #1939 )(PR #1940 )
...
* feat(gui): close all tabs to the right (#1939 )
* remove usage of LinkedHashMap as variable type
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-07-05 22:54:19 +01:00
Skylot
ba0e918fef
chore: update dependencies
2023-07-05 20:20:01 +01:00
Skylot
9b75a4f199
fix: update raung to fix stack frame issue ( #1932 )
2023-07-05 19:43:24 +01:00
Skylot
2d65594383
fix: additional checks for class alias string ( #1937 )
2023-07-04 21:25:38 +03:00
nitram84
36f439a82b
fix(res): resolve all custom attributes (PR #1933 )
2023-07-04 19:21:32 +01:00
5idereal
0efc99e43e
fix(lang): update zh_TW translation (PR #1938 )
2023-07-04 19:20:37 +01:00
nitram84
c0c35f32a8
fix(gradle): avoid BuildConfig conflict ( #1847 ) (PR #1931 )
2023-07-01 16:41:57 +01:00
Skylot
53e51c76a5
fix(plugins): use default args hash supplier in kotlin metadata plugin ( #1929 )
2023-06-30 16:33:22 +01:00
Midori Kochiya
14265a7b70
fix(res): parse strings only when they are referenced ( #1926 )(PR #1928 )
...
* Parse strings only when they are referenced
* Fix style
2023-06-28 21:29:46 +01:00
nitram84
4467f9118f
fix: update class set to Android 34, add apache http client support for api level 28+ (PR #1927 )
...
* fix(cli): fix jcst converter
* extend jcst format, update class set to Android 34, add optional android libs
* fix(gradle): add apache http client support for api level 28+
* don't require existing core.jcst file for convert cls set, improve performance
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-06-28 20:54:28 +01:00
Julian Burner
240a903438
fix: don't override passed mappings path ( #1891 )(PR #1925 )
...
* Don't override passed mappings path
* Fix spotless error
2023-06-28 18:20:34 +01:00
chaos
afa331e8fc
feat(gui): register macOS specific open file handler ( #1922 )(PR #1923 )
...
* feature:支持双击文件后直接打开jadx-gui
* additional checks
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-06-20 18:36:37 +01:00
Skylot
6620e650ef
fix: check args of inlined insns on reorder ( #1919 )
2023-06-19 15:05:06 +01:00
Skylot
2aa7438346
fix: check source file name alias uniqueness before rename ( #1913 )
2023-06-17 16:41:50 +01:00
Skylot
26fb7f33fb
fix(script): use script log for show stages exceptions ( #1912 )
2023-06-15 21:12:01 +01:00
Skylot
6f4451364b
fix(script): use compile instead analyze for scripts with deps ( #1912 )
2023-06-15 21:10:11 +01:00
Skylot
1a642108ef
fix(script): temp workaround to disable script checks before run ( #1912 )
2023-06-14 09:43:51 +01:00
Skylot
dddb7b2878
fix: don't inline consts into anonymous class constructor ( #1901 )
2023-06-13 21:35:15 +01:00
nitram84
82cafe6e94
fix(res): support min attr for attrs (PR #1909 )
2023-06-12 14:50:10 +01:00
Skylot
b578479270
fix(res): remove first empty line in public.xml ( #1907 )
2023-06-11 13:43:55 +01:00
Skylot
85b77cd3c0
chore: update dependencies
2023-06-11 13:42:47 +01:00
Skylot
38c3f8bf9a
fix: additional insns reorder checks ( #1904 )
2023-06-10 23:36:14 +01:00
Yoav Sternberg
f558203a9d
feat(api): access node under caret/mouse and jump (PR #1903 )
...
* Access node under caret/mouse and jump
* Apply lint
2023-06-09 15:50:57 +01:00
Skylot
347d6e2c2e
refactor: improve github plugin resolver
2023-06-07 22:09:06 +01:00
Skylot
eb4d540b04
chore: update dependencies
2023-06-07 21:20:05 +01:00
cskwrd
83b6ffbba9
fix(gui): fix spelling (PR #1897 )
2023-06-07 16:47:39 +01:00
Skylot
50c5f0874f
feat(gui): manage plugins in preferences window
2023-06-06 22:29:31 +01:00
Skylot
a72e6aeafe
feat(plugins): allow to set custom settings page in jadx-gui
2023-06-06 21:58:30 +01:00
Skylot
683cd76cc5
feat: add events support ( #1832 )
2023-06-06 21:58:29 +01:00
Goooler
df313dbfec
fix: replace jcenter with mavenCentral in export gradle files (PR #1896 )
...
jcenter is deprecated, we can use mavenCentral as one of the default maven repo.
2023-06-06 13:26:01 +01:00
Skylot
2e3579a8fd
fix(gui): disable rename action in tree popup if not allowed ( #1890 )
2023-06-03 14:38:33 +01:00
Skylot
99c8ceae9a
fix(gui): don't reset package alias on class rename ( #1732 )
2023-06-03 16:20:44 +03:00
Julian Burner
fa67f4fef7
fix: preserve renames on mapping export ( #1732 )(PR #1893 )
2023-06-03 14:20:06 +01:00
Skylot
e9a7ccd00c
fix: don't change annotated code on finish ( #1732 )
...
Remove first empty line break annotation positions, can occur for classes in default package
2023-06-02 21:41:38 +01:00
Skylot
76e5824d99
feat(test): add util methods for renames in test ( #1885 )
2023-05-27 19:55:28 +01:00
Skylot
3bf101d7ac
feat(gui): split settings into pages
2023-05-27 15:40:38 +01:00
myzhan
c28320e1b2
feat(gui): add an action to prettify json file in resources (PR #1880 )
...
* feat(gui): add an action to prettify json file in resources
* fix build
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-05-25 21:56:06 +01:00
nitram84
ea5b66d463
fix(gradle): add legacy support for vector drawables (PR #1879 )
2023-05-25 20:19:26 +01:00
Skylot
8a67c39279
feat(cli): install and manage plugins from command line
2023-05-23 17:53:48 +01:00
Skylot
67054bda3d
fix: add rename reason for method merged with bridge ( #1876 )
2023-05-20 14:06:31 +01:00
Skylot
ed4c5a3a17
fix: use shadow jar in app bundle to reduce jars count ( #1868 )
2023-05-18 20:40:39 +01:00
Skylot
ae1b1ce99e
fix(build): use Kotlin with explicit project dependency
2023-05-17 21:26:55 +01:00
Skylot
5d3c96ead2
chore: update dependencies
2023-05-17 15:12:51 +01:00
Krzysztof Iwaniuk
63ad7fb128
feat: add option for hexadecimal integer format globally (PR #1869 )
...
* option for hexadecimal integer format globally
* fix i18n strings, update readme
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-05-15 13:58:13 +01:00
Krzysztof Iwaniuk
ccdbb1d62c
feat: parse and use Kotlin metadata for renames ( #1861 )(PR #1860 )
...
* initial setup for data class and metadata parsing
* bug fix & comments
* better version using plugin system
* added tests
* ignore getters test fix
* logs & imports
* reverted accidental changes
* moved util classes to plugin, spotless apply
* move test and some other minor fixes
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-05-14 21:34:40 +01:00
Skylot
3474f0da04
fix: split loop exit at loop end ( #1866 )
...
Loop exit (like condition) in loop end block can confuse loop restructure.
To resolve this try to split back edge and make loop end a simple path.
2023-05-13 22:10:21 +01:00
Skylot
0fd9a9df29
fix: check for annotations before remove empty default constructor ( #1863 )
2023-05-11 18:11:02 +01:00
bagipro
e29011eb95
fix(res): update Android resources to API 34 (PR #1864 )
...
* update android resources to API 34
* fix format issues
---------
Co-authored-by: bagipro <bugi@bugi>
Co-authored-by: Skylot <skylot@gmail.com >
2023-05-11 17:26:02 +01:00
Skylot
f52d2814df
fix(gui): queue UI settings update ( #1859 )
2023-05-08 17:01:26 +01:00
Skylot
6e507f0cdc
fix(script): don't use modules to build script classpath ( #1858 )
2023-05-07 20:19:38 +01:00
Skylot
f825901849
chore: update dependencies
2023-05-07 20:17:46 +01:00
Skylot
5aaceee978
fix: cache finally extract checks on multiple paths ( #1853 )
2023-05-06 18:41:29 +01:00
Skylot
f53dbbfebf
feat: option to disable inner classes move to parent ( #1817 )
2023-05-06 20:39:50 +03:00
nitram84
d29263ef57
fix(res): fix escaping for string arrays
2023-05-06 20:38:13 +03:00
nitram84
d8c8fb4e18
test(res): add unit tests for ResXmlGen
2023-05-06 20:38:13 +03:00
Skylot
835f9fb5e0
chore(build): use official gradle build action
2023-05-01 21:31:36 +03:00
JustFor
ecbcbbe8d4
fix(gui): update CN translation (PR #1852 )
...
Fixed the problem of indistinguishable after English translation.
2023-04-28 22:25:15 +01:00
Skylot
37b1bff8f2
fix(gui): adjust node by offset search in code area ( #1845 )
2023-04-25 21:28:27 +01:00
Skylot
5e8f9b900f
fix: remove class filtering on export ( #1847 )
2023-04-25 17:12:42 +01:00
Skylot
ddefead764
chore(build): check java version ( #1846 )
2023-04-25 14:23:11 +01:00
Skylot
54f83cee1c
fix: run code schrink after insn args simplify ( #1838 )
2023-04-24 22:25:09 +01:00
Skylot
7f3bd8c668
fix: additional checks for primitive deboxing ( #1838 )
2023-04-24 22:25:09 +01:00
Skylot
ea10f2af47
fix(build): set jvm target version for all kotlin tasks
2023-04-24 22:21:20 +01:00
Skylot
2d810a2864
chore(build): update gradle
2023-04-24 22:21:20 +01:00
George Hopkins
bac2386a1a
fix: add parentheses around multiple lambda arguments (PR #1840 )
...
* fix: add parentheses around multiple lambda arguments
* add simple test case
---------
Co-authored-by: Skylot <skylot@gmail.com >
2023-04-24 19:59:59 +01:00
Skylot
06ec12ba17
fix(script): use default script compiler args
2023-04-21 15:50:06 +01:00
JustFor
7f713e5592
fix(gui): update Messages_zh_CN.properties (PR #1831 )
2023-04-21 14:42:02 +01:00
Skylot
ee2556ecb6
fix(gui): update mappings node instead full reload on 'save as' ( #1732 )
2023-04-20 22:00:06 +01:00
Skylot
e57787393e
chore(build): fix gradle tasks dependencies
2023-04-20 19:46:59 +01:00
Skylot
b7634024d6
chore: update gradle and dependencies
2023-04-20 17:22:16 +01:00
Skylot
9417671606
refactor: extract input-api into library ( #1821 )
2023-04-20 17:22:16 +01:00
Skylot
2e652b4219
fix(plugins): use loaded mapping tree on export ( #1732 )
2023-04-20 17:22:16 +01:00
Skylot
1d6ebed7e5
chore: fix spotless apply
2023-04-20 17:22:16 +01:00
Skylot
19cf22b9e3
chore: update Eclipse formatter config
2023-04-20 17:22:16 +01:00
Skylot
75fbdd3ac4
chore(build): set required Java version to 11, update dependencies
2023-04-20 17:22:16 +01:00
Skylot
13e317d927
fix(gui): resolve active tab restore issue
2023-04-20 17:22:15 +01:00
Skylot
7a309ca367
fix: improve plugins data handling
2023-04-20 17:22:15 +01:00
Skylot
a992c93198
fix(plugins): improve custom passes merge ordering
2023-04-20 17:22:15 +01:00
Skylot
ee3a653c1b
fix(gui): show options from all plugins
2023-04-20 17:22:15 +01:00
Skylot
e8e7028792
perf: improve usage data apply
2023-04-20 17:22:15 +01:00
Skylot
2403d32ae4
feat(gui): use plain json config instead java preferences
2023-04-20 17:22:15 +01:00
Skylot
1c89c7290c
fix(gui): discard old settings migrations
2023-04-20 17:22:15 +01:00
Skylot
1891f6fd7e
fix: ignore source name if current alias is better ( #1795 )
2023-04-20 17:22:14 +01:00
Skylot
e933b41236
script: replace method call with calculated result ( #1251 )
2023-04-20 17:22:14 +01:00
Skylot
9f7432134c
feat(gui): show loaded mapping file in input nodes
2023-04-20 17:22:14 +01:00
Skylot
7d69e5aaab
feat(gui): add script log open button
2023-04-20 17:22:14 +01:00
Skylot
780b1a0d53
fix(gui): resolve ktlint deprecation warnings
2023-04-20 17:22:14 +01:00
Skylot
ea37f3e9f7
fix: don't inline constants into lambdas
2023-04-20 17:22:14 +01:00
Skylot
c6ed117df6
fix: improve internal state checks
2023-04-20 17:22:14 +01:00
Skylot
cedcc29e01
chore(gui): add missing keys for new i18n file
2023-04-20 17:22:13 +01:00
Skylot
d5219e7f0c
feat: allow to move class to another package
2023-04-20 17:22:13 +01:00
Skylot
9a6dec0dbd
fix: scripts runtime code and docs clean up
2023-04-20 17:22:13 +01:00
Skylot
17574ee554
chore: update dependencies
2023-04-20 17:22:13 +01:00
Skylot
926f4e497a
feat(gui): allow to dock log viewer, new filter modes
2023-04-20 17:22:13 +01:00
Skylot
acbe94df27
feat(script): add code area popup menu action
2023-04-20 17:22:13 +01:00
Skylot
a2f018a00b
feat(gui): add run, check and format script actions
2023-04-20 17:22:12 +01:00
Skylot
98cc1b1022
script: add sample deobf by code script ( #1706 )
2023-04-20 17:22:06 +01:00
Skylot
745f46f81f
build: configure spotless for kotlin, apply code style fixes
2023-04-20 19:01:41 +03:00
Skylot
6912ed40b4
feat(gui): save usage data into disk cache
2023-04-20 19:01:41 +03:00
Skylot
a89dbc1152
refactor: make input plugin api similar to pass plugins
2023-04-20 19:01:40 +03:00
Skylot
0c4d46ead5
refactor: move plugins-api module into jadx-core
2023-04-20 19:01:39 +03:00
Skylot
eae9bac938
refactor: move mappings feature to separate plugin module
2023-04-20 19:01:39 +03:00
Julian Burner
cb91c8c41c
feat: mapping-io import support ( #1531 )(PR #1532 )
...
* Add new CLI args for mapping files and deprecate args regarding jobf files (will be moved to the cache dir in the future)
* Add support for importing method arg mappings
Also change `mapping-file` to `mappings-path`, since folders are supported, too
* Add GUI for importing mappings
* Also show save file dialog when exporting mappings
* Fix crash on startup when `--mappings-path` parameter is set
* Include imported renames when exporting mappings
* Add "close mappings" menu entry
* Don't instantiate MappingTree unless actually needed
* Terminology: `import` → `open`; `export` → `save`
* Save location of open mapping file into project data
* Correctly reset cache when loading new mappings
* Remove unused import
* Save opened mappings' last modified date to reset cache when changed
* Fix if statement
* Correctly handle absence of mappings path in project data
* Show overwrite warning for folders only if not empty
* Prevent crash when imported mappings don't have any namespaces
* Handle wrong mappings namespace count error
* Replace unneeded public with private
* Add option for saving open mappings directly to disk
* Correctly propagate and throw exceptions during decompiler init
* Respect opened mappings' existing namespaces; fix related crash
* Deduplicate code, add `DalvikToJavaBytecodeUtils` class
* Small cleanup; move more functionality to utility class
* Support for importing class, field and method mappings
* Handle mappings in RenameDialog
* Fix checkstyle
* Fix wrong naming order
* Use modified mapping-io JAR from https://github.com/skylot/jadx/commit/18070eb7a649db0b0daef38d456316d5b4650072
That commit got rid of redundant embedded libraries
* Add null checks
* Check if mapping tree is null before running MappingsVisitor
* Use working mapping-io build
* Handle cache invalidation directly in DiskCodeCache class
* Don't reset UserRenamesMappingsMode if project is just reloaded
* Fix checkstyle
Co-authored-by: Skylot <skylot@gmail.com >
2023-04-20 19:01:38 +03:00
Skylot
cb1f3e9843
refactor: use package nodes in api and ui
2023-04-20 19:01:38 +03:00
Skylot
d4927db52b
refactor: split and simplify deobfuscator
2023-04-20 19:01:37 +03:00
Skylot
bc7300bd01
feat: add package node, allow to rename packages
2023-04-20 19:01:36 +03:00
Skylot
278d7fa3f9
feat(script): add options support
2023-04-20 19:01:35 +03:00
Skylot
d9af91bc4d
feat(gui): add auto complete for jadx scripts
2023-04-20 19:01:35 +03:00
Skylot
18fe9f305c
feat(gui): support scripts in UI
2023-04-20 19:01:34 +03:00
Skylot
e5e64365fc
feat: add base scripting support
2023-04-20 19:01:29 +03:00
Skylot
fdf170529f
fix: use strict patterns for synthetic methods inline ( #1829 )
2023-04-19 17:52:37 +01:00
Skylot
50283ab543
fix: additional checks to forbid inline of null consts ( #1828 )
2023-04-19 15:49:06 +01:00
Skylot
3fa3e5acec
fix: correct args shift for instance invoke-custom ( #1816 )
2023-04-16 20:10:57 +01:00
Skylot
4230cd5b5a
feat(plugins): allow to load classes using input stream or byte array in jadx-input plugin ( #1457 )
2023-04-10 21:28:53 +01:00
nitram84
1ad6527de5
fix(xml): use parent attibute only for styles (PR #1815 )
2023-04-10 18:34:17 +01:00
nitram84
0421ad80c1
fix: filter invalid chars in app name for gradle export (PR #1813 )
2023-04-08 18:16:14 +01:00
nitram84
35e0201f06
fix(gradle): fix gradle build with version 7.4.2 - 7.6
2023-04-08 19:49:15 +03:00
nitram84
118eea5e77
fix(res): set empty parent for styles without a parent, remove duplicated code
2023-04-08 19:49:15 +03:00
nitram84
7f317be325
fix(res): resolve declare-styleable atrributes
2023-04-08 19:49:15 +03:00
nitram84
e1aa9f6de4
fix(res): resolve custom attributes
2023-04-08 19:49:15 +03:00
nitram84
058a5e3bb2
fix(res): resolve int hex attributes
2023-04-08 19:49:15 +03:00
JustFor
92b49ec2b5
fix(gui): update Messages_zh_CN.properties (PR #1811 )
...
sync new text, and Some symbols are translated
2023-04-07 19:20:15 +01:00
Skylot
583a04b092
fix(gui): show skipped resources count during search ( #1808 )
2023-03-24 22:00:07 +00:00
Skylot
444a04e2f7
fix(gui): redirect jump from search for inlined classes
2023-03-24 15:34:46 +00:00
Skylot
157e702ffd
feat: inline lambdas by instance field ( #1800 )
2023-03-24 15:34:45 +00:00
Jan S
77892f41ec
fix(res): parsing of sparse RES_TABLE_TYPE_TYPE and RES_TABLE_TYPE_STAGED_ALIAS chunks ( #1806 #1803 )(PR #1807 )
2023-03-23 17:30:29 +00:00
Jan S
6ba0e1dbf6
fix(res): handle RES_TABLE_TYPE_OVERLAY ( #1748 ) (PR #1804 )
2023-03-18 14:23:49 +00:00
Skylot
950fbbaa83
fix: restore missing type parameter declarations ( #1800 )
2023-03-17 20:28:42 +00:00
Skylot
912c431511
fix(debugger): process UI updates in correct thread ( #1796 )
2023-03-17 14:23:36 +00:00
Skylot
5d6b82724a
fix(gui): search constant fields usage in all classes ( #1801 )
2023-03-16 17:41:23 +00:00
Jan S
78c976ad4f
fix(res): resolve manifest decoding error Expected strings start ( #1797 )(PR #1798 )
2023-03-10 18:46:31 +03:00
Skylot
fbdfd135da
fix(cli): use common enum args parser ( #1787 )
2023-02-27 19:35:49 +00:00
Jacob Davis-Hansson
dd51783d9e
fix(cli): make enum CLI arguments match documented format (PR #1787 )
...
Currently if you do `jadx --help`, it says the `--deobf-cfg-file-mode` option accepts the value `read-or-save`.
However, if you give it that option, it instead prints the following error message:
```
java.lang.IllegalArgumentException: 'read-or-save' is unknown, possible values are: read, read-or-save, overwrite, ignore
at jadx.cli.JadxCLIArgs$DeobfuscationMapFileModeConverter.convert(JadxCLIArgs.java:524)
at jadx.cli.JadxCLIArgs$DeobfuscationMapFileModeConverter.convert(JadxCLIArgs.java:516)
at com.beust.jcommander.JCommander.convertValue(JCommander.java:1340)
at com.beust.jcommander.ParameterDescription.addValue(ParameterDescription.java:249)
at com.beust.jcommander.JCommander.processFixedArity(JCommander.java:920)
at com.beust.jcommander.JCommander.processFixedArity(JCommander.java:901)
at com.beust.jcommander.JCommander.parseValues(JCommander.java:731)
at com.beust.jcommander.JCommander.parse(JCommander.java:363)
at com.beust.jcommander.JCommander.parse(JCommander.java:342)
at jadx.cli.JCommanderWrapper.parse(JCommanderWrapper.java:37)
at jadx.cli.JadxCLIArgs.processArgs(JadxCLIArgs.java:211)
at jadx.cli.JadxCLI.execute(JadxCLI.java:35)
at jadx.cli.JadxCLI.main(JadxCLI.java:20)
```
This commit changes all the enum parsers to do the inverse string of `enumValuesString`, so the documented behavior works.
2023-02-27 19:08:07 +00:00
Skylot
158fc2fca3
chore: update raung version
2023-02-18 15:46:08 +00:00
Skylot
24284a6f3a
fix: process manifest before other resources ( #1740 )
2023-02-17 17:54:07 +00:00
Skylot
85c2c63aa3
fix: output unknown invoke-custom as polymorphic call ( #1760 )
2023-02-11 16:06:30 +00:00
Skylot
f354f7de63
fix(gui): split tabs loading to prevent ui dead lock
2023-02-11 14:01:31 +00:00
Skylot
540c0a8100
feat: support polymorphic invoke ( #384 )( #1777 )
2023-02-03 16:28:24 +00:00
Skylot
4d00fede56
fix: resolve JavaNode caching issues ( #1775 )
2023-02-02 19:39:42 +00:00
Skylot
b1bc5c08ff
chore: update dependencies
2023-02-02 15:23:54 +00:00
Ran Naor
305d4f4fe5
fix(gui): print the renamed function name in a frida snippet log ( #1772 )(PR #1773 )
...
* frida snippet log now prints the correct method name if the method was renamed
* fixed spotless check in frida snippet
* get the renamed method name from the alias proprety and changed to format string to fit frida-trace style
* fixed import order to fix gradle spotless warning
2023-01-28 17:59:42 +00:00
Ran Naor
2d149e9a5d
fix(gui): allow html in JVariable to render renaming of variables correctly ( #1769 )(PR #1770 )
2023-01-27 17:03:43 +00:00
Ran Naor
87b9ff3c35
feat(gui): added keyboard shortcut ctrl+w to close tab ( #1765 )(PR #1766 )
2023-01-21 17:22:36 +00:00
Zach Snell
1c36b3c74c
fix(gui): quick fix for duplicate/overlapping logcat windows ( #1752 )(PR #1761 )
...
* Simple fix to duplicate/overlapping logcat windows. Could be improved by not re-creating UI every time
* Apply suggestions from code review
* Another try to fix trailing spaces using GitHub suggestions
Co-authored-by: Zach Snell <zach.snell@bivalogic.com >
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2023-01-21 17:07:27 +00:00
Skylot
068e4b8e3d
fix: allow altMetafactory method in lambda call site ( #1760 )
2023-01-15 16:08:34 +00:00
Skylot
df38a6424f
fix(gui): make bytecode output closer to smali ( #1739 )
2022-12-25 18:53:25 +00:00
Skylot
5d186e56a5
chore: update dependencies
2022-12-25 18:53:25 +00:00
Skylot
0fafcfa006
fix(gui): improve smali disasm method param write ( #1739 )
2022-12-13 17:40:00 +00:00
jmlitfi
e3fdbafd86
fix(gui): resolve exception in smali method writer ( #1739 )(PR #1745 )
...
Co-authored-by: jmlitfi <jeffmlitfi@gmail.com >
2022-12-13 17:39:20 +00:00
bagipro
07c2b14479
fix: escape special characters in AAB resources (PR #1747 )
...
Co-authored-by: bagipro <bugi@macbook-pro-3.local >
2022-12-13 17:34:16 +00:00
Artem Zhiganov
cdc844aaf3
feat(gui): add Russian Translation (PR #1744 )
2022-12-10 13:11:34 +00:00
Skylot
e1b7d361b9
fix: check full signature for search method override ( #1743 )
2022-12-09 17:13:01 +00:00
Skylot
12ef29bebc
chore: update gradle and dependencies
2022-12-09 17:13:01 +00:00
Skylot
22ed241d50
fix(gui): correct html render in comments search results
2022-11-15 13:53:48 +00:00
Shatyuka
28e5a3c5be
fix(gui): hi-dpi main window initial size ( #1728 )(PR #1729 )
2022-11-14 18:19:09 +00:00
Skylot
bb4d88cc68
fix(gui): add template for constructor and void methods to Frida snippet ( #1714 )
2022-11-07 19:13:11 +00:00
Mathis Hesse
4aaea2b93f
fix(gui): change callMethodName of constructors in Frida action ( #1714 )(PR #1715 )
...
* Change callMethodName of constructors in Frida action
* Fix format violation in FridaAction
* Fix format violation in FridaAction
2022-11-07 19:11:22 +00:00
Skylot
bc8d7c4fc3
feat(gui): add native libs info to summary ( #1717 )
2022-11-03 19:15:33 +00:00
Skylot
5ea6c46778
fix(gui): show all code sources in summary (remove dex filter) ( #1716 )
2022-11-03 18:25:22 +00:00
Skylot
b28f8ba85b
fix(gui): try to handle exception in RSTA.getPreferredSize() ( #1712 )
2022-10-29 21:17:17 +01:00
Skylot
4db50fb749
fix(gui): correct html disabling in search results
2022-10-27 10:29:50 +01:00
Skylot
1dd0c90a04
build: switch java version to fix jdk install issue
2022-10-26 20:34:22 +01:00
Skylot
2bace2bde2
fix(gui): disable shell folders in file open dialog ( #1709 )
2022-10-26 20:08:57 +01:00
Skylot
1a9cb832ab
feat(gui): add alternative file open dialog ( #1709 )
2022-10-26 19:58:58 +01:00
Skylot
6844a46c93
fix: disable HTML rendering in labels if not needed
2022-10-20 15:58:23 +01:00
Skylot
e9e45707da
chore: update dependencies
2022-10-20 14:54:31 +01:00
Skylot
b9d02ff4c4
refactor: remove all LinkedList usage
2022-10-12 17:05:08 +01:00
Jan S
29b64300bc
fix(gui): multi-threading issue in DebugController fixed ( #1701 ) (PR #1702 )
2022-10-11 19:21:06 +01:00
zhongqingsong
777355e86e
fix(gui): update Messages_zh_CN.properties (PR #1700 )
...
Add new text about logcat.
2022-10-10 18:57:58 +01:00
Skylot
620a177ce8
fix: restore enum class with custom code in static init ( #1699 )
2022-10-08 21:54:06 +01:00
Skylot
683c2dfbeb
fix: improve ternary inline, resolve more enum cases ( #1686 )
2022-10-07 15:51:11 +01:00
Skylot
266cbcc6f4
fix(gui): migrate to fixed jdwp library fork ( #1471 )
2022-10-06 19:47:15 +01:00
Jan S
8a45602ae6
fix: improve logging messages for zip security errors ( #750 )(PR #1698 )
...
Logging error messages on invalid file-names or path traversal attacks improved
2022-10-06 19:31:42 +01:00
Skylot
711419a797
fix: correct fix for all use places of incompatible primitives ( #1688 )
2022-10-03 00:11:04 +03:00
Skylot
603f3057eb
chore: update dependencies
2022-10-03 00:11:01 +03:00
5idereal
fa6fc1f871
fix(gui): update zh-TW translations (PR #1694 )
2022-10-02 15:50:11 +01:00
Skylot
49fa320989
fix: handle possible concurrent exception in method codegen ( #1685 )
2022-09-29 20:28:01 +01:00
Skylot
2f301bf150
fix: don't mark constructor for inline if anonymous class inline is disabled ( #1680 )
2022-09-25 17:47:53 +01:00
Skylot
b4892ce17f
build: use fixed java version to build win artifacts
2022-09-23 21:08:16 +01:00
Skylot
151c171616
fix: handle empty block at end of else-if chain ( #1674 )
2022-09-23 20:40:56 +01:00
Skylot
79477a2de3
fix: don't rename bridged overridden methods ( #1672 )
2022-09-23 19:16:34 +01:00
dependabot[bot]
78aadda931
build(deps): bump actions/checkout from 2 to 3 (PR #1669 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 18:30:35 +01:00
Jan S
b50706505f
fix(res): implemented parsing RES_TABLE_TYPE_LIBRARY chunks ( #1663 )(PR #1664 )
...
* core: Implemented parsing RES_TABLE_TYPE_LIBRARY chunks
* skip unknown data at the end of type chunk
2022-09-10 16:58:26 +01:00
The Cobra Chicken
9114821fb1
feat(debugger): add logcat output ( #1411 )(PR #1666 )
...
* Adding logcatController class and writing adb / debugger panel information to the controller.
* Finished parsing logcat binary output and writing an arraylist containing all events.
* added highlighting of logcat output based on type. Added timestamp parsing.
* Updated code to only get new log messages.
* Added additional code for select all
* Completed Check and uncheckall options.
* Changed log highlighting to log color. Changed from JTextArea to JTextPane. Logcat pane will now autoscroll only if it is already scrolled to the bottom. Debugger exit will now stop logcat as well.
* Moved labels into NLS rather than using hardcoded strings.
* Implemented the ability to autoselect attached process. Changed the formatting of logcat messages.
* Moved labels into NLS rather than using hardcoded strings.
* updating to use info getter methods rather than directly accessing variable
* Added Logcat Pause Button
* Added Clear button
* Updated clear icon
* Cleaning warnings
* cleaning
* Changed behavior to only show logcat for debugged process to start with.
* cleaning
* cleaning
* cleaning
* applying spotless
* Fixing bug with switch
* fixed formatting issue
* add missing localization strings
Co-authored-by: green9317 <38409554+green9317@users.noreply.github.com >
Co-authored-by: TheCobraChicken <jeffmlitfi@gmail.com >
Co-authored-by: Skylot <skylot@gmail.com >
2022-09-08 15:18:55 +01:00
Skylot
1195582da8
feat(gui): option for search results count per page ( #1652 )
2022-09-05 20:07:02 +01:00
Skylot
258987b0ff
chore: update dependencies
2022-09-05 20:07:01 +01:00
Guilherme
a6a734c70d
fix(gui): update pt-BR translation (PR #1655 )
2022-09-01 15:51:12 +01:00
Choiman1559
d6c23a2a9b
fix(gui): update Korean translation (PR #1650 )
...
* update korean
* Update Messages_ko_KR.properties
* Restore missing empty line
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2022-08-20 17:59:37 +01:00
Skylot
db028904d7
fix(gui): set legacy sort flag also for launch4j ( #1628 )
2022-08-20 17:37:26 +01:00
Skylot
63a571306c
refactor: load resource table nodes in one change ( #1648 )
2022-08-19 22:15:04 +01:00
Skylot
bc4db61e25
fix(gui): improve resources search ( #1648 )
2022-08-19 15:52:14 +01:00
Jan S
c7e6e28830
fix(gui): improve log viewer dialog ( #1311 )(PR #1649 )
...
* [gui]: improve log viewer dialog
* use method from UiUtils to set window icons
Co-authored-by: Skylot <skylot@gmail.com >
2022-08-18 19:55:41 +01:00
Skylot
1d7b6fdb2c
fix(gui): additional checks on open search result ( #1647 )
2022-08-18 15:59:45 +01:00
Skylot
ce5d8eeff8
fix: don't inline anonymous in self inner class ( #1645 )
2022-08-18 15:48:17 +01:00
Jan S
894e0e6132
fix: UnsupportedOperationException on adding a field ( #1645 )(PR #1646 )
...
* fix: UnsupportedOperationException on adding a field
* changed list check and creation similar to safeAdd
2022-08-18 15:33:18 +01:00
Skylot
127f0ecf3f
fix(gui): disable actions if files not loaded ( #1644 )
2022-08-16 21:28:57 +01:00
Skylot
cf7767e702
fix(gui): handle null value in TableCellRenderer ( #1642 )
2022-08-16 20:48:23 +01:00
Skylot
e0aedc7949
fix: improve top block search for try/catch ( #1633 )
2022-08-15 21:31:26 +01:00
Skylot
bad78de74c
perf: improve directory delete
2022-08-14 13:38:12 +01:00
Skylot
12df8a169f
chore: update gradle and dependencies
2022-08-13 18:25:08 +01:00
Skylot
15c9d33339
fix(gui): handle possible classes overlap in disk cache ( #1633 )
2022-08-13 13:13:13 +00:00
Jiaxin Peng
7e0fafbaf1
fix(gui): fix broken FileDialog by using legacy sort ( #1628 )(PR #1630 )
...
#1628 #1606 #1213 #1574 #1552
2022-08-11 13:59:46 +01:00
zhongqingsong
57b9c1dd7a
fix(gui): update Messages_zh_CN.properties (PR #1627 )
2022-08-11 13:29:15 +01:00
Skylot
8ba0c17259
fix: handle empty endless loop ( #1611 )
2022-08-10 22:07:52 +01:00
Areizen
cd32151083
fix(gui): correct Frida snippet for constructor (PR #1605 )
...
When hooking a constructor with Frida, call `$new` instead of `$init`. `$init` cannot be used to instantiate an object and is reserved for hooking.
Co-authored-by: Your Name <you@example.com >
2022-08-06 20:16:37 +01:00
Skylot
75b52d672e
feat(gui): save project search history
2022-08-05 20:43:05 +01:00
Skylot
11d04508f7
feat(gui): add manual search, stop and sort actions to search dialog ( #1600 )
2022-08-05 20:09:33 +01:00
Skylot
e641b773b5
fix(gui): improve search dialog performance
2022-08-05 14:53:48 +01:00
Skylot
6e5899c654
fix: checks for field init reorder ( #1599 )
2022-08-04 17:38:46 +01:00
Skylot
c66ffaa7f9
feat(gui): show start page on jadx open
2022-08-03 16:44:55 +01:00
Skylot
5193c6a5d8
chore: add tool for automatically insert new i18n lines
2022-08-03 16:44:40 +01:00
Skylot
e7212af547
chore: upgrade gradle wrapper to 7.5
2022-08-03 18:44:10 +03:00
FixTheBug
3ca1357af4
fix(gui): sort resources by deobfuscated name ( #1595 )(PR #1598 )
...
Co-authored-by: /paul-nguyen-goldenowl <paul.nguyen.goldenowl@gmail.com >
2022-08-01 14:54:22 +01:00
Guilherme
90e95213e4
feat(gui): add Brazilian Portuguese translation (PR #1596 )
...
* feat(translation): add pt-br
* fix: `adb_dialog` prefix deleted
2022-08-01 12:15:35 +01:00
Jan S
ae2d4da585
fix(res): XML "@null" decoding ( #1583 )(PR #1594 )
...
minor improvements
2022-07-31 13:50:32 +01:00
Skylot
691d5cd1e6
fix: hide unused label before exception handler in simple mode
2022-07-30 17:33:23 +01:00
Skylot
58a46c6417
fix(gui): add constructors usage into class usage ( #1591 )
2022-07-30 17:22:32 +01:00
Skylot
d3f6160e62
feat: add option to disable finally block extraction ( #1592 )
2022-07-30 14:07:43 +01:00
Skylot
03e4afb12f
fix: check variables before merge in finally block ( #1592 )
2022-07-30 13:48:53 +01:00
Hen_Ry
6802f6028e
fix(gui): update german translation (PR #1554 )
...
* german update
* Fix
* applied the latest changes as discussed
Co-authored-by: Jan Peter Stotz <jpstotz@users.noreply.github.com >
2022-07-27 17:45:36 +01:00
SiderealArt
5ca61cfe18
fix(gui): update zh-tw translation (PR #1589 )
2022-07-27 11:16:11 +01:00
Julian Burner
32d55b48f2
fix(gui): replace mixed-up quotation marks with period (PR #1588 )
2022-07-26 10:16:34 +01:00
Skylot
ab4b6f9e54
feat: select better resource name ( #1581 )
2022-07-25 19:53:03 +01:00
Jan S
9100ad1220
fix(debugger): resolve NPE in adb device viewer ( #1585 ) (PR #1586 )
2022-07-25 17:44:55 +01:00
Skylot
8b4f8fb572
fix: resolve inherited method to use correct alias ( #1582 )
2022-07-24 19:15:52 +03:00
Skylot
87e0e5bf16
fix: correct inline/merge with overriden bridge method ( #1580 )
2022-07-20 14:49:37 +01:00
Skylot
e4c2d6cf6e
fix(gui): use editor font for usage label
2022-07-20 14:36:51 +01:00
Skylot
fb0bdb5112
fix(gui): allow to use empty name to reset rename
2022-07-20 14:35:53 +01:00
Skylot
f4b3645435
fix: ignore anonymous classes in enclosing node search ( #1580 )
2022-07-19 19:25:17 +01:00
Skylot
c27f2badf7
fix(gui): resolve payload offset for switch insns in debug smali code ( #1575 )
2022-07-18 18:50:48 +01:00
Skylot
1a877d6535
fix: resolve possible decompilation double execution
2022-07-16 22:29:59 +03:00
Skylot
5ada9331b6
chore: update dependencies
2022-07-14 14:33:04 +01:00
Skylot
a0f4ccb7a4
fix: update deps and fix proto resource loading (AAB) ( #1129 )
2022-07-14 14:33:04 +01:00
Skylot
5b5524a7dd
fix: handle parent of inlined/moved classes ( #1578 )
2022-07-14 14:40:13 +03:00
Jan S
3cc464c9c9
fix: IndexOutOfBoundsException in JumpManager ( #1576 ) (PR #1577 )
2022-07-13 17:24:20 +01:00
Skylot
51555667cf
fix: add more checks before remove or rename enum methods ( #1572 )
2022-07-07 16:55:32 +01:00
Skylot
e01ea7010f
fix: save classes with code generation error into cache ( #1568 )
2022-07-03 19:32:41 +01:00
Skylot
77732c83c9
fix(gui): ignore/limit waiting of canceled search task ( #1568 )
2022-07-01 17:57:59 +01:00
Skylot
a67fc83949
fix: better dominators algorithms
2022-07-01 17:26:54 +01:00
Skylot
3d920725aa
fix: check synthetic methods before remove/inline ( #1560 )
2022-06-29 19:19:54 +01:00
Skylot
2f2fbea558
fix(gui): check user renames ( #1557 )
2022-06-29 16:21:49 +01:00
Skylot
e7a86a2960
fix(gui): forbid rename method args in fallback mode ( #1558 )
2022-06-29 15:25:23 +01:00
Skylot
b282d97ffe
fix(gui): set current dir directly in file chooser constructor ( #1553 )
2022-06-28 16:57:57 +01:00
Skylot
e4ca52a95f
chore: update dependencies
2022-06-28 16:23:31 +01:00
Skylot
d972d9ec74
fix(gui): ignore errors on code area dispose ( #1545 )
2022-06-28 16:20:31 +01:00
Jan S
0721a6b050
fix(gui): QuarkReport data validation added and other minor improvements (PR #1556 )
...
* QuarkReport: data validation added and other minor improvements
* checkStyle
2022-06-25 22:24:53 +03:00
zhongqingsong
762ee6550e
fix(gui):complete Chinese translation (PR #1549 )
...
1、Complete Chinese translation
2、Previous word polish
2022-06-25 22:15:22 +03:00
Skylot
18070eb7a6
fix(gui): allow to select file on mapping export
2022-06-20 14:19:59 +01:00
Skylot
8486891728
fix(gui): resolve various minor issues
2022-06-20 13:17:50 +01:00
Skylot
4679172d4f
fix(gui): correct set highlighted text in search ( #1507 )
2022-06-20 13:16:42 +01:00
Skylot
92a6c333d8
fix(gui): force jadx new version check by default
2022-06-20 12:55:15 +01:00
Skylot
358adbdd65
feat(gui): allow to disable jump on double click ( #1540 )
2022-06-19 17:19:08 +01:00
Skylot
65f7c80222
feat(gui): add reload and live reload actions ( #1537 )
2022-06-18 20:20:11 +01:00
Skylot
d2e6bb236e
fix: use wide move for long/double store/load java opcodes
2022-06-16 16:26:14 +01:00
Skylot
eaeb114258
fix: check class name collisions ( #1526 )
2022-06-15 18:43:33 +01:00
Skylot
1533b7fe6e
fix: keep types on duplicate cast remove ( #1527 )
2022-06-12 21:55:12 +01:00
Julian Burner
a2cd8e1ead
feat(gui): support export to deobfuscation mapping file formats ( #1491 )(PR #1505 )
...
* Add option to export mappings as Tiny v2 file
* Comply with JADX's import order conventions
* Only use Java 8 features
* Only use Java 8 features (2)
* Export comments to mappings file
* Method args test (doesn't work)
* Make method arg mapping exports work now
* Use `getTopParentClass()` instead of `getParentClass()`
See https://github.com/skylot/jadx/pull/1505#issuecomment-1145064865
* Remove unneeded method load call
* Small code cleanup; initial (broken) support for method vars
* Fixes regarding inner classes
* Add option to export mappings as Enigma directory
* Add option to export mappings as Enigma file/directory
Temporarily move to my mapping-io fork until this PR gets merged: https://github.com/FabricMC/mapping-io/pull/19
* Fix method vars' lv-indices
* Use correct offset value for method var mappings
* Also supply lvt-index for method var mappings
* Clarify why we're using local mapping-io fork; comment out Fabric Maven for now
* Remove unnecessary `public` modifier
* Make an `if` condition less complicated
* Move mapping export code into jadx-gui (for now)
* Make mapping export async; make export menu only clickable when everything is loaded
* Fix export mappings menu field declaration position
2022-06-11 20:19:08 +01:00
Christian Jones
4edb512121
fix(cli): allow decoding resource-only APKs ( #1517 )(PR #1530 )
...
* Process resource-only inputs
* Fix error, add testing
2022-06-11 15:40:39 +01:00
Skylot
702b88228c
fix(gui): resolve popup menu action run ( #1514 , #1529 )
2022-06-11 15:08:28 +01:00
Skylot
14fd88b2f8
fix(gui): add volatile and update sync for decompiler field in wrapper ( #1518 )
2022-06-08 21:06:57 +01:00
Skylot
20657e8bb5
doc(cli): improve plugins section formatting
2022-06-06 19:55:58 +01:00
Skylot
93d3194e3b
doc: remove incorrect tokei badge
2022-06-06 19:54:15 +01:00
Skylot
39331d9120
fix: remove deprecated --deobf-rewrite-cfg ( #1513 )
2022-06-06 19:53:47 +01:00
Skylot
b4fa6644bc
doc: add more badges
2022-06-05 16:06:19 +01:00
Skylot
0b2e2ed034
fix: improve class search for super call ( #1512 )
2022-06-05 14:49:34 +01:00
Skylot
81231206f3
fix(gui): reset disk cache on new jadx version
2022-06-04 23:26:25 +01:00
Skylot
49d0e76272
fix: support all-catch in multi-catch ( #1510 )
2022-06-04 23:25:52 +01:00
CmP-lt
0809993b37
fix(gui): improve restoration of windows saved state (PR #1511 )
...
* Fix restoration of windows saved state
* Don't skip restoration of window saved bounds when they intersect with screen bounds.
* Restore saved bounds of main window regardless of it's saved extended state (fixes divider location of main split pane being restored incorrectly when saved state of main window is maximized).
* Add handling for out-of-screen(s) window bounds
2022-06-04 17:41:00 +01:00
Skylot
0c3afcc24c
fix(gui): try to prevent jadx node leaks in UI objects
2022-06-03 16:15:14 +01:00
Skylot
d6c851eed4
test: fix method code extract
2022-06-02 19:33:16 +01:00
Skylot
dcf4a7c4e3
fix(gui): try to resolve some causes of memory leak
2022-06-01 19:48:51 +01:00
Skylot
9ba07b986b
fix(gui): reduce usage of nullable decompiler field in jadx wrapper ( #1506 )
2022-06-01 16:36:30 +01:00
Skylot
e6b6b93cbb
fix: improve blocks tree compare for finally extract ( #1501 )
2022-05-31 20:57:34 +01:00
Skylot
fcd58ae76f
fix: remap class names for store in disk cache ( #1503 )
2022-05-30 18:16:05 +01:00
Skylot
df380dea27
chore: update dependencies
2022-05-30 20:06:23 +03:00
CKCat
9d88592391
fix(res): ignore version in AndroidManifest.xml ( #1502 )(PR #1504 )
2022-05-30 14:10:10 +01:00
dependabot[bot]
c906c11b0f
build(deps): bump github/codeql-action from 1 to 2 (PR #1500 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-28 18:04:08 +01:00
Skylot
4fbc56cdb0
build: add unstable win-with-jre bundle
2022-05-28 17:46:48 +01:00
Skylot
98c0416b20
fix(gui): correct close and reopen for decompiler and cache
2022-05-28 16:41:37 +03:00
ZachQin
fa41874e30
feat(gui): add parameters logging in Frida code snippet ( #1497 )(PR #1498 )
2022-05-28 14:39:02 +01:00
Skylot
2aa6c99c90
fix: skip dex files with parsing errors ( #1495 )
2022-05-28 13:27:29 +01:00
Skylot
5f60c0f1bb
build: fix google-java-format for all java versions
2022-05-27 22:51:52 +01:00
Skylot
cb741db623
fix: improve usage search, refactor java nodes creation ( #1489 )
2022-05-27 17:56:08 +01:00
Skylot
1df217c4a0
fix: save cache dir for reuse on project save/reopen
2022-05-27 16:50:13 +01:00
Skylot
81f209ba9e
fix: check if directory exists before delete ( #1493 )
2022-05-26 19:23:59 +03:00
zhongqingsong
34a31aa7df
fix(gui): complete Chinese Translation (PR #1492 )
...
1. Complete translation of Chinese
2. Polish up part of the translation
3. Restore all text for subsequent translation
2022-05-24 19:09:11 +01:00
Skylot
5099e02c9b
fix(gui): correct merge for plugin options from command line ( #1490 )
2022-05-23 19:44:49 +01:00
Skylot
f364b39b29
fix(gui): save full type info in metadata ( #1487 )
2022-05-22 16:18:38 +01:00
Skylot
4cd4746f9a
fix(gui): save variable name to show in tooltip ( #1487 )
2022-05-22 15:34:09 +01:00
Skylot
6448f0e32b
fix: use variable length encoding instead short for offsets (can overflow) ( #1489 )
2022-05-22 14:23:15 +01:00
Skylot
e07332d49a
fix(gui): resolve cast exception for variable reference ( #1489 )
2022-05-21 21:33:58 +01:00
Skylot
bd8a44c4c9
fix(gui): correct handle of selected file in save dialog
2022-05-21 21:31:47 +01:00
Skylot
21e94d8d5c
fix(gui): use alias for types in tooltips ( #1487 )
2022-05-20 22:09:39 +01:00
Skylot
7b1c7b967a
fix: use alias for variable names ( #1487 )
2022-05-20 22:09:39 +01:00
Skylot
e4b19ab560
fix(gui): add missing Use debug info option
2022-05-20 22:09:39 +01:00
Skylot
49137c9751
fix(cli): don't ignore critical errors ( #1150 )
...
Thrown java.lang.Error was ignored and not logged.
2022-05-19 23:12:19 +01:00
skylot
0606c90f22
feat(gui): disk code cache and search rewrite (PR #1483 )
...
* feat: implement disk code cache
* feat: rewrite code metadata handling, remove code index
* feat: rewrite search
* fix: code cleanup and fixes for previous commits
* feat: run code search in parallel
* fix: reset code strings cache on low memory, code cleanup
* fix: include input files timestamp into code hash
2022-05-18 15:19:31 +01:00
Jan S
65ade379a6
fix(gui): escape class- method and field names in frida code snippet (PR #1480 )
2022-05-10 19:43:15 +01:00
Skylot
a06df187c9
fix(gui): ask for project file path on exit ( #1474 )
2022-05-08 14:55:25 +03:00
Jan S
e784c7f7df
fix(gui): editor theme loading and error/fallback handling improved ( #1476 )(PR #1478 )
...
* fix(gui): editor theme loading and error/fallback handling improved
* Update jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2022-05-08 12:53:48 +01:00
Skylot
a717392379
fix: workaround to prevent incorrect order after move inline ( #1472 )
2022-04-29 15:37:07 +01:00
Skylot
a71b3a71d8
fix: better code styling for if-else blocks ( #1455 )
2022-04-26 20:18:06 +01:00
Skylot
3366bf3dec
chore: update dependencies
2022-04-26 20:48:18 +03:00
Jan S
a505534197
fix(gui): fix IndexOutOfBoundsException when switching between tabs via mouse wheel ( #1456 )(PR #1469 )
2022-04-26 17:27:39 +01:00
Nelson Gregório
357706b070
feat: allow to include/exclude dependencies when saving with class filter ( #1466 )(PR #1467 )
...
* feat: Add option to include/exclude dependencies when saving
* fix save skip for class depencencies
Co-authored-by: Skylot <skylot@gmail.com >
2022-04-26 17:18:51 +01:00
Skylot
e02434d135
fix(gui): confirm directory loading on file open ( #1462 )
2022-04-25 14:32:00 +03:00
Jan S
4586015fc0
fix(gui): resolve NPE on project save ( #1463 )(PR #1464 )
...
* fix(gui): NullPointerException on project save
* chore(gui): ensure MainWindow.project is never null
* ensure `files` in `ProjectData` in not null
Co-authored-by: Skylot <skylot@gmail.com >
2022-04-24 10:32:25 +01:00
Skylot
1832f2aee3
feat: allow to load custom input ( #1457 )
2022-04-21 13:21:13 +01:00
SiderealArt
1ec127c3cb
fix(gui): update Traditional Chinese translation (PR #1452 )
2022-04-19 14:05:55 +01:00
Skylot
7a3b7c55c9
build: run tests in parallel
2022-04-18 16:31:25 +01:00
Skylot
b66293a2f7
fix: handle wildcard in invoke type resolver ( #1238 )
2022-04-18 16:27:35 +01:00
Skylot
abcaafa89a
chore: update gradle and dependencies
2022-04-17 19:28:18 +01:00
Skylot
cf25cc4faa
fix: prevent null type in code variables
2022-04-17 19:18:33 +01:00
Skylot
b57001d4a7
fix: use correct reference for replaced bridge constructor ( #1441 )
2022-04-10 15:48:36 +01:00
Skylot
83decc2473
fix(gui): rename class while rename constructor ( #1441 )
2022-04-08 13:45:27 +01:00
root-intruder
92faa569be
build: allow unsigned local lib builds ( #1438 )(PR #1439 )
2022-04-06 13:41:33 +01:00
Skylot
c5b731169d
build: disable jitpack
2022-04-06 13:34:08 +01:00
Skylot
f0a8ef81d3
fix: replace fixed memory limit with -XX:MaxRAMPercentage=70.0 ( #1437 )
2022-04-05 20:08:39 +01:00
Skylot
994973ac01
fix(gui): check free memory after GC attempt
2022-04-05 19:46:10 +01:00
Skylot
c9622c0771
chore: update class set to Android 32
2022-04-05 20:21:41 +03:00
Jan S
8551c6c903
fix(res): ignore resource chunk entries that are located after the resource chunk end ( #751 )(PR #1436 )
2022-04-04 18:05:07 +01:00
Bruno Oberle
9a9ac4308e
fix(cli): use correct converter for "--decompilation-mode" option ( #1434 )(PR #1435 )
2022-04-04 13:47:30 +01:00
Matt
e784cbdd09
fix(deobf): fix writing method mappings as fields entries ( #1432 )(PR #1433 )
2022-04-02 12:30:25 +01:00
Elias
2744c4bfb6
build: fix appdata.xml ( #1427 )(PR #1430 )
2022-03-31 17:30:06 +01:00
Skylot
e4f4c1b84a
fix(gui): don't highlight whitespaces and special symbols ( #1429 )
2022-03-28 19:21:05 +01:00
Elias
e5fa818b5c
build: remove unsupported tags from appdata.xml ( #1427 )(PR #1428 )
...
* remove <code> tags from appdata.xml because flatpak doesn't like it
* appdata.xml: remove <a> tag because flatpak doesn't like it
2022-03-27 17:28:01 +01:00
Elias
b22b554a69
build: add appdata.xml for flatpak package (PR #1426 )
2022-03-27 14:06:18 +01:00
Skylot
e9b8060889
refactor(gui): improve node action in code area
2022-03-26 15:31:29 +00:00
Skylot
1c2b2c072c
fix(gui): restore open tabs on project load (regression fix)
2022-03-25 13:40:00 +00:00
Skylot
3d451912ee
fix: handle inlined classes while collecting override related methods ( #1422 )
2022-03-25 12:56:18 +00:00
Skylot
fe91d774fa
feat(gui): add split view for different decompilation modes
2022-03-23 18:16:57 +03:00
Skylot
d8306cb1c0
feat: add 'simple' decompilation mode
2022-03-23 18:16:54 +03:00
Jan S
909cf0a576
fix: various minor improvements (PR #1418 )
...
* chore: better variable naming for getInstance calls
* chore: rebalance preferences window and fix empty plugins section directly after jadx-gui start
* chore: do not ask for project save if nothing had been changed
* use parallel mode for gradle
* minor improvements for app debugging
* apply CodeQL suggestion to prevent log injection
* handle IntelliJ Idea warnings
* replace not-ASCII chars in LogUtils.escape
Co-authored-by: Skylot <skylot@gmail.com >
2022-03-23 15:13:53 +00:00
Jan S
8fe1ee11e4
fix(debugger): resolve IO read problems, proper socket closing (PR #1414 )
...
* fix(debugger): several IO read problems fixed
* merged latest changes
* fixed read loop
* Update jadx-gui/src/main/java/jadx/gui/device/protocol/ADB.java
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2022-03-20 17:01:01 +00:00
Skylot
d2bef108f5
chore: update dependencies
2022-03-19 18:52:44 +00:00
Skylot
ba8ba504b1
fix(debugger): small improve for jdwp handshake ( #1412 )
2022-03-19 18:43:34 +00:00
Skylot
481b5abf85
fix(debugger): handle stream end and partial reads ( #1412 )
2022-03-18 14:19:08 +00:00
Skylot
c4e1d9445a
fix(gui): reduce threads count on low memory, other tweaks ( #1410 )
2022-03-17 17:50:28 +00:00
Skylot
cb03532b76
fix: allow implicit type cast for array operations ( #1407 )
2022-03-14 18:47:55 +00:00
Skylot
c93e9eea14
fix: improve class names collision detection ( #1406 )
2022-03-13 12:08:03 +00:00
Skylot
9a67b19973
feat(gui): add zoom in/out actions ( #1403 )
2022-03-11 13:59:00 +00:00
Skylot
95c75bed1e
chore: update gradle and dependencies
2022-03-11 11:34:51 +00:00
Skylot
b008568a5c
doc: add missing options to readme
2022-03-05 17:15:08 +00:00
Skylot
94fb91cec6
feat: add options for java-convert plugin
2022-03-02 15:40:32 +00:00
Skylot
c54dd77f35
fix(gui): resolve NPE and fix code style in BreakpointManager
2022-03-02 12:10:14 +00:00
Jan S
17fbc99f29
feat(gui): dialog for showing exception details and creating an GitHub issue (PR #1399 )
...
* chore(gui): Dialog for showing exception details and creating an GitHub issue
* directly throw test exception
* checkstyle
* minor
* log exception before the dialog is shown
2022-03-01 15:00:22 +00:00
Skylot
21dd17290b
fix(gui): download only latest version info for jadx update ( #1397 )
2022-02-28 18:51:13 +00:00
Skylot
dc73fc92be
fix(gui): don't use hardcoded color for link component ( #1398 )
2022-02-28 18:39:51 +00:00
Skylot
592215db66
fix(gui): handle package version in update check ( #1397 )
2022-02-28 18:39:51 +00:00
Skylot
fb318e3bd9
fix(gui): revert contextual keywords to identifiers ( #1394 )
2022-02-27 15:22:41 +00:00
Skylot
5f3c8816a3
fix: allow zero skips for restore new filled array
2022-02-26 17:29:00 +00:00
Skylot
6016b902c7
test: fix usage of Eclipse compiler
2022-02-26 17:29:00 +00:00
Skylot
5852da1e3d
feat: support MethodParameters attribute ( #1260 )
2022-02-26 10:28:21 +00:00
Skylot
502fd069be
test: for source auto check use compiled classes instead runtime
2022-02-26 10:28:20 +00:00
Jan S
fad9e7b827
fix(gui): initialize project name with loaded files (shown in Jadx title) ( #1386 )(PR #1393 )
2022-02-26 09:20:58 +00:00
Skylot
35116d0b1a
fix: load files also by extension ( #1391 )
2022-02-25 11:38:44 +00:00
Skylot
3b781e41ad
test: allow to pass additional compiler options
2022-02-24 20:52:34 +00:00
Skylot
a3e9744364
chore(cli): additional debug messages for java-convert plugin
2022-02-24 20:51:31 +00:00
Skylot
7030daeccd
fix(cli): resolve regression in applying '-v' and '-q' options
2022-02-24 19:52:58 +00:00
Jan S
e7151ad7b2
fix(gui): IllegalArgumentException when saving project to a different directory than the APK file ( #1387 )(PR #1388 )
2022-02-23 09:27:04 +00:00
Skylot
ed2a3c8458
fix: prevent NPE on 'ignore' deobf map file mode
2022-02-22 18:06:01 +00:00
Skylot
779f75cd52
fix(gui): prevent NPE on open preferences without loaded files ( #1385 )
2022-02-22 18:05:51 +00:00
Skylot
54683e3198
feat: plugin options, add verify checksum option for dex input ( #1385 )
2022-02-21 19:44:00 +00:00
Skylot
09335395f5
doc: update option description
2022-02-20 16:51:36 +00:00
Skylot
57e3dd8f15
feat(cli): improve single file mode ( #1344 )( #1384 )
2022-02-20 15:04:59 +00:00
Skylot
a9bbadd602
feat: add option for deobfuscation map file handle mode ( #1351 )
2022-02-19 21:20:11 +03:00
skylot
2c570681f7
doc: add link to jadx-gui key bindings in readme
2022-02-18 20:26:39 +00:00
Skylot
25166970cc
feat(gui): ctrl+c copy node string in search window ( #293 )
2022-02-18 19:10:56 +00:00
Skylot
d3a0a56b8b
feat(gui): ctrl+c copy highlighted word in code view ( #1292 )
2022-02-18 19:10:34 +00:00
YenKoc
3c2c198a0e
feat(gui): add Xposed snippet copy action (PR #1383 )
...
* add xposedscript
* fix code style and minor issues
* some code style changes for Xposed snippets
* some code style changes for Frida snippets + a fix for multidimensional arrays in overload params
* hide frida and xposed when right-clicking on a null node
* small style fix
* fixed formatting violations
* fix minor issues
Co-authored-by: Skylot <skylot@gmail.com >
Co-authored-by: Orip <oriori1703@gmail.com >
2022-02-18 12:54:41 +00:00
Skylot
4d4d67f0b4
fix: remove shadowed catch handlers ( #1377 )
2022-02-16 19:31:19 +00:00
Skylot
97e8a34906
fix: prevent some NPE in try/catch/finally processing ( #1379 )
2022-02-15 12:29:30 +00:00
Skylot
82f3b57e83
perf: improve ternary mod on big methods ( #1379 )
2022-02-15 12:03:06 +00:00
Skylot
af2f14f807
fix: prevent endless loop in anonymous class analysis ( #1382 )
2022-02-14 23:23:02 +00:00
Skylot
fe248d7098
fix: check values in inner class annotation ( #1382 )
2022-02-14 18:25:54 +00:00
Skylot
1a2e702b25
fix: inline nested anonymous classes ( #1379 )
2022-02-14 17:30:22 +00:00
Skylot
1da20b8e7d
doc: update readme
2022-02-14 16:41:31 +00:00
Skylot
01f74ff706
chore: update gradle and dependencies
2022-02-13 19:08:49 +00:00
Skylot
89e95eb9ee
fix: correct code reload after rename ( #1378 )
2022-02-12 19:15:18 +00:00
Skylot
a61ebaaa00
fix: sum only sub dependencies in batches build ( #1376 )
2022-02-11 19:53:12 +00:00
xxjy
7a5a2fcd84
fix: nested try catches with overlap try blocks ( #1374 )(PR #1375 )
...
* fix: nested try catch decompilation failed (#1374 )
* add tests and sort handlers
Co-authored-by: Skylot <skylot@gmail.com >
2022-02-09 20:55:15 +00:00
Jan S
8d5554f1b5
fix(gui): frida context menu entry does nothing ( #1365 )(PR #1372 )
2022-02-08 12:47:49 +00:00
Ori Perry
873aabb471
fix: use raw class names in Frida action ( #1365 )(PR #1366 )
...
* Use raw_name instead of full_name for the names of class in generated frida snippet.
Also cleaned the code a bit
* Fixed getting method parameters from inlined methods
* fixed generating code for constructor overloads, more cleaning
* Fixed getting method parameters from inlined methods for real this time
* made the option for a frida snippet only appear if clicked on a relevant node
* added support for generating a frida snippet for fields
* apply spotless
* Update jadx-gui/src/main/java/jadx/gui/ui/codearea/FridaAction.java
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
* moved the overload check from NodeMethod to FridaAction
* added semicolons in the end of lines of the generated frida snippet
* fix code formatting
2022-02-07 21:50:01 +00:00
cyqw
4bed9dc358
fix(gui): results in usage search should be sorted by name (PR #1363 )
2022-02-07 15:39:57 +00:00
nitram84
e229874195
fix: check if targetSdkVersion is missing in gradle export ( #1367 )(PR #1370 )
2022-02-07 10:39:09 +00:00
Skylot
473b6e31e9
fix: support multi-entry loops (simple case) ( #1320 )
2022-02-06 18:36:33 +00:00
Jan S
b5ce460618
feat(deobf): do not deobfuscate known top level domains with 2 or 3 characters (PR #1369 )
2022-02-06 12:56:59 +00:00
Skylot
3c05b05196
fix: check names from Kotlin metadata before use ( #1364 )
2022-02-05 21:49:36 +00:00
Skylot
bdb2efdb6b
fix(res): remove static caching map for xml renames ( #1364 )
2022-02-05 20:23:44 +00:00
Skylot
a27ba3ff4b
fix(res): skip '.9.png' decode if patch data not found ( #1112 )
2022-02-05 17:45:08 +00:00
Skylot
4684207b54
fix: remove duplicate classes from decompilation batches ( #1361 )
2022-02-05 17:45:07 +00:00
Skylot
dd1be3039b
fix(gui): split decompile and index tasks for correct time counting ( #1361 )
2022-02-05 17:45:07 +00:00
Skylot
8b30b770cd
fix(gui): missing icons and html decorations in usage dialog
2022-02-05 13:36:26 +00:00
Yotam
47caa91e85
fix(cli): fix and add debug log messages in initialization phase (PR #1362 )
...
* Fix log level settings in the CLI
* Add log messages in initialization phase
2022-02-02 19:04:19 +00:00
Skylot
d71f3e09df
fix: prevent endless loop in path cross search ( #1360 )
2022-02-01 14:32:44 +00:00
Jan S
06c7415827
fix(res): improved decoding of flag attributes in binary XML files ( #1156 )(PR #1359 )
2022-01-31 18:00:50 +00:00
Skylot
bd3e62617e
fix: correct inline for enums in j$.time.temporal
2022-01-31 11:49:59 +00:00
Skylot
00b48473a0
test: add internal option to disable file save
2022-01-31 10:27:20 +00:00
Skylot
84facb13d0
fix: don't inline named variables ( #1338 )
2022-01-28 18:33:38 +00:00
Skylot
96f90e18e8
fix: improve exception handlers attach
2022-01-26 15:43:40 +00:00
Skylot
8ff18e63ee
chore: update dependencies
2022-01-25 18:51:43 +00:00
Skylot
381405ea99
fix: always use deep resolve for fields and methods ( #1357 )
2022-01-25 11:37:36 +00:00
Ahmet Bilal Can
ae5c00397a
feat(gui): add frida action to copy methods/classes as frida snippets ( #1355 )(PR #1356 )
...
* add frida action to copy methods/classes as frida snippets
* bug: call toString before comparing
2022-01-24 21:37:12 +00:00
Skylot
bd4509f1a7
fix: update field usage on const replace ( #1348 )
2022-01-24 18:22:43 +00:00
Skylot
b8c84886a8
fix: correct use of class names for inner types ( #1340 )
2022-01-24 14:11:40 +00:00
Skylot
45021389bc
fix: correct method arg name if unused
2022-01-24 13:38:49 +00:00
Yotam
f674a29a64
fix(deobf): rename classes as anonymous only if they are a number (PR #1354 )
2022-01-23 21:16:05 +00:00
Yotam
0c9e3227d0
fix(deobf): collect missing renames for .jobf file ( #1350 )(PR #1353 )
2022-01-23 16:08:54 +00:00
cyqw
be7e1479a1
fix(gui): find usage for overridden methods ( #1349 )(PR #1352 )
2022-01-23 16:06:13 +00:00
Skylot
19827fca20
fix: support full class name in inner generic types ( #1340 )
2022-01-22 18:49:31 +00:00
Skylot
5eb7cc40ed
feat: check dex checksum before parsing ( #1343 )
2022-01-20 19:24:49 +00:00
Skylot
d22db30166
fix: use secure xml parser for process manifest
2022-01-20 11:17:12 +00:00
Skylot
6db61e7a59
chore: update dependencies
2022-01-20 10:23:49 +00:00
Skylot
86582de521
feat: use kotlin intrinsic methods for variables rename ( #1207 )
2022-01-19 17:30:04 +00:00
Skylot
a7c63c2eb3
fix: handle method override with several bases ( #1234 )
2022-01-18 18:27:09 +00:00
Skylot
081a0e21ee
fix: precalculate class deps for inline methods ( #1339 )
2022-01-17 14:38:38 +00:00
Skylot
9ac9c05265
fix: simplify cascading casts ( #1336 )
2022-01-15 16:31:18 +00:00
Skylot
b7daf79b26
fix: add explicit type for non-int constants ( #1336 )
2022-01-15 14:11:44 +00:00
Skylot
b67a3561a4
build: add CodeQL analysis
2022-01-13 22:37:36 +03:00
Skylot
52ac6dbbaf
docs: add security.md
2022-01-13 16:45:32 +00:00
Skylot
72381ad8f3
fix: correct literal negate for double and float ( #1334 )
2022-01-13 14:00:53 +00:00
Skylot
6a065c46f4
chore: update dependencies
2022-01-13 12:12:15 +00:00
Skylot
092d0d7e67
fix(gui): reduce tree focus switching
2022-01-12 19:57:38 +03:00
Skylot
5ca7285558
fix(gui): correct handling for tree row click ( #1324 )
2022-01-12 16:57:25 +00:00
Skylot
7576f9cd5e
fix: wrap negative literals before cast ( #1327 )
2022-01-12 17:31:40 +03:00
Skylot
46b5725d98
refactor(test): replace inputs with test profiles
2022-01-12 17:31:37 +03:00
Jan S
72542fa6f9
fix(gui): processing threads spinner initialization ( #1331 )(PR #1332 )
...
* fix: processing threads spinner initialization (#1331 )
* fix: processing threads spinner initialization (#1331 )
2022-01-12 14:23:07 +00:00
demonlol
a250d0461b
fix(dbg): support multiple main <action> and <activity-alias> tags ( #1322 )(PR #1323 )
...
* fix(dgb): support multiple main <action> and <activity-alias> tags in manifest
* Update jadx-gui/src/main/java/jadx/gui/device/debugger/DbgUtils.java
2022-01-02 20:09:24 +03:00
Skylot
c7795bfc48
fix: improve anonymous class inline ( #523 )
2021-12-26 13:06:49 +00:00
Skylot
5de46b7e40
chore: update gradle and dependencies
2021-12-24 12:53:30 +00:00
Skylot
99c70872c1
fix: use debug line numbers only at fixed offsets ( #1315 )
2021-12-22 22:55:14 +03:00
Skylot
3566669303
chore: update lgtm config
2021-12-22 12:24:01 +00:00
Skylot
4557d05256
fix: use correct type for anonymous class instance ( #597 )
2021-12-21 17:47:52 +00:00
Skylot
fa421d165e
build: disable missing warnings from javadoc
2021-12-21 12:52:52 +00:00
Skylot
ecf20020d7
chore: cache current working dir in static field, other minor changes
2021-12-20 19:25:07 +00:00
Skylot
ae85af61c7
fix: skip input file name checks by zip name validator ( #1310 )
2021-12-20 18:55:28 +00:00
Skylot
659bbbf4fb
fix: correct usage of Path.getParent()
2021-12-20 16:48:50 +00:00
Jan S
427e2dddc4
fix: use relative file paths in .jadx project file ( #1312 ) (PR #1313 )
...
* chore: use relative file paths in .jadx project file (#1312 )
* code beautified
* requested changes
2021-12-20 13:52:51 +00:00
skylot
d47483f957
docs: use jadx as a library
2021-12-19 20:36:58 +00:00
Skylot
4bd8e26ae7
build: add maven publish
2021-12-19 16:24:09 +00:00
Skylot
01f47282ed
fix: forbid 'printStackTrace()' usage
2021-12-18 19:24:36 +00:00
Skylot
afdd37cd97
fix: add comments with option references to improve usability
2021-12-15 12:24:37 +00:00
Skylot
addaffcd1d
chore: update dependencies
2021-12-15 11:56:01 +00:00
Skylot
63f7ce20a4
fix: add merged condition blocks for loop region ( #1307 )
2021-12-14 14:25:59 +00:00
Skylot
f37c23db7a
fix: use correct top block for try blocks with same start ( #1304 )
2021-12-13 18:14:27 +00:00
Skylot
d2bde0be21
fix: invoke in nested anonymous classes ( #1305 )
2021-12-13 00:12:30 +03:00
SiderealArt
9c446ebbd6
feat(gui): add Traditional Chinese translation (PR #1306 )
2021-12-12 16:05:10 +00:00
Skylot
0f00fb9a27
fix: handle move-result after invoke-custom with string concat
2021-12-11 16:22:27 +00:00
Skylot
2d6f819c86
chore: update gradle and dependencies
2021-12-11 16:22:27 +00:00
Skylot
56683ac409
fix: improve try/catch bounds detection ( #1303 )
2021-12-09 17:34:53 +00:00
skylot
a72523c7df
docs: add link to decompilation troubleshooting
2021-12-08 13:11:31 +00:00
Surendrajat
46eeb0bc22
fix(gui): forward navigation shortcut on macOS ( #1297 )(PR #1301 )
...
* fix: forward navigation shortcut on macOS
* apply suggestion
2021-12-06 16:45:29 +03:00
Skylot
6e8baef9b2
feat(gui): allow to minimize/maximize search windows ( #1298 )
2021-12-04 11:04:17 +00:00
Skylot
947b621733
feat: add option to use dx/d8 for convert java bytecode ( #1299 )
2021-12-03 15:05:28 +00:00
Skylot
4cc00bdaf2
fix: handle super case for invokespecial opcode ( #1300 )
2021-12-02 18:13:19 +00:00
Moredistant
59ef569a63
fix(gui): update chinese translation (PR #1296 )
2021-11-30 11:57:16 +03:00
Choiman1559
abae225915
Update Korean translation ( #1294 )
...
* Update Messages_ko_KR.properties
* Update Messages_ko_KR.properties
Add missing translations
2021-11-29 19:56:01 +03:00
Jan S
05bdf9daae
perf(res): XML decoding speed enhancement (PR #1293 )
...
* chore: XML decoding speed improved for large APKs (finding class references)
* skip attach class node to xml for SimpleCodeWriter (used in jadx-cli)
Co-authored-by: Skylot <skylot@gmail.com >
2021-11-29 15:08:54 +03:00
Haeter
0a8192168a
fix(gui): update Quark report parsing ( #1289 ) (PR #1291 )
2021-11-28 19:31:28 +03:00
Hen Ry
88fd5a517e
fix(gui): update German translation (PR #1290 )
...
* Updated German translation
2021-11-28 19:15:07 +03:00
zhongqingsong
74c5b616a4
fix(gui): update Chinese translation (PR #1287 )
...
1. According to the English version of the document, complete the left texts.
2. Fix some inaccurate word, such as field, old CN is variable(变量), inadequacy. signer, old CN is somebody(人), now it's something(者)。
3. Fix improper use of symbols, Lack of symbols in some place, some EN symbol translate to CN symbol.
4. Other change
2021-11-26 18:40:01 +03:00
Skylot
22a61d715b
build: sometimes build failing without running gradle daemon
2021-11-25 14:47:17 +03:00
Skylot
a90ec7c64a
fix: include inlined classes in usage search ( #1285 )
2021-11-25 14:47:13 +03:00
Jan Peter Stotz
b22812b43a
fix: APK signature description for unprotected entries only applies to v1 signatures
2021-11-24 16:46:38 +03:00
Jan Peter Stotz
4c0da8c3d5
fix: binary xml hexadecimal int value decoding
2021-11-24 16:46:38 +03:00
Moredistant
9aa30f77b7
fix(gui): update chinese translation (PR #1284 )
2021-11-23 15:54:53 +03:00
Martin Kay
2dbef83fa6
feat(gui): smali code highlighting (PR #1283 )
...
* smali code highlighting is basically perfect
* Optimize smali highlight color matching, and provide original jflex generation
* reformat code
* disable checkstyle
* update shell to be more environment independent
Co-authored-by: Skylot <skylot@gmail.com >
2021-11-23 15:53:37 +03:00
Skylot
6ec7f789ef
fix: restore usage data after class reload ( #1281 )
2021-11-22 13:56:15 +00:00
Skylot
31c0afe29e
fix: don't unload field init values ( #1277 )
2021-11-21 18:54:32 +00:00
Skylot
46b07863c1
build: fix bundle build
2021-11-20 20:49:57 +00:00
skylot
445e91e6b5
docs: update readme
2021-11-20 18:04:08 +03:00
Skylot
9daf386d66
build: bundle JRE with jadx-gui
2021-11-20 14:17:05 +00:00
Skylot
49b4079cd8
chore: update dependencies
2021-11-20 16:35:23 +03:00
Jan Peter Stotz
0ffa1838a2
chore: Updated German translation
2021-11-20 16:02:39 +03:00
Jan S
0efca29e95
fix: configured resource indexing size limit is now correctly considered (PR #1278 )
2021-11-18 18:58:20 +03:00
Skylot
0ab933efff
perf: cache 'implements' list (heavily used in type inference)
2021-11-15 21:03:54 +00:00
Skylot
4ee4a34323
fix: check if inner classes for missing R class already exist ( #1269 )
2021-11-15 16:17:38 +00:00
Yotam
985ccd6bba
feat: save jobf when decompiling to Java ( #1274 ) (PR #1275 )
...
* Save jobf when decompiling to Java through the cli
* Skip jobf saving if it's empty
* Update jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java
Co-authored-by: Yotam Nachum <me@yotam.net >
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2021-11-14 23:49:27 +03:00
Skylot
570e7528a7
fix(gui): use correct definition position on jump after code reload ( #1273 )
2021-11-14 13:05:22 +00:00
Skylot
918585968d
perf(gui): on rename unload dependent classes instead recompile
2021-11-13 14:53:51 +00:00
Skylot
cf918a897f
fix(gui): collect FlatLaf themes without reflection
2021-11-12 18:01:52 +00:00
Skylot
5fc27c1136
perf(gui): improve decompilation speed ( #1269 )
...
- use index only in one thread to reduce synchronization locks
- collect usage info on request, remove global collection
- adjust decompilation order to reduce locks, improve memory usage
- prefill cache of super types in clsp graph to remove locks
2021-11-12 13:54:56 +00:00
Skylot
6bcc48c462
chore: update gradle and dependencies
2021-11-11 11:12:21 +00:00
Skylot
4dc368c7d0
fix: save resources before decompilation ( #1270 )
2021-11-11 10:54:17 +00:00
Skylot
17f99ed928
fix: adjust class processing order for correct methods inline ( #1264 )
2021-11-10 15:27:25 +00:00
Skylot
954d239b52
fix: resolve methods collisions after type fix ( #1263 )
2021-11-08 16:59:41 +00:00
Skylot
ea167cbefc
fix(gui): resolve NPE in resource index for single dex, other minor issues
2021-11-08 15:18:30 +00:00
Skylot
90a436236d
fix(gui): wrap long array data (workaround for RSTA hang) ( #1266 )
2021-11-06 17:35:26 +00:00
Skylot
4479a3fbd5
fix(gui): restore resource tabs on project open
2021-10-29 15:23:22 +01:00
Skylot
f5216b77f8
fix(gui): resolve some minor rename issues
...
- correct variable definition in method arguments
- refresh current class if rename interface method
2021-10-28 18:38:53 +01:00
Skylot
39dc288978
feat(gui): save open tabs in project file
2021-10-27 21:28:18 +01:00
Skylot
f37005958f
fix(gui): sort results in usage dialog ( #1104 )
2021-10-27 15:22:33 +01:00
Skylot
dfdc14ea86
feat: rename without deobfuscation, save renames in project ( #1076 #1022 )
2021-10-26 20:23:21 +01:00
Skylot
82712776cc
feat(gui): add issues panel and summary report ( #986 )
2021-10-23 16:03:06 +01:00
Skylot
439446816c
fix: update Quark report format parsing
2021-10-22 17:07:45 +01:00
Jan S
940108661c
fix(gui): "Always Select Opened File/Class" was not syncing upon activation (PR #1261 )
2021-10-22 15:17:27 +03:00
Skylot
0423f33e93
fix: use correct iteration over code points in string
2021-10-21 18:24:57 +01:00
Jan Peter Stotz
c2a4a7a6c2
fix: "rename to make printable" option was renaming fully printable class names
2021-10-21 15:51:22 +03:00
Skylot
ff4e3dd976
fix: show cause exception if class codegen failed ( #1258 )
2021-10-20 19:21:49 +01:00
Skylot
94b00b4e7a
feat(gui): add option to change line numbers mode ( #1223 )
2021-10-20 18:42:15 +01:00
Skylot
48252c3c3d
feat: add option for code comments levels ( #998 )
2021-10-19 16:47:20 +01:00
Skylot
37adce2efb
chore: update dependencies
2021-10-17 19:53:01 +01:00
Skylot
358cddd9a7
fix: support dynamic strings concat ( #1250 )
2021-10-17 19:43:51 +01:00
Skylot
418df2fd93
tests: allow to set target java version, use D8 as fallback converter
2021-10-17 19:43:51 +01:00
Skylot
cd153c76f2
feat: add raung input plugin, use raung in tests
2021-10-12 19:17:04 +01:00
Skylot
f30c14b277
feat(gui): don't run full decompilation for usage search
...
New approach will run partial decompilation for classes
from usage info collected on file load (pre-decompilation stage).
2021-09-30 16:23:09 +01:00
Skylot
3a29812241
fix(gui): resolve NPE during index ( #1254 )
2021-09-30 14:07:19 +01:00
Muntashir Al-Islam
67e6b647a2
fix(build): force protobuf version to prevent Java-7 issue (PR #1255 )
...
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net >
2021-09-30 15:53:28 +03:00
Skylot
ea0795c8a9
fix: restore fields order if init use other fields ( #1235 )
2021-09-15 22:27:25 +01:00
Skylot
099acfca1d
fix: don't add parenthesis for field init code
2021-09-15 21:55:24 +01:00
Skylot
8969d11a22
fix: restore fields order on init code move ( #678 )
2021-09-15 21:55:24 +01:00
Skylot
eedf32d197
fix: support nested try/finally blocks ( #1249 )
2021-09-09 18:44:24 +01:00
Skylot
9c8642593c
fix: don't visit inner classes twice in pre-processing
2021-09-08 19:07:25 +01:00
MrIkso
8e89a2ef1b
feat(gui): added option to always select opened file/class
2021-09-03 19:12:29 +03:00
MrIkso
316c2fdd4d
fix(gui): updated SearchBar in code viewer
2021-09-03 19:12:29 +03:00
Skylot
6bbf1d0996
build: update gradle wrapper to 7.2 ( #1244 )
2021-09-03 16:38:37 +01:00
Skylot
e854ba3c44
build: upgrade gradle to 7.2 ( #1244 )
2021-08-31 17:20:04 +01:00
Nico Mexis
f681c8963d
fix: use maven-publish for JitPack and other fixes (PR #1242 )
...
* Update dependencies
* Fix spaces in file paths
* Update Gradle for LGTM
* Update spotless
* Fix Jitpack
Co-authored-by: Skylot <skylot@gmail.com >
2021-08-27 19:05:52 +03:00
green9317
8d5f22e43d
fix(xml): handle incorrect android manifest namespace chunks ( #1232 ) (PR #1243 )
...
* allow for handling of incorrect android manifest namespace chunks
* Update BinaryXMLParser.java
2021-08-27 17:40:08 +03:00
Skylot
a62de839be
fix: handle unbound type variables in type inference ( #1237 )
2021-08-24 13:54:32 +01:00
Skylot
5af60b2ff4
fix(gui): improve constructors and classes usage list
2021-08-23 17:10:43 +01:00
Skylot
c8d7fce938
fix(gui): use correct type formatter in class tree
2021-08-22 18:53:12 +01:00
Skylot
90fbc790d9
fix(gui): exclude declaration from usage list ( #1110 )
2021-08-22 18:03:15 +01:00
Skylot
1ce3fc972a
fix: improve disassemble view for java-input
2021-08-22 16:53:54 +01:00
Skylot
9ea3f0f240
fix: support 'swap' and 'wide' opcodes, other fixes for java-input
2021-08-20 20:59:30 +03:00
Skylot
868fa90097
feat: allow to load directories
2021-08-15 14:44:55 +01:00
Skylot
55bb20cf29
fix: prevent collisions in method ids for java-input
2021-08-13 23:07:33 +03:00
Skylot
7c0671c81b
feat: rewrite try-catch processing
2021-08-13 23:07:33 +03:00
Skylot
12a66bd83e
refactor: remove samples module
2021-08-13 23:07:33 +03:00
Skylot
1efdcd7b10
feat: input plugin for java bytecode
2021-08-13 23:07:29 +03:00
Hen Ry
2d9bcdb87a
fix(gui): update Messages_de_DE.properties (PR #1230 )
...
* fix(gui): update Messages_de_DE.properties
* #-fix(gui): update Messages_de_DE.properties
2021-08-12 18:25:36 +03:00
Hen Ry
ac9cace8f6
fix(gui): update Messages_de_DE.properties (PR #1228 )
...
* Update Messages_de_DE.properties
* Update Messages_de_DE.properties
Fix
* uncomment translated lines
Co-authored-by: Skylot <skylot@gmail.com >
2021-08-12 17:12:31 +03:00
Yaroslav
f9bf27579e
fix: additional checks for export to gradle ( #1222 ) (PR #1224 )
2021-08-05 15:16:05 +03:00
Skylot
667cae2e62
chore: use SVG icon for Quark (thanks @MrIkso)
2021-08-04 19:18:03 +01:00
Skylot
e8e0491cb5
chore: fix code formatting and resolve PR issues
2021-08-04 20:41:17 +03:00
Yaroslav
ee12f0bd18
feat(gui): use SVG icons, xml resources impovements (PR #1221 )
...
* fix(xml): add more file based resources type to skip
* fix(res): fix #1060 , styles might contain dots in name
* fix(res): use lowercase name on deobfuscated\renamed resources names and id in hex format
* feat(gui): update gui under FlatLaf
* fix(gui): use FlatSVGIcon to fix icons brightness difference
* fix(gui): use source lines only decompiled java code
Co-authored-by: MrIkso <mrkso821@gmail.com >
2021-08-04 20:40:49 +03:00
Skylot
5f24193c49
chore: update dependencies
2021-08-02 18:44:21 +03:00
Skylot
dd29d37154
feat(gui): use FlatLaf for themes support
2021-08-02 18:32:35 +03:00
Jan S
b63e3aca00
feat: add origin file info (code comment for classes, tooltip in tree) (PR #1219 )
...
* chore: make escapeHtml also replace close angle brackets
* chore: if multiple files are loaded, show their path as tooltip
* feat: add comment on classes that contains the dex file name it has been loaded from
* fix: expected line numbers in unit test fixed
* fix: delete comments from generated code as it may contain a colon
* chore: comment removing wasn't able to handle Linux paths with slash
2021-08-01 18:15:05 +03:00
Skylot
859674ce7e
fix: keep lambda classes if static field used outside ( #1215 )
2021-07-25 15:10:34 +01:00
Jan S
ea8b9ce462
fix(xml): reversed XML attribute name decoding priority ( #1208 )(PR #1214 )
2021-07-24 17:13:27 +03:00
Skylot
b5720bd14e
fix(gui): improve Quark tasks scheduling and report viewer ( #1119 )
2021-07-02 21:32:57 +01:00
Shaun Dang
cc99409a7e
feat(gui): improvements of Quark integration ( #1119 ) (PR #1199 )
...
* Add quark installation
* add error/warning dialog
* change Quark task to background task
* fix missing the last line of input stream
2021-06-30 18:04:50 +03:00
Skylot
fef3e21c70
fix: resolve type vars from outer class ( #1192 )
2021-06-19 13:44:15 +01:00
Skylot
f3d76c433a
fix: prevent StackOverflowError in MarkFinallyVisitor ( #1191 )
2021-06-18 17:34:21 +01:00
nitram84
31d5715723
fix: prevent duplicated override annotations and minor optimization ( #1188 )(PR #1190 )
...
* Handle explicit override annotations
* Skip override checks for private methods
2021-06-18 00:40:31 +03:00
Skylot
592eef3cda
fix: resolve NPE in enum processing
2021-06-04 20:21:38 +01:00
Skylot
0541748e5f
fix: resolve type variables from super types ( #870 )
2021-06-04 19:31:47 +01:00
Skylot
cf1d9e8372
fix: allow to reuse enum fields in static fields ( #1019 )
2021-06-01 20:57:48 +01:00
Skylot
b096d8869e
fix: support branched object construction ( #1019 )
2021-06-01 15:58:08 +01:00
Skylot
2acc14b04a
fix: resolve generic type vars for instance field get instruction ( #918 )
2021-05-30 10:18:35 +01:00
Skylot
1f1efb0e17
fix: allow local variables have name same as instance fields ( #1183 )
2021-05-29 20:18:49 +01:00
Skylot
1c08d854fb
fix(gui): add memory limit checks to export and load tasks ( #1181 )
2021-05-29 17:11:42 +01:00
Skylot
9c252fb226
fix(gui): add memory and time limits for decompile task ( #1181 )
2021-05-28 17:52:52 +01:00
Skylot
4bda3b9e9b
build: exclude exe build on not Windows ( #1180 )
2021-05-27 15:41:34 +01:00
Skylot
21da3c8602
fix: reword rename flags in cli and gui ( #1178 )
2021-05-25 10:10:16 +01:00
Skylot
7ec43776ae
chore: update gradle and dependencies
2021-05-21 19:06:30 +01:00
Skylot
07d7e68dc2
fix: format Android resources ids as hex ( #1171 )
2021-05-20 18:41:46 +01:00
Skylot
8785c33d06
feat: add option to disable methods inline ( #1170 )
2021-05-18 10:39:30 +01:00
Skylot
661ebe439d
fix: inline class as anonymous if it used only once ( #1168 )
2021-05-11 15:33:13 +01:00
Skylot
4732fa36a6
fix(gui): improve code area performance and line numbers repaint ( #1167 )
2021-05-07 17:36:06 +01:00
LBJ-the-GOAT
8dad158ae6
fix: resolve LGTM alerts (PR #1162 )
...
* fix LGTM alerts
* Update jadx-gui/src/main/java/jadx/gui/device/debugger/BreakpointManager.java
* Update Smali.java
Co-authored-by: tobias <tobias.hotmail.com>
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2021-04-25 23:55:47 +03:00
LBJ-the-GOAT
bfc343d1ee
fix(gui): correct port retry in smali debugger ( #1136 ) (PR #1160 )
...
Co-authored-by: tobias <tobias.hotmail.com>
2021-04-25 20:26:46 +03:00
bagipro
ca723c3b47
fix(res): fix invalid XML NS names (PR #1158 )
...
* Fix issue in invalid XML NS names
* fix: replace methods not available in Java 8
Co-authored-by: bagipro <bugi@MacBook-Pro-2.local >
Co-authored-by: Skylot <skylot@gmail.com >
2021-04-24 13:21:09 +03:00
Jan S
b6657351fc
fix(res): fix XML attribute decoding ( #1156 ) (PR #1157 )
2021-04-23 12:48:52 +03:00
Jan S
f26032ed7d
fix(gui): small search dialog optimizations (PR #1143 )
...
* avoid extra vertical space below search options when dialog is wide
* make sure the search dialog has the correct size and the options are aligned properly
* regex search: make searchField background red in case of invalid regex entered
2021-04-23 12:33:52 +03:00
Skylot
012f7665aa
chore: update gradle to 7.0, update dependencies, fix some build warnings
2021-04-22 19:42:01 +01:00
Skylot
c28e8142f4
chore: fix warnings reported by snyk
2021-04-21 11:29:46 +01:00
Skylot
1462acbb92
chore: remove not needed file
2021-04-18 22:22:27 +01:00
Skylot
c52c659b94
fix: correct inline flag for variables used in anonymous classes ( #1154 )
2021-04-18 19:10:59 +01:00
LBJ-the-GOAT
6bf358fc66
feat(gui): improve exclude package feature ( #1151 ) (PR #1152 )
...
* include & exclude multiple packages at the same time
* use to tree instead of list to display packages.
Co-authored-by: tobias <tobias.hotmail.com>
2021-04-16 13:37:11 +03:00
Skylot
e8f57d3ace
fix: prevent infinite loop in block tree mod for loops ( #1147 )
2021-04-08 19:01:18 +01:00
Skylot
766e7193b9
fix(gui): use correct offset for code line ( #1141 )
2021-04-01 21:15:17 +03:00
Choiman1559
6fe762aa7b
fix(gui): update Korean translation (PR #1140 )
...
* Update Messages_ko_KR.properties
* remove empty line insertion
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2021-03-31 18:00:04 +03:00
Skylot
7065b1b3ba
fix: remove method with more than 255 args ( #1026 )
2021-03-29 20:46:18 +01:00
Skylot
72b812acad
fix: don't unload annotation attributes ( #1089 )
2021-03-29 21:35:50 +03:00
Skylot
d7ffa21fbe
chore: forbid use DebugUtils class with checkstyle
2021-03-29 19:35:43 +01:00
Skylot
c95d64909a
feat(cli): add decompilation progress
2021-03-29 14:56:40 +03:00
skylot
a5b2b04317
docs: add smali debugger to readme
2021-03-28 13:54:38 +03:00
LBJ-the-GOAT
4705194a1d
feat(gui): add a smali debugger ( #1136 ) (PR #1137 )
...
* add a smali debugger
* debugger: support android 11, support 9(may be) & 10 if debug_info available, add rerun.
* debugger: support get/set fields of this, change icons, fix bugs.
* debugger: add timeout to attach
Co-authored-by: tobias <tobias.hotmail.com>
2021-03-28 13:23:07 +03:00
Skylot
19572a674e
fix: improve deobfuscation performance for overridden methods ( #1133 )
2021-03-20 15:48:56 +00:00
Skylot
a1247f4d96
chore: update dependencies
2021-03-17 13:51:30 +00:00
Skylot
52412dfe31
fix(gui): resolve potential command injection, fix other code style issues ( #1119 )
2021-03-12 14:54:15 +00:00
Shaun Dang
ab02e6e7c3
feat(gui): add Quark-Engine integration ( #1119 ) (PR #1135 )
2021-03-12 16:44:42 +03:00
bagipro
9ef99a2b92
feat: implement Android App Bundle support ( #1129 ) (PR #1131 )
...
* Implement proto parse
* fix code formatting
* fix tests with empty input
* revert not needed code style changes
* Implement parse of resources.pb for AAB
Co-authored-by: bagipro <bugi@MacBook-Pro-2.local >
Co-authored-by: Skylot <skylot@gmail.com >
2021-03-08 21:34:52 +03:00
skylot
4e5fac4b88
feat(gui): add code comments ( #359 ) (PR #1127 )
...
* feat(gui): add code comments (#359 )
* refactor: replace instanceof search with method dispatch in RegionGen
* fix: various bug fixes and improvements for code comments
* fix(gui): support multiline code comments
* fix: resolve code differences after class reload
* fix(gui): add search for comments, allow search in active tab only
* fix: correct search for inner classes
* fix(gui): run full index on search dialog open
2021-03-04 17:45:48 +03:00
Skylot
7a14aaa17e
fix: resolve variable name shadowing in anonymous classes ( #1124 )
2021-03-02 18:43:52 +00:00
LBJ-the-GOAT
650863836c
feat(gui): improve smali printer to show bytecode ( #1114 ) (PR #1126 )
...
* improve smali printer to show bytecode
* set insnStart position before start decoding
* swithed line 62 and line 63, to get the proper bytes, insnStart must to be set before start to decode.
Co-authored-by: tobias <tobias.hotmail.com>
2021-03-02 16:02:56 +03:00
Skylot
3a69ac23c0
fix: restore enums with removed fields ( #926 )
2021-02-23 16:59:33 +00:00
Skylot
b873c6ae4d
refactor: use interface for CodeWriter
...
Details:
- add simple and annotated code writers to allow
skip code annotations processing in jadx-cli and other places
- add annotated code info to use only than needed
- allow to set provider for codewriter in JadxArgs
- add JadxArgs argument to constructor to allow change output
- add cli option to insert debug line numbers as code comments
(example for previous change)
2021-02-21 17:34:33 +03:00
Surendrajat
4835b1b897
fix(gui): compact TabComponent labels and TabToolTip ( #1120 ) (PR #1121 )
...
* Compact CodePanel labels and TabToolTip
* Remove top padding from tab title
2021-02-21 15:01:10 +03:00
Skylot
67def6319e
feat(cli): add option to change deobfuscation map file ( #1117 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2021-02-13 14:22:22 +00:00
Choiman1559
c56d9ac7ce
fix(gui): updated korean translation (PR #1118 )
2021-02-13 15:49:42 +03:00
Skylot
e6588c4307
fix(gui): correct font save with '-' in name ( #1116 )
2021-02-12 17:17:41 +00:00
Skylot
712389ab24
build: add windows artifact, use nightly.link for download unstable build ( #1113 )
2021-02-06 12:43:49 +00:00
Skylot
5f1be38490
build: upload unstable binaries as build artifact ( #1113 )
2021-02-05 21:33:04 +00:00
Skylot
7982592c6e
build: remove Travis and Bintray, disable codecov and sonarqube ( #1113 )
2021-02-04 12:14:39 +00:00
Skylot
69574918b5
fix: allow constructor invoke as lambda
2021-02-02 18:27:36 +00:00
Skylot
f6783e8f5e
fix: implement 'copy' and 'isSame' methods in InvokeCustomNode
2021-02-02 16:27:45 +00:00
Skylot
913b00a4d4
build: setup simple test build using Github Actions
2021-02-01 19:37:19 +00:00
Skylot
22fa132110
fix: support instance invoke for 'invoke-custom' instruction ( #384 )
2021-02-01 19:02:31 +00:00
Skylot
5a30fc0300
fix: improve const inlining in finally blocks ( #917 )
2021-01-30 19:44:38 +03:00
LBJ-the-GOAT
c774ffc979
feat(gui): search in resource files ( #347 ) ( #1032 ) (PR #1108 )
...
Co-authored-by: tobias <tobias.hotmail.com>
2021-01-30 19:34:20 +03:00
Skylot
c93e7fb9cd
fix: detect loaded class duplication ( #1107 )
2021-01-29 11:31:00 +00:00
Surendrajat
3437888964
fix(gui): use common keyboard shortcuts for navigation ( #1085 ) (PR #1106 )
2021-01-27 21:37:13 +03:00
Surendrajat
b314e0bdda
fix(gui): improve color schemes ( #1101 ) (PR #1105 )
...
* do not use hardcoded color for highlighting
* add a new theme: druid
2021-01-27 21:02:16 +03:00
LBJ-the-GOAT
2bdde6a528
fix(gui): fix variable usage & caret position after rename ( #1099 ) (PR #1103 )
...
Co-authored-by: tobias <tobias.hotmail.com>
2021-01-27 19:23:07 +03:00
LBJ-the-GOAT
c61cb80a8b
feat(gui): rename local variables ( #1023 ) ( #1084 ) (PR #1098 )
...
Co-authored-by: tobias <tobias.hotmail.com>
2021-01-27 14:58:57 +03:00
Fi5t
4217aab933
fix: new gradle export ( #1095 ) (PR #1097 )
...
* Update export of gradle project
* Fix hardcoded index
* Add versionCode and versionName to the export template
2021-01-26 21:31:12 +03:00
LBJ-the-GOAT
ffb2956d90
fix(gui): fix caret positions of search/usage/goto decl, add search to popup menu ( #1093 ) (PR #1094 )
...
* fix caret positions of search/usage/goto decl to matched place & add menu items for search
* Remove static field for main window
Co-authored-by: tobias <tobias.hotmail.com>
2021-01-25 14:49:21 +03:00
Skylot
9744547fab
fix(gui): correct line numbers with enabled line wrap ( #1092 )
2021-01-24 16:10:37 +00:00
Choiman1559
b580d1cf5b
fix(gui): update korean translation (PR #1091 )
2021-01-23 20:24:09 +03:00
LBJ-the-GOAT
855c7b608e
feat(gui): add shortcuts to TabbedPanel and enhance JumpPosition ( #1085 ) (PR #1090 )
...
* Add shortcuts to TabbedPanel & enhance JumpPosition
* Update jadx-gui/src/main/java/jadx/gui/ui/codearea/RenameAction.java
Co-authored-by: tobias <tobias.hotmail.com>
2021-01-23 14:20:08 +03:00
Shatyuka
707ed9a828
fix(gui): codearea popup menu always disabled in macos ( #1052 ) (PR #1086 )
2021-01-18 19:03:32 +03:00
alienhe
a3ea514521
fix: elemSize=0 fill_array_data_payload insn obfuscation (PR #1082 )
...
Co-authored-by: hexun <hexun@fenbi.com >
2021-01-15 12:10:33 +03:00
Skylot
3dfaec5033
feat: initial support for 'invoke-custom' instruction ( #384 )
2021-01-14 20:15:23 +00:00
Skylot
778106c41b
chore: update gradle and java dependencies
2021-01-14 19:58:01 +00:00
Skylot
c47e9cdde4
fix: allow to load Spring Boot jar ( #1066 )
2021-01-04 20:31:17 +03:00
Skylot
8dd76420c8
fix(deobf): complete disable rename if all rename options unchecked ( #1076 )
2021-01-02 22:22:45 +03:00
Skylot
dfe026ac2d
test(gui): fix localization test
2021-01-01 18:04:42 +03:00
Choiman1559
f0849d0ed1
feat(gui): added Korean translation (PR #1074 )
...
* Added korean translation properties
* Added korean translation
* Update Messages_ko_KR.properties
* Update NLS.java
2021-01-01 18:00:10 +03:00
Skylot
b7ca898b77
perf: improve processing of override related methods ( #1072 )
2020-12-31 13:33:18 +03:00
green9317
1b8b377f90
feat(gui): allow use regex in the search dialog (PR #1069 )
...
* Implements the option to use Regex on the Search Dialog
* Updated the way search works to pass a search settings class with options set rather than method arguments
* Fixing style issues
* Updating Style Fix
* Cleaning code
* Updating code to combine SearchSettings and Search Impl as well as efficiency improvements.
* Fixing bug caused from moving code in the searchImpl class
* Fixing a minor bug
* adding style fixes
2020-12-29 22:12:20 +03:00
Skylot
7227f1ac78
fix: don't skip method instructions in fallback mode ( #1063 )
2020-12-24 12:58:15 +00:00
Jan S
23f088105e
fix(gui): synchronized conditional usageList remove method added (PR #1065 )
2020-12-24 15:42:52 +03:00
Skylot
3bbb6b1058
fix: rename all related overridden methods in deobf map file ( #1058 )
2020-12-21 14:47:57 +00:00
Skylot
3a4895b21c
test: check code after reload
2020-12-21 17:38:29 +03:00
Jan S
4e6afe9b64
fix(gui): do not show empty rename dialog if user chooses not to change DeobfuscationForceSave settings (PR #1061 )
2020-12-21 16:23:37 +03:00
Alisson Lauffer
dd4c20249f
fix(gui): increase settings vertical scroll increment (PR #1059 )
2020-12-21 15:14:19 +03:00
AdamN
b54b2d47e9
fix(res): use lowercase for resource filename and only use underscore for compatibility with newer android studio ( #1043 , PR #1057 )
2020-12-20 19:14:09 +03:00
Skylot
64fb587d0f
fix(gui): improve rename for overridden methods
2020-12-19 18:07:51 +03:00
Skylot
2ca3c65300
fix(deobf): don't rename unresolved or classpath overridden methods
...
Change details:
- use common code for process override methods in deobfuscator (move OverrideMethodVisitor to pre-decompile stage)
- add all public methods to jadx class set to allow search of override base method
- add don't rename flag if override hierarchy have unresolved methods
2020-12-19 18:07:51 +03:00
Jan S
549f346d5e
fix: prevent NullPointerException and ConcurrentModificationException when renaming something (PR #1055 )
2020-12-18 17:12:32 +03:00
Jonas Konrad
80a879bddf
fix: properly transform array creation with constant field length to filled-array (PR #1054 )
2020-12-16 19:12:11 +03:00
Skylot
13c17a000a
fix: force code inline after new array creation resugar ( #1048 )
2020-12-12 20:12:42 +00:00
Jonas Konrad
96dea75bc8
fix: preserve original method details in inlined invocation (PR #1049 )
2020-12-12 22:08:50 +03:00
Skylot
035fce6191
fix: improve error reporting for instruction decode failure ( #1046 )
2020-12-11 22:06:08 +03:00
Jonas Konrad
2f5dd171d0
fix: do not remove method start block when it is referenced from dead code (PR #1044 )
2020-12-09 23:19:21 +03:00
Skylot
e7598d4340
fix: don't add region on exit block ( #1040 )
2020-12-03 21:45:21 +03:00
Skylot
76d0a39a0f
fix: handle empty loop body ( #1040 )
2020-12-03 21:45:21 +03:00
Jonas Konrad
3f25f072c6
fix: properly traverse methods with synchronize blocks that have no clear exit (PR #1041 )
2020-12-03 17:15:49 +03:00
Jonas Konrad
5c75f249c7
fix: do not count nop instructions when considering methods for fallback mode printing ( #1038 ) (PR #1039 )
2020-12-01 13:39:48 +03:00
Skylot
02bfe63245
fix: support AAR files as input ( #1034 )
2020-11-30 17:00:25 +03:00
Jonas Konrad
faa205a486
fix: process exception handler when handler block is start of a new try block (PR #1036 )
2020-11-30 15:46:18 +03:00
Jan S
3a6d645ea3
fix(res): do not rename resources names for building res-map.txt (PR #1035 )
...
fix: do not rename resources names for building res-map.txt
allow loading of resources.arsc from android.jar files
res-map.txt bases on resources.arsc from API 3, 4, 7-30 (taken from https://github.com/Sable/android-platforms )
2020-11-30 14:00:58 +03:00
Skylot
e65468b97a
fix(gui): proper reference highlighter remove ( #1031 )
2020-11-24 12:24:15 +00:00
Skylot
edbe6015f6
fix(res): unescape new line symbol in string resources ( #1030 )
2020-11-23 16:35:05 +00:00
bagipro
f642e11a7a
fix(res): fixes ns value (PR #1029 )
...
* Fixes ns value
* fix formatting
Co-authored-by: bagipro <bugi@MacBook-Pro.local >
Co-authored-by: Skylot <skylot@gmail.com >
2020-11-23 00:54:03 +03:00
Skylot
fdc87fe296
fix: update class set data to Android API 30
2020-11-22 18:43:49 +00:00
Skylot
7396c7595f
fix: resolve type variables in invoke from arg types
2020-11-22 18:41:38 +00:00
Skylot
d39849ad00
fix(res): update android resources to API 30
2020-11-21 23:24:18 +03:00
Skylot
d65ee902f7
fix: load android res map in getter
2020-11-21 20:24:11 +00:00
Skylot
eada4b0fc3
fix: don't add 'default' for static methods in interfaces
2020-11-21 23:04:55 +03:00
bagipro
6f9619126a
fix(res): rename invalid res keys (PR #1027 )
...
* Renames invalid res keys
* perf: store compiled resource name pattern for better performance
Co-authored-by: bagipro <bugi@MacBook-Pro.local >
Co-authored-by: Skylot <skylot@gmail.com >
2020-11-21 23:02:47 +03:00
Skylot
4bc6007a4d
fix: error loading resource map file from bundled jar ( #1020 )
2020-11-19 16:09:12 +03:00
Skylot
d3f5154c19
fix: use text file for store android resource mapping ( #1020 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-11-19 10:23:53 +00:00
Skylot
71aa29cc71
docs: remove pyjadx link ( #1024 )
2020-11-18 19:30:18 +00:00
Skylot
98d8015015
refactor: split field init attribute
2020-11-16 21:09:38 +00:00
Skylot
42a44f210d
feat: concat constant strings ( #1014 )
2020-11-16 19:29:08 +03:00
Skylot
29ff86b74f
fix: don't unload attributes added to class at initial load ( #1010 )
2020-11-15 17:54:42 +00:00
Skylot
381afa2741
chore: fix release config
2020-11-14 16:14:13 +00:00
Skylot
82d4099541
fix(res): skip unused bytes in xml attributes parsing ( #1013 )
2020-11-11 16:46:26 +00:00
Skylot
5f659c8de7
fix: don't apply again already resolved types ( #1012 )
2020-11-10 13:31:49 +00:00
Skylot
e054ea6683
fix: adjust limits to skip processing of large methods ( #1012 )
2020-11-10 13:23:41 +00:00
Skylot
0deafb768b
fix: correct merge code variables across PHI instructions ( #930 )
2020-11-09 20:46:44 +00:00
Skylot
cd612b452c
chore: resolve some warnings reported by IntelliJ Idea
2020-11-07 15:44:57 +00:00
Skylot
009939f866
fix: prevent endless loop in method signature parsing ( #1007 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-11-05 17:23:37 +00:00
Skylot
cd006ce78e
fix: improve resource type detection and remove deprecated method
2020-11-04 21:09:57 +00:00
Skylot
71bf2aa59f
fix: don't apply const split if not needed
2020-11-04 20:21:24 +00:00
Skylot
714b935474
fix: improve checks for boolean to int conversion ( #921 )
2020-11-04 19:23:57 +00:00
Skylot
2a2b83a695
fix: do not copy input files as resources to output folder
2020-11-03 18:08:57 +00:00
Skylot
acdaa95854
test(cli): add multiple input test ( #936 )
2020-11-03 17:27:15 +00:00
Skylot
278c5f6142
feat(gui): allow to load multiple files, button for add files ( #936 )
2020-11-02 18:40:55 +00:00
Skylot
8ca3cd3155
fix: don't use static vars of mutable LiteralArg class ( #1005 )
2020-11-01 15:56:29 +00:00
Skylot
2b7d7ce2cf
fix: additional casts at use place to help type inference ( #1002 )
2020-10-31 16:00:57 +00:00
Skylot
a22efc2eb6
fix: don't add cast for PHI insn ( #1002 )
2020-10-30 23:04:57 +03:00
bagipro
804c8eff91
fix(res): fixes deobfuscated resource text files saving (PR #1004 )
...
Co-authored-by: sergey-wowwow <bugi@MacBook-Pro.local >
2020-10-30 20:28:46 +03:00
Skylot
aec8ebe237
fix: reload request for correct class in method inline visitor ( #999 )
2020-10-29 21:41:35 +03:00
Alisson Lauffer
7353790ed1
fix(gui): only show renaming option for JClass, JField and JMethod (PR #1001 )
2020-10-29 20:23:36 +03:00
Skylot
e09e8e5823
chore: resolve some issues reported by sonar and lgtm
2020-10-28 14:16:50 +00:00
Skylot
92773417b3
perf(gui): reduce updates count for memory usage bar ( #1000 )
...
- disabled by default
- update only if label changed
- skip updates if app window becomes inactive
2020-10-27 12:15:04 +00:00
Skylot
12dc4fde8a
fix(gui): clear jumps history on file close
2020-10-27 11:54:11 +03:00
Skylot
d1e5186d4a
perf(res): speed up rename of deobfuscated resources
2020-10-26 12:28:41 +00:00
Skylot
d06ba95374
chore: remove unused static strings array
2020-10-26 11:15:25 +00:00
sergey-wowwow
f0e6c8ea8e
fix(res): put deobfuscated files to res/ folder (PR #995 )
2020-10-25 20:28:06 +00:00
Skylot
c94c204da2
chore: fix travis badge link
2020-10-25 22:37:46 +03:00
sergey-wowwow
71617a1c70
feat(res): fix duplicate entries and deobfuscate file names in XML resources (PR #995 )
...
* Fixes dublicates entries in XML resources
* can't use binary search on this list
* add entry config to name comparator, preserve renames by id, improve performance
* Deobf resource files
* Add break
* Changes ResourceFile
Co-authored-by: sergey-wowwow <bugi@MacBook-Pro.local >
Co-authored-by: Skylot <skylot@gmail.com >
2020-10-25 22:18:41 +03:00
Alisson Lauffer
9f684937c6
feat(gui): rename classes and fields by popup menu in tree panel (PR #993 )
2020-10-20 12:26:15 +03:00
Coin
ff6665c716
fix(gui): use correct charset when writing mapping file (PR #992 )
2020-10-17 18:51:08 +03:00
Skylot
aa8fd3c861
fix: added another enum restore pattern ( #926 )
2020-10-02 18:38:08 +01:00
Skylot
e2b42804d5
fix: resolve several issues with package rename and class reload ( #987 )
2020-10-02 16:34:38 +01:00
Skylot
0f6e942c5b
build: remove check stage in gitlab build
2020-10-01 21:55:51 +01:00
Skylot
c0a81978bf
fix(gui): allow to rename packages ( #987 )
2020-10-01 21:39:23 +01:00
Skylot
b76c882210
fix(gui): fix rename dialog pack ( #972 )
2020-09-28 19:27:48 +01:00
Skylot
14cbfbc5a4
fix: rerun signature parser on class reload ( #981 )
2020-09-28 16:19:52 +01:00
skylot
9b1761f71f
fix: prevent zipbomb forged headers attacks ( #980 , PR #982 )
2020-09-27 21:10:30 +03:00
Skylot
73ca2e0fa4
fix: move class unload to synchronized block ( #977 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-09-27 18:23:23 +01:00
Skylot
4e4c7f7d7b
fix: more visibility checks for @Override ( #984 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-09-24 17:44:29 +01:00
Skylot
33f2c3f220
fix: transform loop to for with branching at end
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-09-23 19:20:37 +01:00
Skylot
dcca0133fb
chore: update gradle and dependencies
2020-09-17 21:03:17 +03:00
Skylot
408201b69b
fix: restore enum for java 15
2020-09-17 20:13:36 +03:00
Skylot
e024628d46
chore: fix directory search for smali tests
2020-09-17 19:53:18 +03:00
Skylot
6428f29373
fix: don't add @Override for static methods ( #976 )
2020-09-17 16:47:44 +03:00
Skylot
cfaa6ab6df
fix: don't add @Override if super method is private ( #976 )
2020-09-17 16:39:55 +03:00
Skylot
91ee7565ac
fix: resolved regression in Kotlin metadata parser
2020-09-14 19:09:54 +01:00
Skylot
1bbcac2ab3
fix: handle xor on boolean ( #921 )
2020-09-13 22:06:04 +01:00
Skylot
60b2353afe
fix: adjust types for arithmetic instructions ( #921 )
2020-09-11 21:31:10 +03:00
Skylot
50cfa4c971
chore: improve error reporting in tests
2020-09-11 21:31:10 +03:00
Skylot
691bf8faca
fix: checks for casts in field access, move method inline to visitor ( #962 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-09-07 17:29:39 +01:00
Skylot
89b4ae6a6f
fix: correct type and data merge for filled-array instruction
2020-08-23 15:31:46 +01:00
Skylot
605a67932f
chore: remove unused array allocation
2020-08-22 15:33:43 +01:00
Jan S
1774dc74e3
feat(deobf): improve deobfuscated class names by including class properties and info about super class respectively implemented interfaces (PR #969 )
2020-08-21 19:18:41 +03:00
Skylot
2d641bf049
fix: don't trust type info in signature, check before apply ( #858 )
2020-08-17 22:05:13 +01:00
Skylot
94a06d9b6f
feat(gui): on mouse hover highlight identifiers with enabled actions (like 'find usage' or 'rename')
2020-08-17 17:38:48 +01:00
Skylot
a485942731
docs: add jadx logo to readme
2020-08-16 13:24:09 +01:00
Skylot
2c1b3b2480
Merge branch 'jpstotz-copyprefs' into master
2020-08-16 15:14:10 +03:00
Skylot
f1f7c70aee
chore(gui): fix locales test
2020-08-16 13:13:50 +01:00
Jan Peter Stotz
718caf8cb1
chore (gui): Add button in preferences dialog to copy the preference values in text form (json) to clipboard
2020-08-16 13:05:49 +02:00
Skylot
545cd4ec12
fix: don't inline 'null' object to make code compilable ( #964 )
2020-08-10 20:42:11 +01:00
Skylot
444ea9ec7e
fix: load .class files
2020-08-10 12:20:42 +01:00
Skylot
13609a5c44
fix: allow to inline variables around 'monitor-exit' in synchronized block
2020-08-09 15:19:54 +01:00
Skylot
d6ad21f6f9
fix: correct detection of exits in synchronized block ( #942 )
2020-08-09 17:04:54 +03:00
Skylot
593a32a689
refactor: use same instance for empty type vars annotation
2020-08-09 17:04:54 +03:00
Skylot
7fed5534eb
refactor: add method info caching to speed up initial loading
2020-08-07 19:22:01 +01:00
Skylot
1560284831
refactor: fix zip security in dex plugin, remove smali deps from jadx-core
2020-08-06 13:39:40 +01:00
Skylot
558a86739f
fix: bring back smali files support ( #961 )
2020-08-05 19:58:43 +01:00
Skylot
bfd60b733a
fix: handle method arguments in primitive types conversion ( #956 )
2020-08-04 12:26:31 +01:00
Skylot
ae26512601
fix: use internal usage info for rename, fix index refresh ( #791 )
2020-08-03 11:55:19 +01:00
Skylot
498c2f5256
Merge branch 'rename' into master
2020-08-02 13:25:15 +03:00
Skylot
459f12d61f
fix: several improvements for generics and type inference
...
- support 'extends' for generic type variables
- insert cast instructions to help type inference (#956 )
- correct move instructions insertion (to resolve types in PHI)
Signed-off-by: Skylot <skylot@gmail.com >
2020-07-31 18:47:32 +01:00
Skylot
bcd6e537e0
fix: correct parsing for array-data-payload
2020-07-30 19:25:15 +01:00
Skylot
867c3413e9
test: replace const values
2020-07-20 13:56:02 +01:00
Skylot
0f808d5c60
fix: resolve char literal incorrect print as string ( #856 )
2020-07-20 10:33:10 +01:00
Skylot
f5767dd865
fix: use recursive objects for nested inner generic classes ( #869 )
2020-07-16 14:14:06 +01:00
Skylot
631a855bac
chore: resolve deprecations in tests
2020-07-13 09:26:55 +01:00
Skylot
c616b5b03b
build: resolve gradle deprecation warnings
2020-07-11 12:51:38 +01:00
Skylot
3e9f4a5060
fix: improve limit calculation for type updates in type inference ( #854 )
2020-07-10 18:36:17 +01:00
Skylot
31434186ab
fix: improve boolean type handling in type inference
2020-07-08 12:34:21 +01:00
Skylot
e81ba1c431
build: fix latest java version for gitlab build
2020-07-06 14:16:57 +01:00
Skylot
b219ab607f
fix: exclude directories from dex convertion results
2020-07-05 19:02:14 +03:00
Skylot
cd8307f432
chore: remove unused d8 from convert plugin
2020-07-05 19:02:14 +03:00
Skylot
a720105208
chore: update dependencies
2020-07-05 19:02:14 +03:00
Skylot
34692c41f2
Merge branch 'master' into rename
...
# Conflicts:
# jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java
# jadx-gui/src/main/java/jadx/gui/ui/RenameDialog.java
2020-07-03 16:39:02 +01:00
Bet4
8a8b945eb8
fix(gui): run indexJob before rename (PR #910 )
2020-07-03 17:26:24 +03:00
M.Yasoob Ullah Khalid ☺
99569c52ac
docs: fixed grammar slightly (PR #957 )
2020-07-03 17:22:00 +03:00
Snowhite
f696dc715b
fix(gui): update Messages_zh_CN.properties (PR #959 )
...
modifying error of positional argument in Chinese search result text
2020-07-03 17:19:18 +03:00
Jan S
21b8552386
fix (gui): launch4j exe startup wrapper does not apply maximum heap configuration correctly ( #951 )
2020-06-11 17:06:43 +03:00
Skylot
4b1886700d
fix(gui): merge plugins service files ( #949 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-06-11 14:26:23 +01:00
Skylot
a83ca1f85b
fix: don't use FileChannel on ZipFs to avoid creation of temp files ( #950 )
2020-06-10 22:39:56 +01:00
Skylot
65553c156c
fix: restore android R class ( #947 ) (regression)
2020-06-06 19:19:55 +01:00
Skylot
440357d2e8
fix: allow cross-block move inline ( #946 )
...
Signed-off-by: Skylot <skylot@gmail.com >
2020-06-01 22:24:42 +01:00
Skylot
5e62b9077a
fix: resolve ClassCastException on encoded value access ( #946 )
2020-06-01 23:39:18 +03:00
Skylot
6192ced214
fix: improve type inference of type variables in method invoke ( #913 )
2020-06-01 23:39:12 +03:00
Skylot
ae31fee8dd
fix: add cast to exact type on field access ( #729 )
2020-05-29 17:53:39 +01:00
Skylot
e7b00cc76e
fix: add methods and fields types into usage info ( #729 )
2020-05-27 20:55:32 +01:00
Skylot
7d29c5d766
fix: correct skip size for sparse switch payload
2020-05-27 20:54:28 +01:00
Skylot
15776c4ce3
fix: make class public if some method going to be inlined ( #729 )
2020-05-26 21:23:27 +01:00
Skylot
d720179deb
fix: collect class usage and fix class access modifiers ( #729 )
2020-05-22 12:29:34 +01:00
Skylot
0d69e0ac97
refactor: use own dex parser instead deprecated dx lib
2020-05-21 22:02:20 +01:00
Skylot
09e267f8bc
fix: resolve generic types in method arguments ( #913 )
2020-05-17 14:58:34 +01:00
Soul Trace
705ceca42a
fix(gui): RenameDialog: Warn user if deobfuscation settings are invalid (PR #935 )
...
The rename functionality relies on deobfuscation for now - so let the user know
this and ask the user to enable deobfuscation to get rename working.
The "Force rewrite deobfuscation map file" option effectively disables
renaming, because renaming relies on deobfuscation map modification for now,
but Force rewrite rewrites the map on each file reload, destroying changes.
So. let the user know this issue instead of silent failure.
2020-05-14 22:56:35 +03:00
Skylot
58722d372e
fix: don't generate string concatenation without assign to variable
2020-05-14 12:25:42 +03:00
Skylot
f482b8b95c
fix: restart comment to escape strings in insn fallback dump
2020-05-14 12:25:42 +03:00
Jan S
21e4dee0e2
chore: exclude project build directories from code style checking (PR #934 )
2020-05-13 20:46:58 +03:00
Jan S
c7a12ad75b
fix(res): resource XML generation for parent attribute added (PR #933 , #931 )
2020-05-13 20:25:45 +03:00
Skylot
7cd77ae379
fix: try raw types to help type inference ( #913 )
2020-05-12 19:23:49 +01:00
Skylot
d59c99ddfe
fix: attach method details before OverrideMethodVisitor
2020-05-12 19:23:27 +01:00
Skylot
85760cc844
fix: replace type variables in arrays ( #913 )
2020-05-12 19:16:52 +01:00
Skylot
0692464b85
fix: mark override methods and fix return type ( #913 )
2020-05-11 21:35:00 +01:00
Skylot
3968222744
style: fix incorrect import
2020-05-10 15:46:24 +01:00
Skylot
c05368d92e
style: prefer use Stream.of method
2020-05-10 15:46:06 +01:00
Skylot
404136cd72
fix: improve type inference for generics in invoke insn ( #927 )
2020-05-10 14:20:27 +01:00
Skylot
b1d5ed0066
fix: don't modify method argument types in MethodInvokeVisitor ( #927 #836 )
2020-05-09 21:10:37 +01:00
Skylot
e22474e0a7
fix: inline move instructions to help process constructors ( #927 )
2020-05-09 15:38:18 +01:00
Skylot
45b7304630
fix: workaround for link clicks in RSyntaxTextArea ( #929 )
2020-05-08 20:01:20 +01:00
Skylot
692536c584
chore: ignore tests in tmp package
2020-05-04 15:47:30 +01:00
Skylot
4e3d85887c
fix: correctly process extended enums if class is not inner ( #924 )
2020-05-04 15:19:17 +01:00
Skylot
87852328da
fix: resolve error in SkipMethodArgsAttr if method not yet loaded ( #924 )
2020-05-04 11:50:31 +01:00
Skylot
2207cd7b52
fix: inline class constants to fix enum transform ( #916 )
2020-05-03 22:32:32 +03:00
Skylot
f3cd4e38d7
fix: check enum constructor content before removing ( #922 )
2020-05-03 22:32:32 +03:00
Skylot
2dce1c0ad9
build: update gradle and dependencies
2020-05-03 22:32:27 +03:00
Jan S
258ecad277
fix(res): XML parsing: handling of TYPE_DYNAMIC_REFERENCE entries ( #919 , PR #923 )
2020-04-29 21:47:20 +03:00
Skylot
7f5092c0d5
fix: redone shadowed fields handling ( #897 )
2020-04-27 22:29:34 +01:00
Skylot
a7f315f596
fix: split CONST used in PHI to help type inference ( #900 )
2020-04-26 20:37:34 +01:00
Skylot
4dc4aa122b
fix: don't duplicate result arg with instruction copy (breaks SSA variable assign)
2020-04-26 18:44:43 +01:00
Skylot
e3f388af11
fix(deobf): resolve NPE when package is empty (if rename is disabled)
2020-04-26 20:40:20 +03:00
Skylot
83196628c9
docs: fix issue and PR templates
2020-04-26 20:40:20 +03:00
skylot
315c07d4f6
feat(res): rename resources keys if contains unprintable chars or duplicates ( #844 ) (PR #909 )
2020-04-21 22:33:35 +03:00
Skylot
47dadf0a43
fix: use correct class for Throwable, insert catch arg name if not defined ( #896 )
2020-04-18 21:28:29 +03:00
yunlong17568
c62039f327
fix(gui): use env %JAVA_HOME% as the JRE path (PR #895 )
...
Co-authored-by: yunlong.yang <yunlong.yang@inveno.com >
2020-04-11 20:41:27 +03:00
Skylot
a5ea560edc
fix: preserve code semantics on array-for-each transform ( #893 )
2020-03-31 21:41:36 +01:00
Skylot
e09e933f9c
fix: additional checks for class signature
2020-03-22 12:12:47 +00:00
Skylot
dbd00d5a8b
refactor: use instance methods for error and warning notifications
2020-03-22 12:01:42 +00:00
Skylot
2da772df8e
fix: resolve some cases of switch in loop ( #876 )
2020-03-21 18:42:27 +00:00
Skylot
4cdad0e83e
fix: correct method exit blocks collection ( #876 )
2020-03-17 19:38:45 +00:00
Skylot
2f780da305
fix: remove enum methods after instructions check ( #884 )
2020-03-16 20:31:47 +00:00
Skylot
9d8066f4b8
fix: don't remove synthetic methods from enum ( #884 )
2020-03-16 19:06:52 +00:00
Jan S
2cc49256a9
chore(gui): optimized the text search for classes, methods and fields (PR #887 )
2020-03-15 18:55:32 +03:00
Jan S
79ab2e11f8
chore(gui): preferences dialog changed to two-column mode (PR #888 )
2020-03-15 18:21:08 +03:00
Jan S
c1f4302e62
feat(gui): allow to search for full method/field signature, not only the name (PR #880 )
2020-03-10 12:11:44 +03:00
Skylot
f66ec9168c
test: update test TestAnonymousInline
2020-03-09 22:44:30 +03:00
Skylot
37aecf72cb
Merge branch 'master' into rename
2020-03-09 19:43:40 +00:00
Bendegúz Ács
3c7be5e9be
fix: use super instead this when super member is shadowed (PR #878 )
...
* Added failing test for super member shadowing.
* Fixed new test containing incorrect variable names.
* Implemented marking super fields used in a subclass with super keyword.
* Renamed member variable in the example to reflect smali and test.
* Fixed formatting and imports.
2020-03-07 19:52:21 +03:00
Skylot
89dbae8f8e
fix: resolve NPE while compare outer generic types
2020-02-29 19:55:16 +00:00
Skylot
5eec8f754d
fix: class resolving issues ( #867 )
2020-02-29 19:24:01 +00:00
Skylot
49a82c8388
fix: method info cache error ( #868 )
2020-02-29 19:22:18 +00:00
Skylot
26bad4a1cd
fix: replace constants for arrays in annotations ( #831 )
2020-02-29 18:55:30 +00:00
Skylot
fa0a38d3aa
fix: don't use OS specific new line chars ( #861 )
2020-02-23 15:37:07 +00:00
Jan S
b56fd4d29a
chore: add inlined class name as comment (PR #865 )
...
* chore: add inlined class name as comment
* chore: adapt unit test for inlined class name as comment
2020-02-23 17:06:10 +03:00
Jan S
4520747167
fix: concurrent access may cause an java.lang.ClassCastException in JNodeCache (PR #864 )
2020-02-23 16:22:49 +03:00
Skylot
e444ecb2c7
fix: improve wildcard types compare ( #857 )
2020-02-17 19:31:13 +00:00
Skylot
1336c47d18
fix: speed up switch processing by skip not relevant exits ( #846 )
2020-02-16 15:50:02 +00:00
Skylot
519a74e8d2
fix: improve type inference for arrays ( #837 )
2020-02-16 17:12:31 +03:00
Skylot
dea7714ef3
feat: add methods information from standard library, improve generics and varargs restore ( #836 )
2020-02-16 17:12:31 +03:00
Skylot
74b88b407e
chore: add config for lgtm.com analysis
2020-02-14 19:29:24 +00:00
Skylot
57c28c61e0
fix: restore enum for several blocks in class init method
2020-02-14 18:08:37 +00:00
Skylot
87320348dd
chore: update all dependencies and gradle
2020-02-12 20:43:27 +00:00
Skylot
fcb70e69c1
fix: don't print commented case value if it is an instruction ( #850 )
2020-02-11 22:08:14 +03:00
Jan S
4859629850
fix: record inlined classes and generate Smali code for them (PR #851 , #848 )
...
* fix: additionally show smali code of all inlined classes (recursively)
* variable name corrected
2020-02-11 22:06:07 +03:00
Jan S
bd0d248fd0
fix: additionally show smali code of all inner classes (recursively) (PR #849 , #848 )
2020-02-10 22:00:32 +03:00
Skylot
c24a3edb44
fix: inline assignment instruction from same block ( #820 )
2020-02-09 14:40:27 +00:00
Skylot
d0f197ea3d
fix: shrink code if region maker add FORCE_ASSIGN_INLINE to insn ( #845 )
2020-02-09 14:36:59 +00:00
Skylot
5502d93cd5
fix: additional checks before insert move to help type inference ( #843 )
2020-02-04 18:45:27 +00:00
Skylot
073fd76aa2
chore: update actions/checkout in gradle wrapper validation ( #832 )
2020-02-04 17:19:16 +00:00
Yaroslav Yadrov
492a3f6928
feat(deobf): add classname parsing for Kotlin metadata (PR #842 , #758 )
2020-02-02 17:08:29 +03:00
Skylot
1ce8fa8bdd
fix: don't apply types if search failed ( #840 )
2020-01-28 20:07:58 +00:00
Skylot
1bb90233b9
test: NYI tests for #836 and #837
2020-01-27 19:23:35 +00:00
Skylot
49ce92f540
fix: remove move instructions with unused result ( #835 )
2020-01-24 17:37:53 +00:00
Skylot
2107da2e1a
fix: improve 'out' block detection in switch ( #826 )
2020-01-23 18:58:17 +00:00
S-trace
d98321026d
gui: RenameDialog: Unload classes in refreshTabs() before refreshing
...
This should fix possible problems with incorrect refresh for open classes.
2020-01-20 10:13:20 +03:00
S-trace
0b6fabbc71
gui: Perform classes unload in the background UnloadJob
...
This should improve interface responsibility if there are many classes
to refresh after rename.
2020-01-20 10:13:20 +03:00
Skylot
bb0fad2834
fix: resolve multi-threaded unloading
2020-01-20 10:13:20 +03:00
Skylot
08f9722e33
Merge branch 'master' into rename
2020-01-20 10:12:49 +03:00
Skylot
62ca30bbc6
fix: additional patterns to restore enum classes ( #830 )
2020-01-19 11:12:23 +00:00
S-trace
467403362d
core: ConstStorage: Use ConcurrentHashMap for values map in ValueStorage
...
Exception in thread "pool-9-thread-7" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445)
at java.util.HashMap$EntryIterator.next(HashMap.java:1479)
at java.util.HashMap$EntryIterator.next(HashMap.java:1477)
at jadx.core.dex.info.ConstStorage$ValueStorage.removeForCls(ConstStorage.java:61)
at jadx.core.dex.info.ConstStorage.removeForClass(ConstStorage.java:100)
at jadx.core.dex.nodes.ClassNode.deepUnload(ClassNode.java:290)
at jadx.core.dex.nodes.ClassNode.deepUnload(ClassNode.java:295)
at jadx.core.dex.nodes.ClassNode.reloadCode(ClassNode.java:284)
at jadx.api.JavaClass.refresh(JavaClass.java:62)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2020-01-17 10:38:15 +03:00
S-trace
265a78cd23
core: ConstStorage: Do not remove values from duplicates set in removeForCls()
...
If the constant already got duplicates - it will have duplicates even after
class reload, won't it?
But removing this constant from duplicates may break constants replacing
(just imagine a class TestClass with public static final int TEST_CONSTANT = 1;
- after reloading TestClass each "(int) 1" litheral will be replaced to
"TEST_CONSTANT" reference in each reloaded class and trivial increments will
become werid expressions (int y = x + 1; will become
int y = x + TestClass.TEST_CONSTANT;)).
2020-01-17 10:38:15 +03:00
S-trace
a0e13d0481
gui: RenameDialog: Rename tmp deobf map file too
...
Fixes /tmp/deobf_tmp_*.txt temporary files accumulation on renames.
2020-01-17 10:38:15 +03:00
S-trace
77fc6435a0
core: ConstStorage: Don't put known duplicate value to ValueStorage.values map
...
This is a microoptimization, which remove unnecessary values.put() and
values.remove() pair of operations if ValueStorage.put() is called for a
known duplicated value.
2020-01-17 10:38:15 +03:00
Skylot
cd7e5bf020
Merge branch 'master' into rename
2020-01-17 10:37:43 +03:00
Skylot
5e7388f686
refactor: fix several issues reported by sonar
2020-01-16 12:16:32 +03:00
Skylot
1047e751e6
chore: fix github action for gradle wrapper validation
2020-01-16 10:47:31 +03:00
Jonathan Leitschuh
c598871764
chore: official Gradle Wrapper Validation GitHub Action (PR #832 )
...
See: https://github.com/gradle/wrapper-validation-action
2020-01-16 10:19:39 +03:00
Skylot
2921c66834
fix: replace constants inside annotations ( #831 )
2020-01-14 19:52:03 +00:00
Skylot
7bbb083c36
refactor: small changes to switch region and region debug print
2020-01-13 19:27:52 +00:00
Skylot
531650c9f2
refactor: allow to change temp dir using system property JADX_TMP_DIR
2020-01-13 15:32:32 +03:00
Skylot
f3098741c3
test: switch with fallthrough cases ( #826 )
2020-01-08 14:26:40 +00:00
Skylot
9dbffef140
fix: deep reload for inner classes, const values and anonymous classes
2020-01-05 22:12:13 +03:00
Jan S
c97e504686
fix: additionally show smali code of inner classes (PR #824 )
2020-01-05 12:46:07 +03:00
Skylot
0c4b807caa
fix: improve ClassNode reloading and revert some changes
2020-01-03 20:46:47 +03:00
S-trace
1eca2b6cb0
core: ClassInfo: Do not ignore setting alias to original class name
...
Fixes trouble with renaming class back to its original name.
2020-01-03 06:09:26 +03:00
S-trace
17cbb3eab0
core: Fix possible NPE in DebugInfoParser.addrChange()
...
This may happen because MethodNode.unloadInsnArr() call from BlockSplitter.visit() - after it instructions[] become null.
So, try to reload method before processing its instructions array and bail if insnArr still null even after reloading method.
2020-01-03 06:09:25 +03:00
S-trace
c72f2a2c96
core: RenameReasonAttr: Do not append new reason if it is already there
...
Fixes possible "reason: invalid class name and invalid class name" comments after class refresh.
2020-01-03 06:09:23 +03:00
S-trace
610f531653
core: EnumVisitor: Do not remove ACC_ENUM access flag
...
This flag is necessary for class refresh, and should be left there.
Fixes disappearing of enum fields after class refresh.
2020-01-03 06:09:22 +03:00
S-trace
1e9b28b369
core: AType: Add FIELD_INIT and SOURCE_FILE to SKIP_ON_UNLOAD set
...
Fixes disappearing litheral values for replaced constants in switches and source file names..
2020-01-03 06:09:21 +03:00
S-trace
6d4caca6cc
core: ClassModifier: Don't skip methods with SKIP_FIRST_ARG attr
...
Skipping those methods on class refresh leads to "M.this = r1;" like
assigments appears in the inner class constructors.
Unsure is this saint or not.
2020-01-03 06:09:20 +03:00
S-trace
15953f832f
core: Do not call addConstField() on class refresh - fix constants replacing
...
There is a duplicate control in the ConstStorage.ValueStorage.add() method,
so each constant should be added only once, and not be added on class refresh.
Fixes "Replace constants" failure after renaming any node.
2020-01-03 06:09:19 +03:00
S-trace
d346ed0570
core: MethodNode: Fix possible decompilation failure on refresh inner class
...
checkInstructions() may fail with NPE:
ERROR - NullPointerException in pass: BlockSplitter in method: com.google.common.primitives.Ints.IntArrayAsList.<init>(int[], int, int):void, dex: out.dex
java.lang.NullPointerException: null
at jadx.core.dex.nodes.MethodNode.checkInstructions(MethodNode.java:159)
at jadx.core.dex.visitors.blocksmaker.BlockSplitter.visit(BlockSplitter.java:49)
at jadx.core.dex.visitors.DepthTraversal.visit(DepthTraversal.java:31)
at jadx.core.dex.visitors.DepthTraversal.lambda$visit$1(DepthTraversal.java:16)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at jadx.core.dex.visitors.DepthTraversal.visit(DepthTraversal.java:16)
at jadx.core.dex.visitors.DepthTraversal.lambda$visit$0(DepthTraversal.java:15)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at jadx.core.dex.visitors.DepthTraversal.visit(DepthTraversal.java:15)
at jadx.core.ProcessClass.process(ProcessClass.java:41)
at jadx.core.ProcessClass.generateCode(ProcessClass.java:58)
at jadx.core.dex.nodes.ClassNode.decompile(ClassNode.java:292)
at jadx.core.dex.nodes.ClassNode.decompile(ClassNode.java:271)
at jadx.core.dex.nodes.ClassNode.refresh(ClassNode.java:303)
at jadx.api.JavaClass.refresh(JavaClass.java:61)
at jadx.gui.treemodel.JClass.refresh(JClass.java:63)
...
This happens because MethodNode.unloadInsnArr() call from BlockSplitter.visit() - after it instructions[] become null.
So, try to reload method before processing its instructions array.
2020-01-03 06:09:17 +03:00
S-trace
df520a1134
core: ClassNode: Check is field really static or not in loadStaticValues()
...
Fixes appearing of the 0/null/false initializers for instance final fields.
2020-01-03 06:09:16 +03:00
S-trace
f90fc1d5ec
core: ClassNode: Load recursively missing information on refresh()
...
Fixes loss of static identifiers, comments, annotations and source file name after rename.
2020-01-03 06:09:14 +03:00
S-trace
797904afb5
gui: Perform refresh of non-displayed classes in background thread
...
After renaming some classes needs to be redecompiled to reflect new state.
Move recompilation of non-displayed classes to background thread.
This should improve performance on weak machines.
2020-01-03 06:09:13 +03:00
S-trace
489fbb5e42
gui: Improve performance of renaming
...
Fixes multiple decompilation of classes - now each class decompiled just once.
2020-01-03 06:09:12 +03:00
S-trace
9dd5a9ef89
gui: More advanced implementation of renaming
...
This implementation does not reload file after renaming, and so works faster.
2020-01-03 06:09:08 +03:00
Skylot
02213802c5
fix: make correct replacement for synthetic constructor ( #808 )
2019-12-28 08:42:39 +00:00
Skylot
8365855475
fix(gui): search only in short names of methods and fields ( #818 )
2019-12-27 18:55:11 +00:00
Skylot
55eb86d2d5
fix(gui): search class with --select-class also by not deobfuscated names
2019-12-27 18:52:28 +00:00
Skylot
0a9b944431
refactor(gui): add on finish runnable to open action
2019-12-27 18:42:07 +00:00
Skylot
f1e229193c
fix: resolve exception on assign inline
2019-12-27 21:20:14 +03:00
Skylot
04e309aeff
fix: additional checks for 'if' blocks inside loops ( #809 )
2019-12-27 21:20:14 +03:00
Skylot
99eb31b312
fix(gui): add dots for progress titles
2019-12-27 21:19:37 +03:00
Soul Trace
287275d886
fix(gui): resolve --select-class option regression (PR #816 )
2019-12-26 20:29:47 +03:00
Skylot
af6f8b5391
fix(gui): resolve exceptions during index ( #812 )
2019-12-23 22:39:06 +03:00
Hen Ry
3b9b103c3f
fix(gui): update Deutsch translation (PR #811 )
2019-12-23 20:48:17 +03:00
Skylot
0c55ab9001
fix: resolve class cast exception introduced in CodeWriter refactoring ( #810 )
2019-12-22 16:19:47 +00:00
Skylot
9c88f70740
fix(gui): load file in background thread and show progress indicator
2019-12-22 15:56:50 +00:00
Skylot
9ab003df4c
feat(gui): map back and forward mouse keys for navigation ( #807 )
2019-12-21 16:15:05 +00:00
Skylot
7f8d03d192
style: fix some sonar and compiler warnings
2019-12-21 15:37:25 +03:00
Skylot
c64ffde11f
refactor: use ICodeInfo interface instead CodeWriter
2019-12-21 12:36:54 +00:00
Hen Ry
1568008c67
fix(gui): improve Deutsch translation (PR #806 )
2019-12-20 21:34:32 +03:00
Skylot
84211576e4
fix(gui): add Deutsch to locales list ( #804 )
2019-12-19 17:20:50 +00:00
Hen Ry
553f5b063f
feat(gui): add Messages_de_DE.properties (PR #804 )
2019-12-19 20:14:46 +03:00
Skylot
f5d1f288d0
fix: don't inline constants in synchronized statement ( #799 )
2019-12-15 12:04:24 +00:00
Skylot
a2df92dd68
fix(gui): correct app close on menu exit action
2019-12-14 15:14:20 +00:00
Skylot
1c6e51f8b2
fix: allow to regenerate class code ( #791 )
2019-12-13 18:37:10 +00:00
Soul Trace
ef5da49bc0
fix(xml): reset nsMap in parse method (PR #798 #796 )
...
Fixes injection of xmlns: attributes from other files (#796 )
2019-12-13 21:16:08 +03:00
Skylot
7545625af4
test: add NYI test for empty finally block ( #789 )
2019-12-10 22:10:27 +03:00
Soul Trace
e3055b95f6
feat(gui): support for renaming methods, classes and fields (PR #794 #791 )
...
* Add getRealFullName() to ClassNode and JavaClass and searchJavaClassByRealName() to JadxWrapper
Those methods is like getFullName() and searchJavaClassByClassName(), but for class names without aliases.
It is necessary for renaming classes/methods/fields.
* core: Make getFieldNode(), getMethodNode() and getRoot() public
This is necessary for renaming functionality
* jadx-gui: Add Rename popup menu entry (renames classes, methods and fields)
It allows user to rename classes, methods and fields.
It updates deobfuscation map and reload file.
This may be suboptimal, and maybe some RenameVisitor should be added.
Deobfuscation should be enabled in order to allow this.
2019-12-10 22:08:27 +03:00
Soul Trace
78eed8629c
feat(gui): reopened tabs on file reload (PR #793 #792 )
...
* Add getRealFullName() to ClassNode and JavaClass and searchJavaClassByRealName() to JadxWrapper
Those methods is like getFullName() and searchJavaClassByClassName(), but for class names without aliases.
It is necessary for renaming classes/methods/fields.
* MainWindow: Try to restore open tabs on deobfuscation toggle
Restore open tabs if possible when user toggles deobfuscation mode.
Try to scroll to the position before toggling deobfuscation mode (may be not exact cause of the comments).
2019-12-10 21:41:57 +03:00
Skylot
cc29da8e81
build: fix release build
2019-12-07 15:31:24 +00:00
Skylot
d1a6841c20
fix: inline assign in complex conditions ( #699 )
2019-11-30 16:32:29 +00:00
Skylot
600842a1a6
fix: resolve error if input file don't has extension
2019-11-30 16:22:09 +00:00
Skylot
8ba3e935a5
build: update dependencies and gradle
2019-11-24 20:34:36 +00:00
Skylot
87504dd2cc
refactor: additional checks for ssa vars and registers
2019-11-24 20:33:19 +00:00
Skylot
e4e6f37949
fix: sort inner classes and methods by source lines
2019-11-19 20:05:21 +00:00
Skylot
4b314e9d99
fix: don't eliminate StringBuilder if no String arg present
2019-11-19 18:26:12 +00:00
Skylot
a48ce296b8
fix: resolve code generation error for interface methods ( #775 )
2019-11-05 09:31:12 +00:00
Jan S
cf3e17c4b8
feat(gui): support APK signature v3 (PR #773 )
2019-11-01 19:31:24 +03:00
Skylot
bae36f9720
fix: merge const block before return ( #699 )
2019-10-31 15:47:29 +00:00
Skylot
11db454b84
fix: duplicate result arg on instruction copy
2019-10-30 20:59:14 +00:00
Skylot
1b60c1d1a8
test: print smali code for debug purpose
2019-10-30 13:42:58 +00:00
Skylot
8321d5e380
fix: preserve arg type on PHI insn inline ( #718 )
2019-10-28 17:19:52 +00:00
Skylot
64c9ce2ab0
build: update sonarqube
2019-10-27 19:35:43 +00:00
Skylot
08f9a90c95
fix: force cast for null args in method invoke (temp fix for #724 )
2019-10-27 16:53:25 +00:00
Skylot
9f06d6744e
fix: increase region iterative traversal limit ( #767 )
2019-10-27 16:19:58 +00:00
Skylot
f228a72118
fix(gui): fix search if class contains not generated inner class ( #755 )
2019-10-21 18:46:55 +01:00
Jan S
3249a5e0bc
fix: workaround for IntelliJ bug on import line in build.gradle (PR #766 )
2019-10-17 20:23:44 +03:00
Skylot
d1ac43de33
fix(gui): add default contructor for classes serialized with GSON ( #752 )
2019-10-17 17:35:01 +03:00
Skylot
00f5e83506
fix: handle incorrect args count in signature ( #763 )
2019-10-17 16:51:06 +03:00
Skylot
d3ecc1f640
fix: add dummy class if class loading exception occur ( #763 )
2019-10-17 16:51:03 +03:00
Jan S
902247fcdb
fix: don't stop loading classes in case of an error (PR #764 )
...
* fix: don't stop loading classes in case of an error
* style: reformat code
2019-10-15 20:25:18 +03:00
Skylot
bd9e1096cc
fix: handle methods with all NOPs ( #744 )
2019-08-30 15:37:38 +01:00
Skylot
db892adf34
fix: don't run class process from visitors to avoid deadlock ( #743 )
2019-08-27 17:24:18 +01:00
Skylot
1cbaad3ec9
fix: make correct class members loading in jadx api ( #742 )
2019-08-25 19:53:12 +01:00
Skylot
401d08ea49
refactor: move all smali libs usage to one utility class
2019-08-21 14:45:32 +01:00
Skylot
ba17f7bc00
refactor: move type with outer generic to different class
2019-08-15 21:43:57 +01:00
Skylot
db2b537380
fix: try to resolve generic type variables ( #662 )
2019-08-15 21:39:43 +01:00
Skylot
06f26ef8f5
refactor: use enum for wildcard bounds instead of int
2019-08-15 14:31:30 +01:00
Skylot
a71bb7a532
fix(gui): yet another fix for broken find usage action
2019-08-12 10:32:38 +01:00
Skylot
99934b5100
chore: update dependencies
2019-08-12 10:05:24 +01:00
Skylot
ff5f6fca3c
fix(gui): fix "Go to declaration" and "Find usage" menu actions
2019-08-11 22:03:47 +03:00
Skylot
3578f7d68f
fix(gui): use editor font on tabs
2019-08-11 21:40:46 +03:00
Skylot
7bc01dcfa8
fix(gui): ignore mouse click on empty space in tree ( #737 )
2019-08-11 19:39:05 +03:00
Skylot
bc7a748420
feat(cli): add options for change log level ( #735 )
2019-08-08 13:14:36 +03:00
Skylot
c0194d025d
refactor: fix misuse of immutable type flag
2019-08-03 17:31:13 +03:00
Skylot
19ca8a096b
chore: resolve minor code issues in debug info parser
2019-08-03 14:19:54 +03:00
Skylot
cf5bfc297b
test: fix regression for code auto check
2019-08-02 21:05:03 +03:00
Skylot
a17f9136dd
refactor: enable class unloading after code generation
2019-08-01 23:29:30 +03:00
Skylot
7d07fb0b77
chore: fix issues reported by lgtm.com
2019-08-01 12:14:29 +03:00
Skylot
99935bada6
docs: update readme and contributing rules
2019-07-31 21:40:23 +03:00
Skylot
be9dae57b9
fix: add explicit cast for byte literal in method invoke ( #719 )
2019-07-30 22:46:28 +03:00
Skylot
4629043721
fix: convert inner enums and fix inner classes reference ( #719 )
2019-07-30 20:49:31 +03:00
Skylot
068234f0ca
fix: remove synchronization lock for code generation ( #726 )
2019-07-29 14:55:50 +03:00
Skylot
ccb8ed1394
fix: add assign for inlined getter methods
2019-07-29 12:48:38 +03:00
Skylot
8d68d409eb
test: another deboxing issue
2019-07-28 21:09:56 +03:00
Skylot
e842e022ba
fix: use nice name for 'package-private' in modifiers change message
2019-07-28 20:42:07 +03:00
Skylot
1e6b30343c
fix: several improvements for multi-variable type search ( #720 )
2019-07-28 20:22:28 +03:00
Skylot
ddedb8d8a0
fix: don't override type of method parameter in const deboxing ( #723 )
2019-07-26 16:14:27 +03:00
Skylot
472aa52706
fix: resolve some multi-thread issues
2019-07-25 21:53:37 +03:00
Skylot
ab97084058
refactor: move passes list to root node
2019-07-25 17:54:04 +03:00
Skylot
0911b2dc2f
test: NYI test for issue #722
2019-07-24 17:00:05 +03:00
Skylot
fd7d08cb10
feat: initial deboxing implementation ( #717 )
2019-07-23 20:37:37 +03:00
Skylot
3ae8359408
fix: improve exception handler remove ( #703 )
2019-07-22 20:38:16 +03:00
Skylot
6b76a3c787
fix: protect method from second load
2019-07-22 18:43:02 +03:00
Skylot
9fbf9ef667
fix(gui): compare files extension in case insensitive way
2019-07-22 18:43:02 +03:00
Skylot
c8de7b97dd
fix: instead commenting move constructor call to the top ( #704 )
2019-07-21 19:45:22 +03:00
Skylot
b32dc17dd7
fix: don't change AST before checks in ternary transform ( #710 )
2019-07-20 21:33:20 +03:00
Skylot
7c53b985cd
refactor(gui): remove JCertificate node
2019-07-19 18:19:08 +03:00
Skylot
c8df26f227
feat(gui): add class links for AndroidManifest.xml and other minor fixes
2019-07-19 18:03:40 +03:00
Skylot
3bc9671905
perf(gui): speed up line numbers rendering ( #714 )
2019-07-18 23:19:06 +03:00
Skylot
7fd959e6e3
refactor: improve variables handling in instruction wrapping
2019-07-17 22:53:00 +03:00
Skylot
24dc68652e
fix: check that iteration variable in for-each loop not used outside ( #708 )
2019-07-17 22:42:33 +03:00
Skylot
aad2d24c58
fix: unbind unused ssa variable after ternary conversion ( #708 )
2019-07-16 19:44:48 +03:00
Skylot
15d56abeb6
fix: read correct buffer size for string pool parsing ( #712 )
2019-07-15 21:19:58 +03:00
Skylot
d89ec67888
style: resolve compiler warnings
2019-07-15 17:12:40 +03:00
Skylot
f9f840fb9d
refactor: remove redundant FieldArg and change arith one arg insn
2019-07-15 17:01:02 +03:00
Skylot
8e8a2faa10
fix(res): skip string if parsing failed ( #712 )
2019-07-14 17:06:19 +03:00
Skylot
0c2784bb42
refactor: inline fields in arithmetic operations
2019-07-14 15:09:01 +03:00
Skylot
c555cd0825
fix: rename packages with reserved names ( #711 )
2019-07-14 13:13:00 +03:00
Skylot
92e28326a4
misc: don't add same edge insn several times
2019-07-13 13:24:52 +03:00
Skylot
2dbdd1f079
fix: support instructions removing in SimplifyVisitor
2019-07-13 13:19:58 +03:00
Skylot
fc58022d56
misc: show shorter exception stacktrace in code
2019-07-13 13:17:22 +03:00
Skylot
ed9fe8a573
fix: incorrect init values of inherited fields
2019-07-13 13:10:23 +03:00
Skylot
49e234d9f8
fix: improve finally extraction
2019-07-12 23:26:46 +03:00
Skylot
a587ce88ea
fix: ignore finally extraction with only one 'if' instruction ( #709 )
2019-07-12 21:21:14 +03:00
Skylot
a530371b6f
fix: improve StringBuilder elimination ( #704 )
2019-07-11 20:07:14 +03:00
Skylot
0c5a83c021
style: fix code style in test
2019-07-10 21:32:11 +03:00
Skylot
12bb632371
fix: always cast null objects in overloaded method ( #707 )
2019-07-10 21:11:02 +03:00
Skylot
e4fc6774b1
fix: make correct hash calculation for GenericObject type ( #705 )
2019-07-10 16:58:52 +03:00
Skylot
f57dfb3f2e
test: check method override with generic arguments ( #701 )
2019-07-09 13:08:32 +03:00
Skylot
c3f7a049d8
fix: ignore incorrect dex files in apk ( #700 )
2019-07-08 12:24:54 +03:00
Skylot
3eee83c2f2
fix: adjust insn reorder check in code shrink visitor ( #695 )
2019-07-07 14:18:21 +03:00
Skylot
ed8c662631
fix: add generic types propagation ( #695 )
2019-07-06 19:12:31 +03:00
Skylot
850df18d7c
refactor: update duplicate methods in InsnArg classes
2019-07-05 20:55:00 +03:00
Skylot
7f4da306c9
refactor: remove cloning library dependency
2019-07-05 20:45:28 +03:00
Skylot
424a8ffaf4
fix: inline constant strings ( #685 )
2019-07-05 19:10:57 +03:00
Skylot
8410e62531
fix: force one branch ternary in constructors ( #685 )
2019-07-05 17:14:46 +03:00
Skylot
533b686e0b
fix: comment out instructions also before other constructor call ( #685 )
2019-07-05 17:05:38 +03:00
Skylot
c6c54f90dc
fix: comment out instructions before super call in constructor ( #685 )
2019-07-03 14:39:21 +03:00
Kend
0f5fd4e48a
fix(gui): update Chinese translation (PR #697 )
2019-06-27 12:39:48 +03:00
Skylot
a7247e8a88
build: remove unused test-app submodule
2019-06-27 11:59:25 +03:00
Skylot
c10a30346b
style: reformat gradle files
2019-06-27 11:53:56 +03:00
Skylot
436e86fdf2
build: update gradle and dependencies
2019-06-27 11:16:44 +03:00
Jan S
29a137bde3
fix: jadx-gui.bat and jadx.bat do not work ( #692 ) (PR #694 )
2019-06-21 17:44:45 +03:00
Skylot
f02a33ace3
fix: ignore NOPs in try-catch ( #668 )
2019-06-19 21:32:10 +03:00
Skylot
9c34a3154d
build: reorder sections in release notes
2019-06-18 20:16:40 +03:00
skylot
ed385e8cf1
feat: output decompilation results in json format ( #676 )
2019-06-18 16:06:56 +03:00
Skylot
554e119eb9
fix: don't rename constructors
2019-06-15 13:59:14 +03:00
Skylot
aad70c7199
perf: cache types in dex nodes
2019-06-12 14:42:29 +03:00
Skylot
a051ce6cf4
fix(scripts): support spaces in java path for windows scripts ( #686 )
2019-06-10 14:46:08 +03:00
skylot
40f19cce61
docs: add issue template
2019-06-06 13:33:47 +03:00
Skylot
b158858349
fix: prevent NPE while processing try/catch regions ( #673 )
2019-05-29 15:50:33 +03:00
Antonello
d6737860bb
docs: added macOS installation with brew documentation (PR #675 )
2019-05-29 15:47:50 +03:00
Skylot
123ba2baf1
fix: workaround for primitive values if type resolved incorrectly ( #671 )
2019-05-25 18:31:51 +03:00
Skylot
f2f8936cd1
chore: fix indent of first line in fallback mode
2019-05-24 22:27:27 +03:00
Skylot
f0f5c26896
fix: store condition blocks in 'if' region for correct blocks list ( #669 )
2019-05-24 17:36:18 +03:00
Skylot
6c61ce52a3
fix: handle cases with SSA variable used in several PHI's ( #667 )
2019-05-23 22:43:13 +03:00
Skylot
1830c273c0
fix: handle NOP instructions in unexpected places ( #666 )
2019-05-19 22:02:46 +03:00
Skylot
5efe4bd845
fix: add labels from NOP instructions in fallback mode ( #666 )
2019-05-19 18:47:06 +03:00
Skylot
75a6714057
fix: regenerate method code if unexpected instruction is found ( #462 )
2019-05-17 20:01:01 +03:00
Skylot
6339cc2088
chore: remove debug method invoke
2019-05-17 18:10:43 +03:00
Skylot
98e4c4b48d
fix: merge new-array and fill-array-data with move between ( #462 )
2019-05-16 21:18:09 +03:00
Skylot
9d5dda12be
fix: handle anonymous class self inlining ( #604 )
2019-05-16 21:18:01 +03:00
Skylot
84b9f11120
fix: improve errors handling
2019-05-16 13:07:00 +03:00
Skylot
2383c40105
fix: correct arg replace in PHI instruction ( #462 )
2019-05-15 19:04:54 +03:00
Skylot
305cf5379d
fix: UnsupportedOperationException in overloaded method process ( #462 )
2019-05-15 17:01:52 +03:00
Skylot
9189f23e3e
refactor(gui): rename Utils class due to clash with class from core
2019-05-15 17:01:52 +03:00
Skylot
628263343b
fix(gui): use alias for field and method types in tree view
2019-05-15 17:01:52 +03:00
Skylot
19cf7c9f14
refactor: improve multi line warning print
2019-05-15 17:01:52 +03:00
Skylot
363cd85ba6
refactor: remove useless array creation
2019-05-15 17:01:52 +03:00
Skylot
7bb752715f
fix: NPE if loading local file from CLI (jadx sample.apk)
2019-05-15 17:01:52 +03:00
Skylot
9622c948c9
refactor: use mode flags instead ThreadLocal in type inference
2019-05-15 17:01:52 +03:00
Skylot
baea5247f4
test: type inference issue ( #462 )
2019-05-15 17:01:52 +03:00
Skylot
0ca2789a18
fix: prevent stack overflow in type inference if update tree is too deep
2019-05-15 17:01:52 +03:00
Skylot
119709b844
fix: stack overflow cause lamdba throw BootstrapMethodError in JDK 8
2019-05-15 17:01:52 +03:00
Jan S
1c914ff286
fix(gui): back button was defect since #653
2019-05-15 16:23:35 +03:00
Skylot
31a02a70a0
fix: rename class if all chars not printable ( #622 )
2019-05-10 22:43:00 +03:00
Jan S
8e0df4c423
fix(gui): printUsage for jadx-gui now shows the new gui only parameter(s) (PR #660 )
2019-05-10 22:42:32 +03:00
Skylot
86a4ed7fb3
refactor: store all temp files in one temp dir, use NIO api instead commons-io
2019-05-10 21:27:45 +03:00
Skylot
19c57258fe
fix: improve rename checks and show rename reason ( #584 )
2019-05-10 21:10:04 +03:00
Jan S
fef3e55c55
feat(gui): select a class to open via command-line (PR #658 )
2019-05-10 21:06:54 +03:00
Jan S
6f973ca2af
feat(cli): decompile only a single class (PR #657 )
2019-05-08 19:06:49 +03:00
Jan S
4b73d24d4b
fix(gui): separate SearchBar for Java and Smali code areas (PR #653 )
2019-05-06 20:58:13 +03:00
Jan S
65818dccb1
feat(gui): save the class tree width and restore it upon jadx-gui start (PR #606 )
2019-05-06 20:54:52 +03:00
Skylot
7ac0b9f57c
fix: redone class alias processing ( #532 )
2019-05-06 17:59:35 +03:00
Skylot
699f7f6716
fix: treat filesystem as case insensitive by default, option added for change
2019-05-05 22:34:34 +03:00
Skylot
dae882d55c
fix: improve generated code on errors
2019-05-05 18:23:37 +03:00
Skylot
c0a0bba5d8
style: add design checkstyle rules
2019-05-04 11:13:02 +03:00
Skylot
52ba33c5a3
fix: avoid local variables collision with full class names ( #647 )
2019-05-03 22:40:18 +03:00
Skylot
156c979842
fix: search smali class by original name
2019-05-03 18:32:36 +03:00
Skylot
f846df5371
fix: rename field if collide with any root package ( #647 )
2019-05-03 18:05:45 +03:00
Jan S
4a39af7cb3
feat(gui): make search bar usable for smali code (PR #652 )
2019-05-01 00:17:08 +03:00
skylot
c7890f2468
style: enforce code style using checkstyle and spotless with eclipse formatter (PR #650 )
2019-04-30 00:04:16 +03:00
Ahmed Ashour
e1dfb4ee59
fix: byte to number without cast ( #596 ) (PR #638 )
2019-04-29 16:08:28 +03:00
Ahmed Ashour
031582dd55
feat(gui): show smali ( #197 ) (PR #635 )
2019-04-29 16:07:31 +03:00
Ahmed Ashour
745c52e8db
fix(gui): closing jadx main window terminates JVM ( #639 ) (PR #641 )
2019-04-29 15:53:00 +03:00
Ahmed Ashour
cab3f5daa7
fix: always use FileUtils.createTempFile (PR #634 )
2019-04-25 20:25:55 +03:00
Ahmed Ashour
77cee15d64
fix: add cast for null in overloaded methods ( #636 ) (PR #637 )
2019-04-25 20:24:37 +03:00
Skylot
e7e7b664dd
feat: add option to disable anonymous class inline ( #633 )
2019-04-25 12:37:52 +03:00
Ahmed Ashour
db7f2cf548
fix: loading aar/jar files ( #631 ) (PR #632 )
2019-04-25 11:11:03 +03:00
Ahmed Ashour
58365a8907
fix(gui): remove tree children expansions as well (PR #630 )
2019-04-24 19:45:36 +03:00
Ahmed Ashour
172f7f7534
fix(gui): preserve main window maximized state (PR #626 )
2019-04-24 19:42:13 +03:00
Ahmed Ashour
05e5c82c9b
fix: remove redundant cast over similar conditions (PR #612 )
2019-04-24 19:34:10 +03:00
Ahmed Ashour
30fbf4bcfa
refactor: better place for removing parenthesis (PR #627 )
2019-04-24 19:33:05 +03:00
Ahmed Ashour
9645f33c7b
fix: bitwise or/and with non-boolean ( #628 ) (PR #629 )
2019-04-24 19:31:49 +03:00
Skylot
336d6ce189
fix(gui): use same font loader as code viewer ( #584 )
2019-04-23 21:30:03 +03:00
Skylot
f283ef4342
fix: improve class renaming and add checks for class alias usage ( #532 )
2019-04-22 21:31:27 +03:00
Skylot
41abbb12a0
fix: resolve check cast exception in string constructor simplify
2019-04-22 16:55:47 +03:00
Skylot
89b80900f0
fix: produce more deterministic code
2019-04-22 16:55:47 +03:00
Skylot
f1539d2e37
fix: resolve NPE due to not yet processed class ( #595 )
2019-04-22 16:55:47 +03:00
Ahmed Ashour
84ef6d0049
test: add test case for #596 (PR #619 )
2019-04-22 16:53:27 +03:00
Ahmed Ashour
aa41a4d93b
feat(gui): add "Go To Declaration" in menu (PR #618 )
2019-04-22 16:52:42 +03:00
Skylot
616752759b
chore: fix some issues reported by sonar
2019-04-21 16:34:31 +03:00
Skylot
dc004f37ee
style: fix code formatting
2019-04-21 16:23:34 +03:00
sergey-wowwow
cfbbd99bb8
fix(gui): use command (CMD) button for MacOS ( #165 ) (PR #616 )
2019-04-21 16:18:49 +03:00
sergey-wowwow
c74b7f20a5
fix: generates XML key names if empty ( #394 ) (PR #615 )
2019-04-21 14:26:07 +03:00
Ahmed Ashour
9d22b3caa8
fix(gui): sort classes by case insensitivity (PR #613 )
2019-04-20 20:03:27 +03:00
Ahmed Ashour
f8039733cc
feat(gui): save tree expansions in project (PR #605 )
2019-04-20 20:02:00 +03:00
Ahmed Ashour
87ca14afea
test: add test case for incorrect continue (PR #611 )
2019-04-20 19:37:12 +03:00
Ahmed Ashour
c134329ce9
fix: cast of int-to-(number) when int is boolean ( #596 ) (PR #602 )
2019-04-20 19:29:41 +03:00
Ahmed Ashour
2148d4b0f5
test: add test case for #597 (PR #603 )
2019-04-15 21:25:47 +03:00
Ahmed Ashour
632cc3ec16
fix: add primitive cast in ternary for byte and short (PR #601 )
2019-04-15 18:09:01 +03:00
Ahmed Ashour
bcfed5b362
fix: generics constructor types (PR #594 )
2019-04-14 22:01:08 +03:00
Skylot
4cb9f23a7d
fix: inline anonymous classes with not default constructor ( #450 )
2019-04-14 19:02:42 +03:00
Ahmed Ashour
0aa7173e83
chore: upgrade smali to 2.2.7 (PR #593 )
2019-04-14 15:30:21 +03:00
Ahmed Ashour
b1b49e6195
fix: remove declaration of unused variable (PR #590 )
2019-04-14 14:29:38 +03:00
Ahmed Ashour
d23f4ac16a
feat: support smali files ( #391 ) (PR #588 )
2019-04-14 12:05:07 +03:00
Ahmed Ashour
01da127c4e
fix: remove generics cast when object types match ( #591 ) (PR #592 )
2019-04-14 11:39:27 +03:00
Skylot
ccb9c46005
style: fix imports and indents
2019-04-12 18:23:41 +03:00
Ahmed Ashour
01dfae4ac7
test: add test case for anonymous type, and move assertions to NYI (PR #589 )
2019-04-12 18:15:08 +03:00
Ahmed Ashour
395cae439e
fix: handle NPE for methods with removed instructions ( #342 ) (PR #583 )
2019-04-12 18:12:38 +03:00
Ahmed Ashour
eb77aa51b2
fix: conditions in ternary if ( #449 ) (PR #558 )
2019-04-12 18:11:22 +03:00
Ahmed Ashour
ac1d1a5858
fix(gui): disable all components on saving the settings (PR #586 )
2019-04-12 18:10:16 +03:00
Ahmed Ashour
74a72a5ce0
feat: add options to configure "renaming" ( #570 ) (PR #582 )
2019-04-12 18:08:50 +03:00
Ahmed Ashour
a1bfdc6323
fix: remove static field redundant array type when initialized (PR #580 )
2019-04-11 13:07:14 +03:00
Ahmed Ashour
0720992998
test: add test case for #130 (PR #578 )
2019-04-09 19:10:47 +03:00
Ahmed Ashour
ef28875a8e
test: add test case for #43 (PR #576 )
2019-04-09 19:02:04 +03:00
Ahmed Ashour
10fb57f6fb
test: add test case for #101 (PR #577 )
2019-04-09 18:45:40 +03:00
Ahmed Ashour
7186a4a2d7
test: add two cases for switch-try-break combination (PR #575 )
2019-04-09 18:04:16 +03:00
Ahmed Ashour
ab4721a8b3
fix: don't rename R class in deobfuscation ( #572 ) (PR #573 )
2019-04-09 17:39:59 +03:00
Ahmed Ashour
23c05bb5f6
fix: search in resource classes by original name, not by alias ( #562 ) (PR #571 )
2019-04-09 17:36:51 +03:00
Ahmed Ashour
fe41174be8
feat: add generic method information to .jcst (PR #564 )
2019-04-09 17:35:34 +03:00
Ahmed Ashour
513766d45b
fix: remove field redundant array type when initialized (PR #567 )
2019-04-08 17:21:07 +03:00
Ahmed Ashour
79ccaadaff
fix: handle big .jar files (using multi-dex option) ( #390 ) (PR #568 )
2019-04-08 17:20:04 +03:00
Ahmed Ashour
ecaa87e7ae
fix: remove redundant array type when initialized with declaration (PR #566 )
2019-04-08 13:07:34 +03:00
Ahmed Ashour
0a08d8b653
fix(gui): NPE if the autosave is enabled and project is initial (PR #565 )
2019-04-08 13:05:22 +03:00
Ahmed Ashour
7b18d3a3a8
fix: ignore not generated insns in CodeShrinker visitor (PR #560 )
2019-04-08 13:04:45 +03:00
Ahmed Ashour
058e4c9fd7
fix: remove redundant wrapping for same arith operations (PR #559 )
2019-04-04 15:22:05 +03:00
Ahmed Ashour
9d257cd115
fix(res): ignore resource entry with -1 key ( #556 ) (PR #557 )
2019-04-03 12:11:33 +03:00
Ahmed Ashour
1e5541175e
fix: move test class and rename GUI message (PR #555 )
2019-04-02 23:05:58 +03:00
Ahmed Ashour
bae7f1b09c
fix: field increment (PR #550 )
2019-04-02 12:10:44 +03:00
Ahmed Ashour
e6e8f6367e
fix: variable usage with enhanced for loop ( #535 ) (PR #547 )
2019-04-01 21:07:28 +03:00
Ahmed Ashour
3970fce503
test: use NYI instead of comment (PR #551 )
2019-04-01 21:05:51 +03:00
Ahmed Ashour
eda2272430
chore: use functional interface instead of ISettingsUpdater (PR #548 )
2019-04-01 15:33:47 +03:00
Ahmed Ashour
207ce6cbbe
chore: fix "unused" warnings (PR #549 )
2019-04-01 15:19:09 +03:00
Ahmed Ashour
1d3e6ecbcf
chore: use lambda (PR #544 )
2019-03-31 21:36:11 +03:00
Ahmed Ashour
a5a951cfa1
test: add test case for #535 (PR #545 )
2019-03-31 21:34:18 +03:00
Ahmed Ashour
a6f935ed68
fix: close resource (PR #546 )
2019-03-31 21:33:45 +03:00
Ahmed Ashour
b09c7ba6b8
feat(gui): support project ( #526 ) (PR #543 )
2019-03-31 20:20:27 +03:00
Ahmed Ashour
ec66476ac6
fix: better String constructor from byte and char arrays ( #530 ) (PR #533 )
2019-03-31 20:17:14 +03:00
Skylot
008216d599
fix: don't cast overloaded methods with generics from other class ( #448 )
2019-03-30 20:50:12 +03:00
Skylot
4a92275adb
test: allow use Eclipse compiler in tests ( #536 )
2019-03-29 16:25:52 +03:00
Ahmed Ashour
6fca311de0
test: add test case for #536 (PR #537 )
2019-03-29 16:10:33 +03:00
Skylot
8e279f55f1
style: fix editorconfig to preserve formating in IntelliJ Idea
2019-03-29 12:42:02 +03:00
Skylot
2caac21b73
test: limit auto check execution time
2019-03-29 12:40:51 +03:00
Skylot
c5d977baca
test: always use runtime compiler for build dex ( #536 )
2019-03-29 12:39:58 +03:00
Ahmed Ashour
b5344f4577
fix: redundant byte and short cast ( #538 ) (PR #539 )
2019-03-29 11:33:39 +03:00
Ahmed Ashour
0fa3842a70
test: warn about compiler not found (PR #540 )
2019-03-29 11:27:11 +03:00
Ahmed Ashour
6fc7c7a462
chore: don't create unneeded StringBuilder (PR #541 )
2019-03-29 11:23:42 +03:00
Ahmed Ashour
98dbd48890
chore: better logging ( #528 )
2019-03-28 14:27:48 +03:00
Ahmed Ashour
55fc498359
refactor: use Path instead of File (PR #527 )
2019-03-27 20:40:13 +03:00
Ahmed Ashour
ba6dd081e9
fix(gui): add missing translations keys, and ensure all files match (PR #525 )
2019-03-27 20:10:30 +03:00
Skylot
7cdb0318b1
style: resolve some sonar warnings
2019-03-27 14:07:16 +03:00
Skylot
17d8516d3b
fix: made correct instructions remove in new filled array replacement ( #461 )
2019-03-27 13:30:01 +03:00
Ahmed Ashour
b78349aef7
fix: handle boolean condition with bitwise OR and AND ( #202 ) (PR #522 )
2019-03-27 11:41:56 +03:00
Skylot
eb141ad12b
test: add tests for #474
2019-03-26 23:13:11 +03:00
Skylot
b446bf275c
refactor: move filesystem case sensitivity value to JadxArgs
2019-03-26 23:12:17 +03:00
Ahmed Ashour
b7109b1b2b
test: remove commented code and style fixes (PR #520 )
2019-03-26 21:04:22 +03:00
Ahmed Ashour
3537f849ef
fix(gui): detect if a window is opened inside a visible screen (PR #521 )
2019-03-26 19:43:23 +03:00
Ahmed Ashour
9557f04fe7
test: add test case for #202 (PR #519 )
2019-03-26 19:41:16 +03:00
Skylot
1bb53329b5
fix: use alias as a base for class rename if file system is case sensitive ( #474 )
2019-03-26 19:13:40 +03:00
Skylot
e026345a45
feat: new implementation for type inference approach and variable declaration
...
BREAKING CHANGE: some parts of jadx was rewritten from scratch
- type inference
- variable declaration
- `finish` block extraction
2019-03-26 16:16:54 +03:00
Skylot
3492ec3517
fix: change exception to soft warning for getType in RegisterArg
2019-03-26 15:44:32 +03:00
Ahmed Ashour
eb2a1734d3
fix: xor with boolean ( #409 ) (PR #516 )
2019-03-26 15:29:39 +03:00
skylot
aa8a7c03c3
style: enforce strict style rules with editorconfig (PR #510 )
2019-03-26 14:21:47 +03:00
Ahmed Ashour
36ee994eb8
test: add test case for "xor with boolean" ( #409 ) (PR #514 )
2019-03-25 19:53:59 +03:00
Ahmed Ashour
65544c64bf
test: warn about compiler not found, and gracefully report failure (PR #511 )
2019-03-25 16:09:15 +03:00
wwj402
b49acfdacf
fix(gui): update chinese simplified language (PR #508 )
2019-03-24 23:05:23 +03:00
Skylot
29d3ce15a8
fix: rename parameters in annotations ( #504 )
2019-03-24 16:59:55 +03:00
Skylot
84cb6b9569
Merge branch 'master' into type-inference-wip
...
# Conflicts:
# jadx-core/src/main/java/jadx/core/codegen/NameGen.java
# jadx-core/src/main/java/jadx/core/dex/attributes/AttributeStorage.java
# jadx-core/src/main/java/jadx/core/dex/attributes/nodes/PhiListAttr.java
# jadx-core/src/main/java/jadx/core/dex/instructions/IndexInsnNode.java
# jadx-core/src/main/java/jadx/core/dex/instructions/InsnDecoder.java
# jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java
# jadx-core/src/main/java/jadx/core/dex/instructions/args/RegisterArg.java
# jadx-core/src/main/java/jadx/core/dex/instructions/args/SSAVar.java
# jadx-core/src/main/java/jadx/core/dex/regions/conditions/IfRegion.java
# jadx-core/src/main/java/jadx/core/dex/visitors/ModVisitor.java
# jadx-core/src/main/java/jadx/core/dex/visitors/blocksmaker/helpers/BlocksPair.java
# jadx-core/src/main/java/jadx/core/dex/visitors/blocksmaker/helpers/BlocksRemoveInfo.java
# jadx-core/src/main/java/jadx/core/dex/visitors/debuginfo/LocalVar.java
# jadx-core/src/main/java/jadx/core/dex/visitors/regions/ProcessVariables.java
# jadx-core/src/main/java/jadx/core/dex/visitors/shrink/CodeShrinkVisitor.java
# jadx-core/src/main/java/jadx/core/xmlgen/entry/EntryConfig.java
2019-03-24 12:38:20 +03:00
Skylot
a848eab407
Merge branch 'master''
2019-03-24 12:24:57 +03:00
Skylot
e1f4955286
Merge branch 'master' into type-inference-wip
...
# Conflicts:
# jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java
# jadx-core/src/main/java/jadx/core/Jadx.java
# jadx-core/src/main/java/jadx/core/dex/attributes/AFlag.java
# jadx-core/src/main/java/jadx/core/dex/attributes/AType.java
# jadx-core/src/main/java/jadx/core/dex/visitors/regions/LoopRegionVisitor.java
# jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMakerVisitor.java
# jadx-core/src/test/java/jadx/tests/api/IntegrationTest.java
# jadx-core/src/test/java/jadx/tests/functional/TypeMergeTest.java
# jadx-core/src/test/java/jadx/tests/integration/TestFloatValue.java
# jadx-core/src/test/java/jadx/tests/integration/TestStringBuilderElimination2.java
# jadx-core/src/test/java/jadx/tests/integration/arith/TestArith.java
# jadx-core/src/test/java/jadx/tests/integration/arith/TestFieldIncrement2.java
# jadx-core/src/test/java/jadx/tests/integration/arrays/TestArrays3.java
# jadx-core/src/test/java/jadx/tests/integration/arrays/TestArrays4.java
# jadx-core/src/test/java/jadx/tests/integration/conditions/TestTernary2.java
# jadx-core/src/test/java/jadx/tests/integration/debuginfo/TestReturnSourceLine.java
# jadx-core/src/test/java/jadx/tests/integration/generics/TestGenerics2.java
# jadx-core/src/test/java/jadx/tests/integration/inline/TestInlineInLoop.java
# jadx-core/src/test/java/jadx/tests/integration/invoke/TestCastInOverloadedInvoke.java
# jadx-core/src/test/java/jadx/tests/integration/loops/TestArrayForEach2.java
# jadx-core/src/test/java/jadx/tests/integration/loops/TestIndexForLoop.java
# jadx-core/src/test/java/jadx/tests/integration/names/TestNameAssign2.java
# jadx-core/src/test/java/jadx/tests/integration/switches/TestSwitchBreak.java
# jadx-core/src/test/java/jadx/tests/integration/trycatch/TestFinallyExtract.java
# jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchFinally8.java
2019-03-24 12:19:19 +03:00
Skylot
ca21ca5d81
test: rewrite Spock tests to JUnit 5
2019-03-24 11:23:24 +03:00
Ahmed Ashour
2399bfb784
test: add case for #504
2019-03-24 10:47:52 +03:00
Ahmed Ashour
11cee083ba
style: use character instead of string, for better performance (PR #503 )
2019-03-24 10:05:26 +03:00
Skylot
6e66dc25c8
fix: additional checks for loop exit edges and 'for' conversion ( #483 )
2019-03-23 23:58:05 +03:00
Skylot
999793c944
fix: skip trailing bytes in resource table decoding ( #487 )
2019-03-23 13:25:06 +03:00
Ahmed Ashour
d111fd0680
feat: add a flag to disable debug info ( #276 ) (PR #502 )
2019-03-23 10:35:00 +03:00
Ahmed Ashour
eed762df44
fix(gui): exclusion disablement should be exact package match (PR #500 )
2019-03-23 10:32:24 +03:00
Ahmed Ashour
d3dbdb24af
test: use @NYI instead of commented TODO (PR #499 )
2019-03-23 10:26:44 +03:00
Ahmed Ashour
e585c4ec46
test: add MissingGenericsTypesTest (PR #498 )
2019-03-23 10:25:14 +03:00
Skylot
66421be942
test: add tests for some known issues
2019-03-22 21:00:34 +03:00
Ahmed Ashour
9695291e37
test: case for #62 (PR #497 )
2019-03-22 21:00:10 +03:00
Ahmed Ashour
b65c386b6a
test: migrate all assertions to JUnit5 (PR #496 )
2019-03-22 20:37:20 +03:00
Ahmed Ashour
cd6f6b7a83
test: add NotYetImplemented feature (PR #495 )
2019-03-22 20:11:36 +03:00
Ahmed Ashour
cdaecb31df
chore: upgrade dependencies (PR #494 )
2019-03-22 20:10:48 +03:00
Skylot
5169dc52dd
fix: remove invalid chars from class names ( #488 )
2019-03-22 19:54:45 +03:00
Skylot
f72abb2867
test: add test methods for load and check classes from smali files
2019-03-22 19:51:29 +03:00
Skylot
2c0725390e
fix: check variable usage before convert indexed loop to for-each variant ( #483 )
2019-03-22 19:30:20 +03:00
Skylot
5a940a3baf
build: update gitlab config
2019-03-22 19:30:20 +03:00
Ahmed Ashour
16b6345c7f
test: migrate to JUnit 5 (PR #493 )
2019-03-22 17:36:13 +03:00
tRuNKator
5f0dbf856b
fix: don't rename R class fields alias (PR #492 )
...
* fix: R class fields alias
* implemented with clearer approach
2019-03-22 14:54:22 +03:00
Ahmed Ashour
2e9039da4e
fix(gui): show java version, instead of VM version in about dialog (PR #489 )
2019-03-22 11:26:29 +03:00
tRuNKator
650cf31562
fix: resource qualifiers (PR #487 )
2019-03-22 11:05:08 +03:00
tRuNKator
42b7843761
fix: use quantity attribute for plurals (PR #486 )
2019-03-22 11:04:30 +03:00
Ahmed Ashour
d5f4266283
fix: rename class with reserved java keywords ( #485 ) (PR #488 )
2019-03-22 10:55:44 +03:00
Ahmed Ashour
988ada3ce9
style: remove unneeded casts (PR #481 )
...
As detected by Eclipse, and the test case doesn't depend on the explicit casting.
2019-03-21 17:16:33 +03:00
Ahmed Ashour
74562e6868
test: assertion already passes (PR #482 )
2019-03-21 17:14:00 +03:00
Ahmed Ashour
dd2e7e879b
fix: add missing import for class generics map (PR #480 )
...
* Fix missing import for class Generics map.
* Add import only when needed (in non-inner class declaration)
* Remove unneeded import
2019-03-21 17:11:56 +03:00
Skylot
365c1faf25
Merge branch 'master' into type-inference-wip
2019-03-20 14:36:20 +03:00
Ahmed Ashour
9797fe5b81
fix(gui): sort resources according to their type, then name (PR #479 )
2019-03-20 14:04:51 +03:00
Skylot
6d052d39ad
build: check repo name and build type to skip deploy on PR and forks
2019-03-20 13:59:19 +03:00
Ahmed Ashour
2b242b9109
style: remove unused imports (PR #475 )
2019-03-20 13:28:58 +03:00
skylot
1c8741332e
GUI: disable package if "excluded" ( #477 )
2019-03-20 13:25:17 +03:00
Ahmed Ashour
a3ff03c8f3
GUI: disable package if "excluded"
2019-03-20 09:37:57 +01:00
Skylot
3019ee5655
build: check secret variable to skip deploy on pull requests
2019-03-19 21:22:28 +03:00
Skylot
03ae3bcefa
fix: process field init code in dependency collector ( #467 )
2019-03-19 16:45:40 +03:00
Skylot
52deb48aac
fix: move instruction out of try/catch ( #468 )
2019-03-19 16:45:40 +03:00
Jan Peter Stotz
214866fcb9
chore: About box and logos
2019-03-16 18:12:39 +01:00
Skylot
7654661b77
fix: inline desugared lambda classes ( #467 )
2019-03-15 22:19:43 +03:00
Skylot
51a9c741a5
chore: update dependencies and gradle
2019-03-15 19:37:19 +03:00
Skylot
bce86d3211
build: check env variables for deploy stages (i.e skip deploy in forks)
2019-03-14 18:22:19 +03:00
tRuNKator
a4a8b05ef0
fix: replace dot character with underscore in style resource name (PR #466 )
2019-03-14 15:46:37 +03:00
Skylot
6116a75022
fix: rename R fields using resource names ( #465 )
2019-03-12 20:27:25 +03:00
Skylot
7243ab5cb6
fix: don't replace resources names with field names ( #465 )
2019-03-12 19:35:05 +03:00
Jan S
43538902a3
fix: restore support for AAR files (issue #95 ) (PR #464 )
2019-03-09 17:20:34 +03:00
Skylot
cf79a519d3
refactor: move code shrink visitor to separate package and extract inner classes
2019-03-03 21:03:03 +03:00
Skylot
d069928613
fix: check if synthetic class not yet processed but must be removed ( #450 )
2019-03-02 19:09:31 +03:00
Skylot
dd13edf262
fix: don't remove empty default constructor if other constructors exists ( #460 )
2019-03-02 17:31:12 +03:00
Skylot
653bb2ac10
fix: hide first argument instead remove for constructor in inner class
2019-03-02 16:02:17 +03:00
Skylot
cbdc2496fc
fix: check block before insert additional move instruction for type inference
2019-03-01 23:36:26 +03:00
Skylot
3de04cb638
refactor: use flags to mark registers with immutable type
2019-02-28 16:32:11 +03:00
Skylot
68d074aecf
fix: change type update collection to produce deterministic results
2019-02-27 19:03:05 +03:00
Skylot
0df5aa80fe
refactor(cli): add missing generic for JCommanderWrapper
2019-02-26 20:12:40 +03:00
Skylot
28bcad202a
refactor: resolve deprecation warning for TypeGen.literalToString method
2019-02-26 20:09:05 +03:00
Skylot
16d8d41baf
Merge branch 'master' into type-inference-wip
...
# Conflicts:
# jadx-core/src/main/java/jadx/core/dex/visitors/blocksmaker/BlockSplitter.java
# jadx-core/src/main/java/jadx/core/dex/visitors/ssa/EliminatePhiNodes.java
2019-02-26 20:04:35 +03:00
Skylot
7bd175220e
fix: add correct type propagation for check-cast and move instructions ( #401 )
2019-02-26 19:56:09 +03:00
Skylot
28d348b364
fix: additional checks for synthetic methods remove, rename and inline ( #452 )
2019-02-22 17:50:31 +03:00
Jan S
91691fbd6a
fix: allow APK files without code (no contained dex files) (PR #455 )
2019-02-22 17:45:21 +03:00
Skylot
9856b6d3c5
fix: remove invalid chars from class names ( #453 )
2019-02-21 19:14:55 +03:00
Skylot
e1ca290424
fix: avoid ConcurrentModificationException in EliminatePhiNodes pass
2019-02-21 15:29:38 +03:00
Skylot
0fa19fb0ac
fix: remove unreachable blocks ( #451 )
2019-02-21 15:24:18 +03:00
Skylot
ab7b6fc29f
refactor: don't use additional class for jadx warnings
2019-02-20 14:43:59 +03:00
Skylot
f8acc31b0b
fix(gui): remove output directories from persistent settings ( #447 )
2019-02-20 10:40:39 +03:00
Skylot
4197365131
fix: improve fallback mode dump (add types, remove label after if)
2019-02-19 21:11:15 +03:00
Skylot
389caf1825
fix: improve filled array detection
2019-02-18 23:57:53 +03:00
Skylot
bcadc28207
fix(gui): use system font as default instead bundled Hack ( #442 , #445 )
2019-02-17 19:01:03 +03:00
Skylot
7e95758a6e
fix(gui): add scroll to preferences dialog
2019-02-17 18:48:27 +03:00
Skylot
d44dd0de84
fix(gui): show current font in preferences
2019-02-17 18:46:05 +03:00
Skylot
5cee498e1d
Merge branch 'master' into type-inference-wip
2019-02-17 16:10:09 +03:00
Skylot
db1b027da2
fix: improve bridge methods renaming ( #397 )
2019-02-16 13:07:13 +03:00
Skylot
7f4e641860
fix: skip duplicated block in complex if ( #441 )
2019-02-15 16:27:43 +03:00
Skylot
710245d597
fix: replace recursive analysis algorithms with iterations to avoid StackOverflow on big methods ( #441 )
2019-02-14 21:17:31 +03:00
Skylot
b689efcc9f
fix: forbid to change types for methods arguments
2019-02-11 19:21:26 +03:00
Skylot
89563b624b
Merge branch 'master' into type-inference-wip
2019-02-11 15:02:52 +03:00
skylot
8c7140d6b8
fix: change not allowed access modifiers for methods ( #387 ) (PR #439 )
...
Fix visibility access modifies for methods (see discussions in #370 and #387 ):
* all virtual methods become public
* direct methods become private (instead constructors and static methods for now)
* such modifications perform by default and can be disabled by the option in preferences (`--respect-bytecode-access-modifiers` in jadx-cli)
* if changed to method added comment (`Access modifiers changed, original: private`)
2019-02-11 14:56:03 +03:00
Skylot
c892395089
fix: redone finally extract
2019-02-11 14:50:16 +03:00
Skylot
4ce5cc8492
fix: use multi-variable type search algorithm if type propagation is failed
2019-02-04 18:34:36 +03:00
Skylot
9b091b7c08
fix: reimplement variable declaration visitor
2019-02-04 18:34:00 +03:00
Skylot
7b14e322d3
test: improve test checks
2019-02-04 16:22:50 +03:00
Skylot
21acaa8d37
fix: resolve mix up in SKIP and DONT_GENERATE flags
2019-02-04 16:22:11 +03:00
Jan S
bf42b97580
build: compile for Java 8; enable G1GC on Java 8 (PR #436 )
2019-01-23 17:34:03 +03:00
Skylot
c705f8cbff
Merge branch 'master' into type-inference-wip
2019-01-23 11:09:47 +03:00
skylot
f8c0449d4e
feat(gui): add icons to jadx-gui ( #420 ) (PR #428 )
2019-01-23 11:00:24 +03:00
Skylot
b28eaa1a94
fix(gui): add synchronization to SimpleIndex class ( #435 )
2019-01-23 10:06:13 +03:00
Skylot
be509c7104
fix(gui): use editor font in search node column
2019-01-23 10:05:00 +03:00
Skylot
2931617202
fix(gui): use editor font in files tree and fix bundled font loading
2019-01-23 09:39:57 +03:00
Skylot
82d0d622a8
fix: refactor, improve performance and fix some issues in resource processing
...
fix(gui): instead gradle export was executed normal export
fix(gui): content of some resource files was not shown
perf: direct resource files saving without full length buffer in memory
perf(gui): line numbers will be disabled on big files due to performance issue
feat(gui): click on HeapUsageBar will run GC and update memory info
feat(gui): add more file types for syntax highlights
refactor: ResContainer class changed for support more types of data (added link to resource file)
2019-01-22 18:51:09 +03:00
Skylot
bcaca781b1
style(gui): reformat code and fix some warnings
2019-01-21 13:47:05 +03:00
Jan S
ffedaea505
fix(gui): limit the spare memory to max. 512MiB ( #434 )
2019-01-21 09:52:00 +03:00
Skylot
aec986447e
fix: support multi-exception catch blocks ( #421 )
2019-01-19 16:28:25 +03:00
Skylot
b0e3cfedf4
fix: update apksig library to latest version ( #431 )
2019-01-19 09:49:20 +03:00
Skylot
da41efa3db
fix: force rename by checks from RenameVisitor ( #432 )
2019-01-18 16:50:11 +03:00
Jan S
9e0cd2e14e
fix(gui): add synchronizations to search index creation ( #433 )
...
* fix: unsynchronized search index creation (code usage) results in ArrayIndexOutOfBoundsException and stuck at 99%
* fix: use computeIfAbsent instead of synchronized block
2019-01-18 16:47:44 +03:00
Jan S
d1af751226
feat(gui): APK signature check v1/v2 using the apksig library from Google ( #431 )
...
* feat: APK signature check v1/v2 using the apksig library from Google
* fix: proposed changes implemented
2019-01-18 12:26:22 +03:00
Skylot
d8b39c2698
Merge branch 'master' into type-inference-wip
2019-01-16 22:29:39 +03:00
Skylot
618b014b3d
fix: rename method wrapped by synthetic only from same class ( #430 )
2019-01-16 22:27:50 +03:00
Skylot
4e990ae2b0
fix: safe SSA variables replacement in filled new array instruction ( #399 )
2019-01-16 19:03:47 +03:00
Skylot
41ee57a6f7
Merge branch 'master' into type-inference-wip
2019-01-15 14:18:31 +03:00
Jan S
7c353a6c6f
fix(gui): unsynchronized search index creation results in NullPointerException upon performing search ( #429 )
2019-01-15 13:05:45 +03:00
Jan S
72b2663949
fix: ArrayIndexOutOfBoundsException in string concatenation visitor ( #427 )
...
* fix: ArrayIndexOutOfBoundsException in string concatenation visitor
* fix: typo in comment
* fix: StringBuilder chain processing created wrong code
* test: simple JUnit test cases added for testing StringBuilder chain processing (chains that can be and that can't be simplified)
2019-01-12 21:12:28 +03:00
Skylot
727285e3df
chore: update dependencies and gradle
2019-01-12 19:07:37 +03:00
Skylot
a932c7c569
build: add java 11 to build on travis
2019-01-12 13:06:41 +03:00
Skylot
1272ae2d4d
fix(gui): don't skip indexing code lines starting with '}' ( #426 )
2019-01-10 23:46:59 +03:00
Skylot
ddaf0375dc
docs: add pyjadx link in readme ( #424 )
2019-01-07 11:28:03 +03:00
Jan S
f60bb6b121
fix: various UI improvements ( #419 )
...
* fixed wait time for background jobs
* enable multi-threaded decompiling
* added preference for excluding certain packages from decompiling and indexing
* show message dialog in case classes are not indexed because of low memory
* added heap usage bar for visualizing Java memory usage
2019-01-06 15:46:54 +03:00
Donlon
fd3498add6
fix: show method alias in "method not decompiled" messages ( #410 )
2019-01-06 14:02:37 +03:00
Skylot
43de744c88
fix: don't reject type update for generics
2018-12-26 21:41:36 +03:00
Jan Peter Stotz
1ac2cdfc41
fix: wait time for background jobs too short
2018-12-26 20:21:16 +03:00
Skylot
2dea6f55b5
fix: add more details for variable with type inference error
2018-12-25 18:28:35 +03:00
Skylot
76cf4f053f
Merge branch 'master' into type-inference-wip
2018-12-25 18:28:00 +03:00
Skylot
eadf046b2c
chore: show try/catch processing problems in code comments
2018-12-25 17:29:36 +03:00
Skylot
e9591efd7e
fix: search exception handler splitter block by offset if jump source unknown ( #406 )
2018-12-25 17:27:42 +03:00
Skylot
fbf750f588
build: update jacoco for build with java 11
2018-12-22 15:10:09 +03:00
Skylot
63c528dba9
build: update shadowJar for build with gradle 5.0
2018-12-22 14:57:06 +03:00
Skylot
0f27eba1b1
fix: don't rename constructors and class init methods in deobfuscator ( #415 )
2018-12-22 13:03:06 +03:00
Skylot
a841d0ebe7
fix: use '$' for inner classes also in methods and fields ( #415 )
2018-12-22 13:02:27 +03:00
Skylot
6a1717a624
fix: use original call class for invoke inherited methods ( #413 )
2018-12-21 21:54:26 +03:00
Skylot
ee6508e93c
fix: use '$' as separator for inner classes in .jobf file ( #415 )
2018-12-21 20:22:24 +03:00
Skylot
5ad082627f
fix(gui): fill background before draw line numbers ( #404 )
2018-12-21 20:22:22 +03:00
Skylot
e0624ce986
fix: use '$' as separator for inner classes in .jobf file ( #415 )
2018-12-21 19:44:25 +03:00
Skylot
995cf2ad42
fix: use types with generics for overloaded method casts ( #402 )
2018-12-08 20:54:55 +03:00
Skylot
b9fffa149b
fix: allow override type with wider one only from debug info ( #403 )
2018-12-06 17:55:38 +03:00
Skylot
7e8435cceb
fix(gui): fill background before draw line numbers ( #404 )
2018-12-06 14:03:09 +03:00
Skylot
37071dbaf3
fix: use soft checks for objects and arrays in 'if' type listener ( #401 )
2018-12-06 13:22:34 +03:00
Skylot
87c1231422
fix: show type inference errors as method comments
2018-12-06 13:22:18 +03:00
Skylot
d553157bb3
fix: hide debug type inference logs
2018-12-03 12:36:06 +03:00
Skylot
95f9ab035d
fix: inline constants in chained move instructions ( #399 )
2018-12-01 23:37:14 +03:00
Skylot
21e11c1d47
fix: implement new type inference approach
2018-12-01 23:37:04 +03:00
Skylot
6d59f77165
fix: process try/catch without move-exception instruction ( #395 )
2018-11-26 14:31:49 +03:00
Marcin Kamionowski
3a798cb21c
fix: return type lost after type inference ( #396 )
2018-11-23 20:01:50 +03:00
Skylot
1fc92d2a16
fix: instruction deep equals must check result
2018-11-16 19:04:38 +03:00
Skylot
850bd96976
fix: don't remove synthetic class with inner classes
2018-11-11 21:04:37 +03:00
Skylot
20b03aa755
fix: don't remove synthetic method if args count or name not same ( #361 )
2018-11-09 19:54:00 +03:00
Jan S
5281eed1a5
fix: loading of i18n resources as UTF-8 (see #363 ) (PR #386 )
2018-11-07 22:57:31 +03:00
Parth Bhatia
bedbf94b4a
fix: update dx to version 16 ( #369 )
2018-11-07 20:10:37 +03:00
Skylot
47917fd5c2
fix: resolve some sonar critical issues
2018-10-29 22:27:28 +03:00
Skylot
0abb51c87a
fix(gui): on settings reset run upgrade method
2018-10-29 22:27:05 +03:00
Skylot
557667b125
fix(gui): allow partial settings sync to not save command line options
2018-10-29 22:27:05 +03:00
Skylot
1d7bb43dfd
fix: correct code line number calculation
2018-10-29 18:43:22 +03:00
Skylot
6b3e8f083c
fix(gui): override settings by cmd options
2018-10-29 18:42:17 +03:00
Skylot
bc629337d6
fix(gui): add "use imports" option to preferences
2018-10-29 18:35:23 +03:00
Skylot
58993b9799
fix(gui): apply render hints for line numbers
2018-10-28 18:52:43 +03:00
Skylot
a3464d7184
fix(gui): make link for full class names ( #378 )
2018-10-28 18:52:43 +03:00
Jan S
a8a31643f1
fix: Fix for #377 (Jadx in Windows open with list) ( #379 )
2018-10-28 18:51:25 +03:00
Jan S
df9ae295db
feat: make the import class name clickable ( #378 )
2018-10-25 16:36:37 +03:00
Skylot
8c348c935c
build: disable travis build on oracle jdk 10
2018-10-24 21:45:00 +03:00
Skylot
3815d30fc1
fix: force rename fields and methods with reserved names ( #364 )
2018-10-24 21:30:36 +03:00
Skylot
778b9bb851
fix: resolve lint errors in resource save methods
2018-10-24 21:30:36 +03:00
Sergey Toshin
57dd9e6146
Removes useless imports which prevented gradle build
2018-10-24 21:21:17 +03:00
sergey-wowwow
8eef4a9075
fix: saves all resources ( #375 )
2018-10-24 20:58:49 +03:00
sergey-wowwow
87f50ab513
fix: exports resources first ( #376 )
2018-10-24 20:56:32 +03:00
Skylot
2de86b6db5
fix(gui): make correct size truncate for recent files list
2018-09-08 17:59:38 +03:00
Skylot
9be62fb16e
fix: lower regions count limit ( #354 )
2018-09-08 17:45:04 +03:00
Skylot
f6f883b9d1
fix: change resource fields generations in R class ( #308 )
2018-09-08 14:33:33 +03:00
sergey-wowwow
5de4d0792f
fix: generates code of missing R class ( #353 )
2018-09-08 14:32:59 +03:00
Skylot
8c43e7f7ce
style: fix code formating
2018-09-08 10:22:06 +03:00
Skylot
9e24a5abeb
fix(gui): show 'copy name' action only for supported nodes
2018-09-08 10:12:40 +03:00
Skylot
b587b6d694
fix(gui): use correct font and style for certificate panel
2018-09-08 10:12:40 +03:00
Skylot
bc3af8e64d
fix: resolve some sonar warnings
2018-09-08 10:12:40 +03:00
Skylot
7bd428cf6d
build: fix gitlab config
2018-09-08 10:12:40 +03:00
Skylot
912f3c8467
build: skip gradle assemble before build
2018-09-01 14:27:15 +03:00
javaeryang
a8febb2447
feat(gui): add a menu to copy class name ( #351 )
2018-08-28 11:28:53 +03:00
Skylot
1b0b526822
chore: remove 'v' from version string
2018-08-26 23:15:48 +03:00
Skylot
6250ebdd75
chore: don't use labels for artifacts in github release
2018-08-26 23:14:18 +03:00
Skylot
156e4209f9
feat(build): use semantic-release for automatic release publishing
2018-08-26 22:18:06 +03:00
Skylot
7492889f4e
core: prevent endless region processing ( #340 )
2018-08-23 23:16:36 +03:00
Skylot
0c041120f6
core: show all decompilation errors in code comments ( #313 )
2018-08-23 23:16:36 +03:00
Skylot
ecbb53aaea
core: fixed 'this' attribute propagation for move insn ( #345 )
2018-08-22 21:38:43 +03:00
skylot
ffe739b7eb
Merge pull request #343 from Donlon/master
...
Solve unreplaced fields names when deobfuscation is on (#241 )
2018-08-22 11:59:04 +03:00
Donlon
bd05be6fb6
Delete some changes
2018-08-22 12:14:29 +08:00
skylot
ff7df3818f
Merge pull request #344 from JaviLukiOfficial/master
...
New language: Spanish + Small typo corrected on a LOG.error String argument.
2018-08-21 16:49:26 +03:00
JaviLukiOfficial
39899e4edc
-New language: Spanish
...
-Small typo corrected on a LOG.error String argument.
2018-08-21 15:33:22 +02:00
Donlon
dc578f98e7
Fix deobfuscation issue
2018-08-21 17:10:20 +08:00
Skylot
d7ce41e724
core: don't remove synthetic methods with some logic beside casts ( #336 )
2018-08-20 23:05:17 +03:00
Skylot
eaaeb2c843
core: fix return block split after try/catch ( #295 )
2018-08-20 21:36:19 +03:00
Skylot
0ae7c1efbf
core: rename wrapped synthetic method ( #336 )
2018-08-19 19:15:31 +03:00
Donlon
cb13599739
Upgrade Chinese translation
2018-08-19 15:49:27 +03:00
Skylot
a9251de1dd
deobf: prevents overlaping of class names and packages ( #335 )
2018-08-19 13:06:47 +03:00
Skylot
56798e716a
gui: min and max deobf lengths must be positive
2018-08-19 12:19:11 +03:00
Donlon
904f0a1197
A subtle bug repairing
2018-08-19 10:24:34 +03:00
Donlon
4d3f2740ce
Language switch supported
2018-08-19 10:21:30 +03:00
Skylot
f9e7a29c08
core: fix sythetic constructor replacement ( #334 )
2018-08-16 23:30:53 +03:00
Skylot
6cb14a1c50
core: use flag for mark 'this' register
2018-08-16 22:55:30 +03:00
Skylot
ea9f933f9e
core: fix register arg hashCode method ( #321 , #328 )
2018-08-15 16:23:30 +03:00
Skylot
eb2e5e3da5
cli: set lower java starting heap size
2018-08-15 16:02:29 +03:00
Skylot
9a4e8bdb48
set default deobfuscation min length to 3 ( #332 )
2018-08-15 15:29:43 +03:00
Sergey Toshin
fad0091d87
Prevents generation of NSes second time in wrong place
2018-08-15 15:20:03 +03:00
Skylot
b861151f63
core: rollback finally block extraction if some blocks not removed ( #327 )
2018-08-04 22:32:00 +03:00
Skylot
feeafc407a
core: exclude inner classes from dependencies ( #318 )
2018-08-04 15:35:32 +03:00
Skylot
ea1c1eb803
core: fix insn move check for field assign ( #326 )
2018-08-04 14:32:27 +03:00
Skylot
b83e20b571
core: improve immutable list implementation
2018-08-01 15:07:05 +03:00
skylot
160ad64e67
Merge pull request #325 from FlXME/patch-3
...
Making the Classloader threadsafe
2018-07-30 11:41:38 +03:00
skylot
1213ff26b4
Merge pull request #324 from FlXME/patch-1
...
Performance issue when building strings
2018-07-30 11:34:23 +03:00
skylot
3bf93f1f85
Merge pull request #323 from FlXME/patch-2
...
Directory Bug
2018-07-30 11:33:59 +03:00
Felix Bergmann
a502581640
Making the Classloader threadsafe
2018-07-30 09:31:44 +02:00
Felix Bergmann
1ec041a48f
Directory Bug
...
The correct pattern to make a directory is: `if (!dir.mkdirs() && !dir.isDirectory()) { error }` mkdirs checks for exists so the exists check is redundant.
2018-07-30 00:09:54 +02:00
Felix Bergmann
fdaf8492ef
Performance issue when building strings
...
Improve performance by using StringBuilder instead of StringBuffer.
2018-07-30 00:02:14 +02:00
Skylot
2433a7e89c
core: fix exception handler jumps ( #320 )
2018-07-28 22:26:56 +03:00
Skylot
6e358d3eab
core: use own immutable list
2018-07-28 22:26:56 +03:00
Skylot
7e462e800f
update gradle wrapper and dependencies
2018-07-28 11:21:46 +03:00
Skylot
156e54c77f
core: exclude inner classes from class dependencies ( #318 )
2018-07-22 15:01:38 +03:00
Skylot
9752ec2655
core: fix duplicate regions creation ( #314 )
2018-07-22 00:50:04 +03:00
asviridenko
edc1e5fa84
gui: show the certificate if the certificate file name is not standard ( #315 )
...
* show the certificate if the certificate file name is not standard
eg https://play.google.com/store/apps/details?id=com.kms.free
2018-07-22 00:43:59 +03:00
Skylot
a959af087b
core: fix replace target in if instruction ( #317 )
2018-07-19 15:27:35 +03:00
Skylot
c5994f954a
core: fix NPE in signature parser ( #313 )
2018-07-16 18:16:13 +03:00
asviridenko
03a09debfa
gui: show app certificate ( #305 )
...
* add node
* add node
* add certificate panel
* add certifcate manager
* работа над проектом
* ресурсы
* включение возможности показа
* небольшие исправления
* start tests
* more tests
* signature test
* fingerprint test
* public key test
* удалено лишний код
* add scroll
2018-07-05 12:40:27 +03:00
Skylot
2cf6a9b691
gui: fixed object reference holding by LogCollector ( #302 )
2018-07-04 00:15:43 +03:00
Skylot
5b712e8dbc
core: fix inline of anonymous obfuscated class ( #122 )
2018-06-29 22:23:48 +03:00
skylot
5d7f2c706c
Merge pull request #301 from skylot/public_xml_no_dups
...
Prevent adding duplicate ids for resource entries with different entry configs
2018-06-27 20:46:28 +03:00
Sergey Toshin
22f51e1a28
Change display style for resources.arsc
2018-06-27 20:09:08 +03:00
Sergey Toshin
61684ea73d
Prevent adding duplicate ids for resource entries with different entry configs
2018-06-27 19:55:24 +03:00
Skylot
45b37dcd10
core: fix class name checker execution after deobfuscator ( #286 )
2018-06-27 16:25:40 +03:00
skylot
c0b2230b0b
Merge pull request #299 from skylot/public_xml_impl
...
Generates and saves public.xml in apktool style
2018-06-27 01:15:46 +03:00
Sergey Toshin
53fa8205f2
Receives canonical path in ZipSecurity.isInSubDirectory(...)
2018-06-26 22:37:16 +03:00
Sergey Toshin
ddbcf8bb19
Prevents path traversal attacks thru rc names
2018-06-26 20:26:31 +03:00
Sergey Toshin
6e50ddf5c8
Generates and saves public.xml in apktool style
2018-06-26 20:07:30 +03:00
Skylot
dda49f1501
core: fix enum reconstruction ( #272 )
2018-06-21 16:50:36 +03:00
Skylot
4e2e5aa975
gui: fix colors to match system theme, add editor theme selector ( #297 )
2018-06-19 23:12:53 +03:00
Skylot
10fd3652d4
core: fix processing same class several times ( #274 )
...
Caution: This change can increase memory usage!
However overall decompilation must be faster
2018-06-17 15:26:52 +03:00
Skylot
4d30510706
core: fix line number references
2018-06-17 12:21:22 +03:00
Skylot
ee74c4d870
core: ignore debug info with bad variable names
2018-06-16 20:02:29 +03:00
Skylot
45f5e0cb04
core: prevent endless loop in region construction ( #267 )
2018-06-16 12:31:37 +03:00
Skylot
7d983f2847
core: fix catch block argument if move-exception instruction is missing ( #295 )
2018-06-16 12:31:37 +03:00
skylot
3b2b5417aa
Merge pull request #292 from skylot/xml_bug_fixes
...
Fixes xml deobfuscation errors
2018-06-05 19:09:58 +03:00
Sergey Toshin
0a0c4eac88
Fixes errors
2018-06-05 17:06:55 +03:00
Skylot
d20cd43a99
core: fix loop handling
2018-06-02 21:16:58 +03:00
Skylot
7b4321ecee
gui: fix build for java 10 and update dependencies ( #291 )
2018-06-02 19:47:18 +03:00
Skylot
188bfd1a7e
core: fix endless loop processing ( #275 )
2018-06-01 23:15:46 +03:00
Skylot
7b6825d85c
core: move same instructions from predecessors for loops
2018-06-01 23:14:36 +03:00
Skylot
a27cb9c34e
core: bind blocks for target instructions at early stage
2018-06-01 21:35:19 +03:00
Skylot
8445ebf107
fix sonar badge
2018-06-01 21:32:15 +03:00
Skylot
6df315017c
gui: add Hack font
2018-06-01 21:32:15 +03:00
skylot
1931e78367
Merge pull request #290 from skylot/xml_deobf_2
...
Xml deobf 2.0
2018-06-01 11:12:23 -07:00
Sergey Toshin
90692d89c5
Xml deobf 2.0
2018-06-01 17:49:29 +03:00
Skylot
4f02864e12
core: fix variable declaration in else-if chain ( #273 )
2018-05-26 20:41:54 +03:00
Skylot
7562ec9e1a
tests: add base test class for simplified apk debugging
2018-05-26 20:41:54 +03:00
Skylot
6d984c0407
gui: update default settings
2018-05-26 20:41:54 +03:00
Skylot
3556e591b0
gui: hide deobf options if not enabled ( #281 )
2018-05-26 20:41:54 +03:00
skylot
8fdb473d78
Merge pull request #280 from skylot/xml_tag_attr_name_validator
...
res: Copy XMLChar class from Apache Xerces library. Replaces all invalid (obfuscated) XML tag and attribute names to random ones
2018-05-17 23:33:53 +03:00
Sergey Toshin
398cd15dcf
Copy XMLChar class from Apache Xerces library. Replaces all invalid (obfuscated) XML tag and attribute names to random ones
2018-05-17 22:49:40 +03:00
Skylot
5006b3e837
gui: fix cell renderer in search dialog ( #271 )
2018-05-07 22:08:16 +03:00
Skylot
7216635d84
gui: run text search in background thread ( #269 )
2018-05-05 22:44:49 +03:00
Skylot
98ef7c39b7
core: fix synthetic constructor remove ( #265 )
2018-05-02 16:05:06 +03:00
Skylot
e039a5a9af
core: don't process debug info if offset is incorrect ( #259 )
2018-05-01 19:32:55 +03:00
Skylot
412a185fa1
core: fix null pointer error in try/catch processing
2018-05-01 17:31:44 +03:00
Skylot
20bfe83849
core: fix null pointer in code annotations getter
2018-05-01 17:18:14 +03:00
Skylot
39093130a3
core: fix processing overriden methods in deobfuscator ( #207 )
2018-05-01 17:16:52 +03:00
Skylot
9e9270a8b7
core: fix type inference StackOverflowError
2018-05-01 16:29:50 +03:00
Skylot
2c904c56f4
core: reformat imports, fix some sonar issues
2018-04-22 21:55:18 +03:00
Skylot
a3b961e72f
core: fix method deobfuscation ( #241 )
2018-04-22 20:18:33 +03:00
Skylot
0e4c8df418
cli: print default value for number options
2018-04-22 20:06:21 +03:00
skylot
3b2d595a06
Merge pull request #255 from skylot/xml_unreadable_chars_escapes
...
Adds more escape for unreadable characters so parser won't throw exceptions during parse
2018-04-14 15:23:02 +03:00
Skylot
b29223c5b6
core: fix enum processing order, remove synchronization ( #257 )
2018-04-14 13:22:53 +03:00
Sergey Toshin
d805ec15b4
Adds more escape for unreadable characters so parser won't throw exceptions during parse
2018-04-09 19:23:31 +03:00
Sergey Toshin
d5cfdfb50d
Prevents command injections when opening links
2018-04-08 21:23:01 +03:00
Sergey Toshin
2e5d73a7e4
Fixes bug with NS declaration duplicates
2018-04-08 21:21:45 +03:00
Sergey Toshin
1c352cc81b
Fixes bugs
2018-04-08 21:21:45 +03:00
Sergey Toshin
9c6c18780f
Adds define of unknown NSes
2018-04-08 21:21:45 +03:00
Skylot
cb23b65797
core: fix variable names propagation ( #219 )
2018-04-08 19:24:39 +03:00
Skylot
7a16814808
core: fix class file loading ( #249 )
2018-04-07 16:58:03 +03:00
Skylot
23553c9944
cli: fix missing spaces in help
2018-04-01 14:01:55 +03:00
Skylot
54fbe8a7c0
remove -d64 option as java 10 not support it anymore
2018-04-01 13:59:18 +03:00
Skylot
ea01102f1d
gui: fix decompilation task on search ( #235 )
2018-03-29 21:04:05 +03:00
Skylot
15e1e1dfab
build jadx-gui.exe
2018-03-27 19:48:29 +03:00
Skylot
37ed9cd25b
core: make decompilation results more deterministic
2018-03-27 11:25:17 +03:00
Sergey Toshin
882af04027
Encodes XML attrs
2018-03-25 13:16:23 +03:00
Skylot
aa8a298ec7
remove sourceforge from downloads list
2018-03-25 13:14:24 +03:00
Skylot
05ab8fd868
bump version
2018-03-25 12:33:54 +03:00
Skylot
1a736aadf5
v0.7.1
2018-03-25 12:30:39 +03:00
Skylot
2cea653249
fix bintray upload
2018-03-18 16:38:55 +03:00
Skylot
1085238031
res: don't use system locale for number formating ( #238 )
2018-03-18 15:25:57 +03:00
Skylot
1356d91423
res: don't add colon for empty namespace ( #231 )
2018-03-18 15:25:57 +03:00
sergey-wowwow
fd2dc14ede
Update ZipSecurity.java
...
Changes max diff size to prevent valid resources filtration
2018-03-13 19:20:52 +03:00
Skylot
f91c5d3647
res: skip padding on file end ( #225 )
2018-03-11 19:19:06 +03:00
Skylot
1f3aebf584
res: close tag before cdata ( #231 )
2018-03-11 17:09:17 +03:00
Skylot
b39d79a0f9
remove coverity and downloads badges
2018-03-11 10:25:28 +03:00
Skylot
c410914208
core: skip finally extract visitor on error
2018-03-04 19:18:53 +03:00
Skylot
a046f1caec
core: ignore dex loading errors ( #233 )
2018-02-28 21:55:19 +03:00
Skylot
c25f918cc5
gui: fix some sonar warnings
2018-02-28 21:50:14 +03:00
Skylot
6fb1c8d3b9
gui: don't decode resources on file open
2018-02-17 23:23:03 +03:00
Skylot
6047a27c89
build: disable codecov pull request report
2018-02-13 16:07:16 +03:00
Skylot
8446d016e4
cli: update jcommander lib
2018-02-13 15:31:49 +03:00
Skylot
ab040d36d5
update all dependencies ( #229 )
2018-02-13 14:58:27 +03:00
skylot
a2781b5bd3
Merge pull request #221 from rgoggins/master
...
Move contribution section to separate file
2018-02-12 21:45:41 +03:00
skylot
a7903f31ac
Merge pull request #228 from jpstotz/master
...
Search dialog improvements
2018-02-12 21:42:33 +03:00
Jan Peter Stotz
c134837ca6
pagination for search results.
2018-02-12 16:20:12 +01:00
Jan Peter Stotz
f0a57e6714
case insensitive option for searches
2018-02-12 13:17:40 +01:00
Skylot
d9b0365c9f
core: fix binary xml parser ( #211 )
2018-02-11 23:18:21 +03:00
Skylot
948f9456f5
core: change jadx args api for easier processing and validation
2018-02-10 21:32:51 +03:00
Skylot
32f94b463f
core: add code lines for while loop
2018-02-07 21:21:53 +03:00
Skylot
035506496e
core: add endless loop test
2018-02-04 17:08:22 +03:00
Ryan Goggins
477222a395
Update README.md
2018-02-02 03:59:10 -05:00
Ryan Goggins
4bdfdfcb36
Create CONTRIBUTING.md
2018-02-02 03:58:41 -05:00
Skylot
3167cd0817
fix bintray upload
2018-01-28 00:12:55 +03:00
Skylot
b52f35259b
core: support 'not-int' and 'not-long' instructions
2018-01-28 00:04:27 +03:00
Skylot
20bf85b14d
core: ignore bogus opcode decode ( #214 )
2018-01-28 00:03:59 +03:00
Skylot
f02b99a1d0
fix some sonar warnings
2018-01-26 17:36:30 +03:00
Skylot
9132ef57f1
core: use late deletion for NOP instruction ( #215 )
2018-01-26 16:08:13 +03:00
skylot
d42bf2d43c
Merge pull request #212 from KpChuck/master
...
Don't throw a DecodeException if dex files aren't found but --no-src used
2018-01-21 11:30:42 +03:00
KpChuck
89042fbf4a
Don't throw a DecodeException if dex files aren't found but --no-src is enabled
2018-01-20 21:12:04 +00:00
Skylot
fc4dcd2db5
core: prevent some null crash on resource decoding
2018-01-18 23:21:36 +03:00
Skylot
4e07d80ebc
cli: fix errors list sorting
2018-01-18 23:16:46 +03:00
Skylot
c4a462d601
core: update dx to version 14, allow to decompile java 8 classes (new instructions not implemented yet)
2018-01-18 23:15:20 +03:00
Skylot
7fe46fb6f3
gui: highlight words on double click ( #210 )
2018-01-18 22:43:20 +03:00
Skylot
2cb94856fd
build: setup bintray unstable upload
2018-01-17 11:02:31 +03:00
Skylot
f53fc03c6c
core: use dynamic check for filesystem case-sensitivity ( #158 )
2018-01-16 21:09:09 +03:00
Skylot
9278c51035
build: use commits count in gitlab ci version
2018-01-16 21:09:08 +03:00
sergey-wowwow
ca9dc5f944
Update README.md
2018-01-16 21:05:59 +03:00
unknown
f30cfb6166
Merge branch 'master' of https://github.com/skylot/jadx into issue_204
2018-01-16 20:58:22 +03:00
unknown
9614929f77
Fixes build issues
2018-01-16 20:54:52 +03:00
skylot
8e418d4414
Merge pull request #206 from mtdcr/master
...
Decode attributes which may contain either enums or values
2018-01-16 15:58:19 +03:00
Andreas Oberritter
5e81bd833b
Decode attributes which may contain either enums or values, e.g. layout_width
...
android:layout_width="UNKNOWN_DATA_0x6401" becomes android:layout_width="100dp".
2018-01-16 12:56:21 +01:00
unknown
cc2ae80e7b
Issue #204
2018-01-15 19:35:30 +03:00
sergey-wowwow
b921f6097d
Update JadxCLIArgs.java
2018-01-14 21:47:37 +03:00
sergey-wowwow
9679ef893b
Update README.md
2018-01-14 21:40:08 +03:00
sergey-wowwow
e4fc3cebfd
Update JadxArgs.java
...
Changes flags to true
2018-01-14 21:34:17 +03:00
sergey-wowwow
75135819cf
Delete .DS_Store
2018-01-14 21:31:01 +03:00
sergey-wowwow
072b6cce36
Update README.md
2018-01-14 21:08:49 +03:00
Sergey Toshin
5d60f2cdf2
PR for issue #191
2018-01-14 21:04:28 +03:00
Sergey Toshin
c476593925
Changes MAX_SIZE_DIFF in ZipSecurity, and adds extra logging
2018-01-14 20:14:11 +03:00
skylot
089467a419
Merge pull request #203 from dgorshkov/patch-1
...
Readme - GUI screenshot fix
2018-01-14 19:50:22 +03:00
dgorshkov
ee68e04f84
GUI screenshot fix
2018-01-14 17:35:26 +01:00
binjia.zhou
9cd46e74be
fix some xml generate issues
2018-01-14 12:15:00 +03:00
sergey-wowwow
5781220415
Delete .DS_Store
2018-01-13 20:14:11 +03:00
Sergey Toshin
965fd66e0f
Adds more checks for file write ops
2018-01-03 19:50:16 +01:00
Sergey Toshin
7d3caa2875
Adds checks for resources, and logs detected attacks
2018-01-03 18:20:21 +01:00
Sergey Toshin
418546a659
Merge with master
2018-01-03 17:55:55 +01:00
Skylot
d586c84b56
reformat code and fix sonar warnings
2018-01-02 21:26:43 +03:00
Skylot
7b9e5fe99f
build: add sonarqube
2018-01-02 19:33:12 +03:00
Skylot
648f0edc79
build: add gitlab-ci
2018-01-02 18:54:41 +03:00
Skylot
4d9d0884c3
remove old version of dx.jar
2018-01-02 17:05:25 +03:00
Skylot
19c0bbb94c
Merge jiqimaogou/jadx
2018-01-02 16:27:56 +03:00
Skylot
c6995c2283
remove .DS_Store file
2018-01-02 15:59:45 +03:00
Skylot
49a263454c
update gradle wrapper to version 4.4.1
2018-01-02 15:28:10 +03:00
Skylot
454519220f
ui: don't run full decompilation on start
2018-01-02 15:24:20 +03:00
Skylot
118fa98ca9
gui: fix incorrect settings loading
2018-01-02 15:24:13 +03:00
Skylot
001fa639be
core: fix some concurrency issues
2018-01-02 15:23:36 +03:00
Skylot
009749cf8b
core: ignore errors in debug info parser ( fix #176 )
2018-01-02 15:22:49 +03:00
Skylot
da94e7b1be
core: update dx to 1.13 for support java 8, build for jdk 8
2018-01-02 15:22:20 +03:00
skylot
ea346145f6
Merge pull request #194 from wuyongzheng/master
...
fixed a few bugs resulting program hang
2018-01-02 15:16:09 +03:00
skylot
a01c379c95
Merge pull request #171 from daramos/deobfuscation_work
...
deobfuscation fixes
2018-01-02 15:15:34 +03:00
skylot
c9b781d5e1
Merge pull request #119 from ITMonkeys/master
...
support for Android InstantRun Apk
2018-01-02 15:14:40 +03:00
skylot
0b49abf3f5
Merge pull request #115 from bigfool/master
...
add some code to enable jadx can decompile apk by file's type, not only by file's extension
2018-01-02 15:12:10 +03:00
skylot
e5fe4b0a99
Merge pull request #169 from appetizerio/master
...
Increase heap limit to avoid most OOMs in Gradle
2018-01-02 15:08:57 +03:00
skylot
7474d305fb
Merge pull request #114 from allight/master
...
Replace jadx-core/lib/dx-1.10.jar with recent AOSP dx.jar
2018-01-02 15:08:21 +03:00
skylot
4716929158
Merge pull request #108 from Tneciv/master
...
add translation of Chinese
2018-01-02 15:07:45 +03:00
Sergey Toshin
528ca09e8e
Fixes for ZIP and XML processors
2017-12-31 01:51:25 +03:00
Wu Yongzheng
233054219f
fix issue #184
...
please refer to https://github.com/skylot/jadx/issues/184
2017-12-21 16:04:12 +08:00
Wu Yongzheng
0e2c4d4af1
fix thread-safe bug
...
wrap WeakHashMap with Collections.synchronizedMap, because it can be used by many worker threads.
2017-12-21 16:00:11 +08:00
Wu Yongzheng
f101e9a775
fix thread-safe bug
...
Change HashMap to ConcurrentHashMap, because it can be used by many worker threads.
2017-12-21 15:58:37 +08:00
Daniel Ramos
bf3863d1bf
Fixed issue where deobfuscated classes,methods,and fields were not being commented with their original name.
2017-04-30 21:23:19 -04:00
Daniel Ramos
94e9291c40
Fixed issue where postProcess may overwrite Deobfuscated method names.
...
The function will now check if the method name was aliased by Deobfuscation and if so it will use that name for all the overriden methods. Note: If the deobfuscation file contains two names for the same overriden method in two related Classes then the name that "wins" is non-deterministic.
2017-04-30 21:22:59 -04:00
Daniel Ramos
459d133b5d
Fixed issue where renamed classes/methods referenced in a different dex file would not be renamed properly. Deobfuscation only modified the Class info for the InfoStorage of the Dex file the class belonged to. If a class in another Dex file referenced it, it would not know of the rename.
...
This commit moves InfoStorage to the RootNode. This allows all classes to know of each other regardless of the Dex file. A dexId field was added to the DexNode class to allow the the MethodInfo.fromDex function to continue to use method index to locate methods. The getMethod and putMethod functions in InfoStorage was modified to take a DexNode. The DexNode id is used to create a unique key used for the lookup into the methods HashMap.
2017-04-30 13:34:21 -04:00
Daniel Ramos
773fad66bb
Fix issue where name generation on variables of deobfuscated objects were sometimes based off of the original class name, and not the alias.
2017-04-29 15:26:07 -04:00
Daniel Ramos
e250c73109
Fix issue with inner classes and empty package name.
2017-04-29 15:18:41 -04:00
Mingyuan Xia
6870c05ffa
increase cli heap usage as well
2017-04-10 13:13:04 +08:00
Mingyuan Xia
199581bf74
tune start script heap size for real-world apks
2017-04-10 12:56:05 +08:00
Skylot
a9ae971602
build: remove gradle plugins, update gradle to 2.14.1 ( #145 )
2016-12-22 11:54:56 +03:00
Skylot
913a5b5d0f
v0.6.1
2016-12-05 11:06:17 +03:00
Skylot
c594137c19
build: remove sonar plugin from gradle config ( fix #140 )
2016-12-05 10:48:56 +03:00
chenzhong.cz
fe03c85b97
ensure a zip file by file content.
2016-11-08 15:45:35 +08:00
chenzhong.cz
c338652045
no limit to the package id
2016-10-31 11:24:33 +08:00
chenzhong.cz
1f5cdeb01b
support arsc raw file view
2016-07-09 12:38:00 +08:00
袭建帅
e53a72c5f5
support for Android InstantRun Apk
...
we should consider the input file could contain only one single dex, multi-dex, or instantRun support dex for Android .apk files
2016-05-12 18:40:00 +08:00
Alex Light
fc2690888e
Replace the java 1.8 only dx.jar with one supporting java 1.7
...
Also removed the travis test for java 1.6.
Java 1.7 version of dx.jar compiled with plaform/libcore at commit
c3e562a and platform/dalvik at commit db9197b with
https://android-review.googlesource.com/#/c/221127/1 cherry-picked on
top of it.
2016-05-02 09:50:39 -07:00
齐振芳
b4472fd7d4
delete comments
2016-05-02 09:03:25 +08:00
Alex Light
796d02506a
Replace jadx-core/lib/dx-1.10.jar with recent AOSP dx.jar
...
Recently support has been added to AOSP for generating and running
version 037 dex files. In order to load these we update the dx.jar
with a recent version built from AOSP.
2016-04-28 16:54:55 -07:00
齐振芳
467f729f06
add file type detect, jadx file by file's header, not only file's extension
2016-04-28 16:25:14 +08:00
Tneciv
050ec8b988
Create Messages_zh_CN.properties
...
add translation of Chinese
2016-04-05 18:35:52 +08:00
Skylot
b2f41e95bf
core: export as android gradle project
2016-03-27 15:28:06 +03:00
Skylot
e733c91783
gui: support images view/unpack
2016-03-26 17:19:54 +03:00
Skylot
4e982722a5
core: fix incorrect package for R class ( #99 )
2016-03-19 22:55:57 +03:00
Skylot
2b1f815c58
core: refactor streams closing
2016-03-19 19:14:24 +03:00
Skylot
0fff1a6754
core: fix warning from dx library
2016-03-19 18:21:52 +03:00
Skylot
d95d268ec5
core: test enum implementing interface
2016-03-19 16:21:32 +03:00
Skylot
b4930bc40c
gui: fix issues in search dialog
2016-03-19 16:19:08 +03:00
Skylot
5f302238ad
core: allow to disable constant dereference ( #106 )
2016-03-13 12:43:24 +03:00
Skylot
7cba2c3f81
gui: remove suffix tree search cache
2016-03-08 15:00:19 +03:00
Skylot
218c39b1ec
core: option for control escaping of unicode characters ( #103 )
2016-03-07 19:25:57 +03:00
Skylot
e915f4fcd7
core: show missing class references only once
2016-01-31 15:20:07 +03:00
Skylot
bc9164b952
core: refactor file loading, add 'aar' support ( fix #95 )
2015-12-26 19:16:05 +03:00
Skylot
7c34be267f
res: fix escape for apostrophes and quotes in string resources
2015-11-15 16:20:57 +03:00
skylot
042464438c
Merge pull request #100 from netmaxt3r/master
...
multidex support for apk & zip
2015-11-15 16:11:32 +03:00
Nizam Moidu
cf68e4722a
multidex support for apk & zip
2015-11-11 12:22:47 +04:00
Skylot
7be37ff76e
update gradle to 2.7
2015-10-10 14:32:10 +03:00
Skylot
1118236075
test: added module for check recompilation of test app
2015-10-10 14:26:23 +03:00
Skylot
ef8a685621
resources: initial version of .arsc file decode
2015-10-09 21:41:38 +03:00
Skylot
e4fef402c9
resources: don't check type chunk header size ( fix #89 )
2015-09-25 22:58:54 +03:00
Skylot
5528afa404
core: fix type inference for filled array ( #87 )
2015-09-23 22:34:32 +03:00
Skylot
e3189fae37
gui: add deobfuscation button to menu
2015-09-23 22:31:38 +03:00
Skylot
6d963b378c
gui: fix results render issues is search dialog
2015-09-23 21:57:32 +03:00
Skylot
895ddfa38f
gui: cache renderer results in find/usage dialogs
2015-09-19 20:11:04 +03:00
Skylot
28e334a0ba
gui: fix code cell renderer in find/usage dialogs
2015-09-19 20:10:43 +03:00
Skylot
d060f5b877
gui: scroll to node when sync with editor
2015-09-19 20:10:09 +03:00
Skylot
7b70d617e0
core: fix variables inline ( #86 )
2015-09-19 16:31:08 +03:00
Skylot
261ba4645d
resources: support text chuck in binary xml ( fix #84 )
2015-09-16 21:23:55 +03:00
Skylot
2ab7524e71
core: better args class
2015-09-08 21:29:41 +03:00
Skylot
d55969bc65
core: fix some 'try/catch/finally' cases
2015-09-05 20:55:37 +03:00
Skylot
9976894091
core: skip decoding for plain text xml ( fix #82 )
2015-08-29 15:50:42 +03:00
skylot
76a0608a04
Merge pull request #83 from vbauer/fix-warnings
...
Fix console warnings during compilation (gradle build)
2015-08-29 13:28:56 +03:00
Vladislav Bauer
0d93d335a1
Fix console warnings during compilation (gradle build)
2015-08-28 20:15:51 +06:00
skylot
ffb9788047
Merge pull request #81 from NeoSpb/fix_deobf
...
fix deobfuscation
2015-08-15 20:20:03 +03:00
NeoSpb
5dd82eede9
core: fix deobfuscation when class is in the root package (package path is empty)
2015-08-14 16:15:10 +03:00
Skylot
14b90466ef
gui: restore last window position and size
2015-08-10 21:54:20 +03:00
Skylot
43592c3e49
gui: improve memory usage ( #79 )
...
- don't use suffix tree in search
- decrease default working threads count (only 1 for background jobs)
- use string refs for store only one code string without duplicates
- use cache for creating UI nodes
- allow to disable autostart for background jobs (decompilation and index)
2015-08-09 12:29:33 +03:00
Skylot
b46093b3cc
core: add method info cache
2015-08-09 12:12:17 +03:00
Skylot
2b9c092705
core: fix field initialization extract from try/catch block ( fix #78 )
2015-08-01 21:57:30 +03:00
Skylot
bc73010d4e
gui: add find usage feature, run decompilation and index jobs in background ( #74 , #75 )
2015-07-26 18:06:26 +03:00
Skylot
2d8d416483
core: add cache for JavaNodes, fix definition annotations
2015-07-26 17:19:08 +03:00
skylot
f549a0691e
Merge pull request #76 from jpstotz/master
...
Enable file drop operation for loading it.
2015-07-22 16:36:07 +03:00
Jan Peter Stotz
96c2fb6f54
Enable file drop operation for loading it.
2015-07-22 14:57:28 +02:00
Skylot
f6d475292c
gui: add key shortcuts for menu actions.
2015-07-14 19:38:14 +03:00
Skylot
bd4d4f49ff
gui: add full text search ( #74 )
2015-07-13 22:26:26 +03:00
Skylot
5a24eac375
core: fix exit node search for synchronized block ( fix #72 )
2015-07-04 15:20:15 +03:00
Skylot
a684118dbb
core: move field initialization from constructors if possible ( #71 )
2015-07-01 23:01:54 +03:00
Skylot
a324376e60
core: replace assertions with jadx exceptions throw
2015-06-27 21:15:57 +03:00
Skylot
04e50afaba
core: fix synthetic method inline ( fix #71 )
2015-06-27 18:27:43 +03:00
Skylot
69494c9212
core: add method for copy instruction nodes
2015-06-27 18:27:38 +03:00
Skylot
b2f0f02541
core: fix incorrectly removed 'return' in 'switch' block ( fix #70 )
2015-06-26 21:30:51 +03:00
Skylot
71f249113d
core: allow to skip sub-blocks for region visitor.
2015-06-26 21:26:08 +03:00
Skylot
1d84c00161
core: fix 'break' in complex 'if' in loop ( fix #67 )
2015-06-14 15:57:37 +03:00
Skylot
5bc7e19a28
core: don't show rename comment if class name not changed
2015-06-04 20:50:25 +03:00
Skylot
c46703a05d
gui: run jadx-gui without console
2015-05-31 17:14:55 +03:00
Skylot
129a7c39af
gui: add log viewer
2015-05-31 17:11:46 +03:00
Skylot
ac3f3e8385
gui: add common popup actions for text fields.
2015-05-31 16:14:34 +03:00
skylot
bc8ad4df86
Merge pull request #64 from NeoSpb/fix_deobfuscator
...
Fix deobfuscator
2015-05-25 20:11:00 +03:00
NeoSpb
53ac3ec582
core: fix deobfuscation for overridden methods (make identical name ('mo{index}')
...
for overridden methods, older 'jobf' file must be removed)
2015-05-18 21:03:53 +03:00
NeoSpb
d2d43711c2
Make optional using source file name as alias for class name (some obfuscator
...
set the source file property with wrong value and break deobfuscation)
default: disabled
2015-05-18 21:03:51 +03:00
NeoSpb
510035b7b7
core: fix used name/path to the deobfuscation map file
...
(used the same name/path as the APK file, but extension 'jobf')
2015-05-18 21:03:50 +03:00
skylot
c923d19bcc
Merge pull request #63 from jpstotz/master
...
Make jadx-gui.jar runnable
2015-05-16 13:07:18 +03:00
Jan Peter Stotz
bff9597360
Add Main-Class and Class-Path attributes to MANIFEST.MF of jadx-gui jar file.
2015-05-12 10:52:43 +02:00
Skylot
78b39a60e8
core: fixed invoke arguments list ( fix #61 )
2015-05-11 20:33:16 +03:00
Skylot
932966b6b8
core: skip synthetic arguments in anonymous class constructor
2015-05-02 20:53:22 +03:00
Skylot
85a18e6d75
core: don't insert break in method exit blocks ( fix #60 )
2015-05-02 20:29:15 +03:00
Skylot
5d86bf9788
core: fix loop processing after exception handler remove ( fix #59 )
2015-05-02 17:51:15 +03:00
Skylot
406d9878d8
core: fix invoke args skipping
2015-04-26 15:03:23 +03:00
Skylot
4e6c5cb27a
core: inline anonymous classes with arguments
2015-04-25 21:40:03 +03:00
Skylot
a9c0185bf5
core: fix type resolver in 'if'
2015-04-18 19:12:06 +03:00
Skylot
0111172a03
travis: tune cache options
2015-04-10 22:26:57 +03:00
Skylot
57541488d3
version 0.6.1 bump
2015-04-10 22:25:18 +03:00
Skylot
3782aa7d0a
core: fix wildcard type in iterable loop
2015-04-07 23:12:39 +03:00
Skylot
d5740c1b08
core: fix 'finally' extract in 'if'
2015-04-07 23:12:39 +03:00
Skylot
3357979cc9
core: remove unused method
2015-04-07 23:12:39 +03:00
Skylot
2f548dd9eb
core: fix help for jadx-gui, improve code
2015-04-06 22:30:48 +03:00
Skylot
f715d6ce68
core: fix inherited methods renaming
2015-04-05 17:43:17 +03:00
Skylot
350b605400
core: use aliased name for save class to file
2015-04-05 16:20:31 +03:00
Skylot
6a99d00487
core: fix enum fields name after obfuscation ( fix #51 )
2015-04-05 15:56:58 +03:00
Skylot
f87bf3f14d
core: fix class renaming by source file info
2015-04-05 15:56:58 +03:00
Skylot
87347c0a04
core: move enum restore pass to later stage
2015-04-05 15:10:19 +03:00
Skylot
217737b3e8
core: add jadx visitors annotation for describe dependencies
2015-04-05 15:01:11 +03:00
Skylot
efd8bd13da
core: rename classes in default package
2015-04-04 21:40:08 +03:00
Skylot
051bb63a81
core: rename classes for case-insensitive systems ( fix #24 )
2015-04-04 20:56:15 +03:00
Skylot
e4f4de6c8d
core: fix imports for inner classes
2015-04-04 17:52:13 +03:00
Skylot
e6aa85e01d
core: skip tests as workaround for java compiler crush
2015-03-31 22:45:06 +03:00
Skylot
cc4d94321e
core: update android files to 5.1 ( fix #58 )
2015-03-31 22:25:04 +03:00
Skylot
c1292dff75
core refactor: don't use static field in ArgType class
2015-03-29 15:15:56 +03:00
Skylot
1d81cab4a1
core: change anonymous class marking
2015-03-29 14:46:52 +03:00
Skylot
2815cef1bb
gui: show info string if no recent files available
2015-03-29 14:45:19 +03:00
Skylot
d4523c4e53
core: remove 'static' modifier for inner interfaces
2015-03-29 14:43:44 +03:00
Skylot
5d894b6150
core: don't process dependencies of dependencies
2015-03-29 14:38:15 +03:00
Skylot
2eddbb9119
core: move class renaming code from ClassInfo to RenameVisitor
2015-03-26 23:51:53 +03:00
Skylot
a2513240ff
core: fix method parameters annotation parsing ( fix #57 )
2015-03-26 23:50:32 +03:00
Skylot
0d509f94b7
core: fix various processing issues
2015-03-26 23:50:32 +03:00
Skylot
e4fbbcf2d6
core: skip annotations parsing if error occurs ( #57 )
2015-03-25 22:30:22 +03:00
Skylot
9afacf72f8
core: move 'escape' method to string utils
2015-03-25 22:22:09 +03:00
Skylot
78a7e65a2d
core: filter out java core classes from printed stacktraces
2015-03-25 22:18:27 +03:00
Skylot
3314de8dde
core: rename fields and methods in deobfuscation pass.
2015-03-24 23:24:20 +03:00
Skylot
8dab9b83be
core: fix various codegen errors
2015-03-17 23:29:15 +03:00
Skylot
7b264ef2be
gui: add font selection dialog
2015-03-16 22:44:21 +03:00
Skylot
5a6600f748
core: fix try/catch wrap logic ( fix #47 )
2015-03-15 18:47:14 +03:00
Skylot
14ed0c3a3d
core: rename classes with unicode characters or reserved names
2015-03-14 20:35:41 +03:00
Skylot
229d78f1ef
gui: add preferences dialog
2015-03-14 20:35:37 +03:00
Skylot
f770e4ef42
add full license text file
2015-03-14 19:18:59 +03:00
Skylot
66aa2f8f2a
fix issues reported by coverity and code style
2015-03-09 14:00:59 +03:00
Skylot
99d831c498
core: use source file information for deobfuscation, fix code style issues
2015-03-08 17:37:24 +03:00
Skylot
a532287ddf
core: refactor deobfuscator
2015-03-08 14:46:01 +03:00
Skylot
7844e554aa
core: refactor info classes for store only one instance
2015-03-08 14:18:12 +03:00
Skylot
10de4ff490
core: process dependant classes before code generation
2015-03-08 14:18:12 +03:00
Skylot
eed65421ea
core: fix incorrect argument removing in anonymous constructor, inline synthetic field increment method
2015-03-07 20:09:51 +03:00
Skylot
7accc6e516
core: fix synchronized block processing ( fix #46 )
2015-03-07 17:50:50 +03:00
Skylot
fa8f9ccfaa
core: move debug code to separate class
2015-03-07 17:50:33 +03:00
Skylot
8a264ca321
update gradle and dependencies
2015-03-07 17:03:53 +03:00
Skylot
f366eac7eb
core: fix switch in loop ( fix #52 )
2015-03-01 18:27:30 +03:00
Skylot
46d3992b41
core: fix 'finally' extract ( fix #53 and #54 )
2015-03-01 15:31:43 +03:00
Skylot
164123f542
core: improve variable names after 'toString' invoke
2015-03-01 15:21:13 +03:00
Skylot
72c301dc54
core: print error on failed method decode
2015-02-25 22:15:26 +03:00
Skylot
e8fd1e1dc7
core: fix debug info processing NPE
2015-02-24 23:20:54 +03:00
Skylot
2b7f8931a4
core: fix source line for some return instructions
2015-02-21 18:09:14 +03:00
Skylot
ec3b71e5b6
core: don't hardcode attributes count
2015-02-21 17:01:04 +03:00
Skylot
f7303881aa
core: fix annotations processing for method arguments
2015-02-21 16:58:54 +03:00
Skylot
1b98be0b0a
core: fix array type for new-array instruction ( fix #50 )
2015-02-17 14:53:08 +03:00
Skylot
e5b84d942e
core: fix types for constant replace
2015-02-15 17:44:05 +03:00
Skylot
22e9ac22ba
core: fix field search with obfuscated names
2015-02-14 19:28:42 +03:00
Skylot
8a6cdec796
core: refactor fill-array instruction processing and constants replace ( fix #48 )
2015-02-14 17:58:46 +03:00
skylot
c5c4499a55
Merge pull request #49 from NeoSpb/basic_deobfuscation
...
core: added deobfuscation feature (basic functionality)
2015-02-10 22:18:29 +03:00
NeoSpb
30138f7a38
core: added deobfuscation feature (basic functionality)
2015-02-10 20:37:12 +03:00
Skylot
883429fa47
core: fix enum class processing for obfuscated code
2015-02-07 21:18:53 +03:00
Skylot
380ee75d9a
core: fix constants replace for constructors and other instructions
2015-02-07 21:18:46 +03:00
Skylot
99d9814083
don't use concatenation in logger, fix other small code style issues
2015-02-07 17:58:19 +03:00
Skylot
141398aeac
core: replace 'move' instruction instead argument inline
2015-01-31 14:28:01 +03:00
Skylot
07cef6fd62
update dependencies versions
2015-01-31 14:28:01 +03:00
Skylot
aac041f960
core: fix logs and code style
2015-01-31 14:28:01 +03:00
skylot
6ef1600041
Merge pull request #44 from NeoSpb/fixdbgparser
...
Fix processing of debug info
2015-01-17 19:43:18 +03:00
NeoSpb
733836ea2d
core: fix processing of debug info (if local variable used before declaring a debug info)
2015-01-13 19:42:57 +03:00
Skylot
b4767626d9
core: prevent ClassCastException in StringBuilder chain converter
2015-01-12 23:34:03 +03:00
Skylot
84edfac8fa
resources: improve string pool decoding and errors reporting
2015-01-12 23:33:36 +03:00
Skylot
69252ce721
core: fix processing 'try/catch' in 'if' block
2015-01-12 23:32:48 +03:00
Skylot
df1152516a
core: print original value near replaced with field value in switch
2015-01-10 21:30:21 +03:00
Skylot
02f9c25f52
core: support fall through cases in switch
2015-01-10 21:19:55 +03:00
Skylot
7fb3988173
resources: skip padding zeroes for UTF-8 string pool
2015-01-09 16:13:01 +03:00
Skylot
a50352780b
core: use resources ids in manifest decoding
2015-01-07 14:47:26 +03:00
Skylot
ff093aeebb
core: fix strings pool parsing in '.arsc' file
2015-01-07 12:45:08 +03:00
Skylot
aa691af664
core: replace resources ids with names from '.arsc' file
2015-01-07 12:18:45 +03:00
Skylot
e0ffb01852
core: first implementation of '.arsc' parser
2015-01-06 19:22:45 +03:00
Skylot
53be92c616
core: fix decoding UTF-8 strings in xml resources
2015-01-03 17:06:41 +03:00
Skylot
5f8f454b55
gui: show resources
2015-01-02 20:46:51 +03:00
Skylot
3700ecb717
core: add resources methods to jadx API
2015-01-02 20:46:44 +03:00
Skylot
811b0e7f30
core: fix 'break' insertion for switch/case blocks ( fix #41 )
2014-12-31 21:25:26 +03:00
Skylot
08ea61f4df
core: don't traverse exception handlers twice (includes in TryCatchRegion)
2014-12-31 21:14:50 +03:00
Skylot
1d5368f5a2
core: improve out block detection in switch (issue #38 )
2014-12-27 23:28:48 +03:00
Skylot
90fb95e785
core: check arguments for field arithmetic operations ( fix #40 )
2014-12-27 20:17:03 +03:00
skylot
0f97f07461
Merge pull request #39 from NeoSpb/warn_switch
...
core: show warning when failed to detect out node in non trivial switch
2014-12-26 23:43:37 +03:00
NeoSpb
7fe6b842a6
core: show warning when failed to detect out node in non trivial switch
2014-12-26 22:13:49 +03:00
skylot
02a97bcb3a
Merge pull request #37 from NeoSpb/fix_gui_save_manifest
...
fix save AndroidManifest.xml when jadx-gui used
2014-12-26 21:48:42 +03:00
NeoSpb
fd4289aa64
fix save AndroidManifest.xml when jadx-gui used
2014-12-26 21:14:43 +03:00
Skylot
716db8b964
manifest: restore application references and Android values (enums, flags)
2014-12-24 23:27:26 +03:00
Skylot
b55975a35a
core: reformat code and fix small issues in BinaryXMLParser
2014-12-23 23:27:50 +03:00
skylot
4cb34394b4
Merge pull request #36 from YASME-Tim/xmlparser
...
Added first implementation of an AndroidManifest.xml Parser! ;)
2014-12-23 21:50:23 +03:00
YASME-Tim
aacb83290e
Added option flag to make androidmanifest.xml decompiling optional.
2014-12-22 22:11:04 +01:00
YASME-Tim
ddab4c269d
Removed debug output.
2014-12-22 14:04:28 +01:00
YASME-Tim
6ddb0036fa
Added style decoding and a first decoding for data type 17.
2014-12-22 13:36:10 +01:00
YASME-Tim
0f7ca8cea4
Added a whitespace before oneLiner ends.
2014-12-22 11:56:06 +01:00
YASME-Tim
c4367e25a9
Removed call in main method.
2014-12-22 00:44:29 +01:00
YASME-Tim
e081aadd27
Added xml header
2014-12-22 00:44:02 +01:00
YASME-Tim
2bacab7dc0
Removed old less-warnings branch commit changes.
2014-12-22 00:40:09 +01:00
YASME-Tim
824db6be2b
Removed BinaryXMLParser Call in main method.
2014-12-22 00:15:30 +01:00
YASME-Tim
2fdb26146b
Refactored attribute value printing.
2014-12-22 00:14:46 +01:00
YASME-Tim
b87d1a7fe1
Fixed XML oneLiners. Added another attribute value data type
2014-12-22 00:11:37 +01:00
YASME-Tim
c242a62bcc
Write xml to a given output file instead of stdout.
2014-12-21 23:26:02 +01:00
YASME-Tim
6c91bce663
Correct tab numbers. Some little things still missing.
2014-12-21 23:03:15 +01:00
YASME-Tim
7fd46633a3
First near working example for first sample.
2014-12-21 22:37:50 +01:00
YASME-Tim
3c425990f6
Boundaries check. Testing with other given xml binaries.
2014-12-21 22:30:32 +01:00
YASME-Tim
55f16cc3ec
Boundaries check. Testing with other given xml binaries.
2014-12-21 22:30:21 +01:00
YASME-Tim
e01789bb0d
Added first implementation of the AndroidManifest XML Parser
2014-12-21 22:05:44 +01:00
skylot
e3696af8ea
Merge pull request #34 from YASME-Tim/zip-file
...
Added support for files ending in .zip.
2014-12-20 11:20:26 +03:00
YASME-Tim
a26d7b5a8b
Removed some warnings about collections without type specifiers.
2014-12-19 23:40:35 +01:00
YASME-Tim
c4fe9150bf
Added support for files ending in .zip.
2014-12-19 22:42:14 +01:00
Skylot
ffc642048e
core: fix type check for loop over iterable.
2014-12-18 22:24:28 +03:00
Skylot
8de6190a81
core: fix type inference for arguments in Phi node ( fix #33 )
2014-12-17 23:18:44 +03:00
Skylot
d6e2c69202
travis: use container based build
2014-12-17 23:18:44 +03:00
Skylot
1a85fa8e3c
core: fix complex conditions with mode alternation ( fix #31 )
2014-12-13 18:24:36 +03:00
skylot
c7b8508c6f
Merge pull request #29 from riboribo/master
...
Extended convertInvoke to support more StringBuilder formats
2014-12-03 22:50:27 +03:00
Bob Flavin
c35f6e2543
Extended convertInvoke to handle calls to StringBuilder constructor with
...
arguments, ie: new StringBuilder("str") or new
StringBuilder(String.valueOf(var))
2014-12-03 12:34:02 -05:00
Bob Flavin
8052a90d04
Extended string concatenation code to handle arguments in 'new
...
StringBuilder()' constructer, ie 'new StringBuilder("str")' or 'new
StringBuilder(String.valueof(varName))'
2014-12-03 11:58:04 -05:00
Skylot
3d20d7d330
core: improve 'finally' extraction, refactor instructions
2014-11-29 20:48:04 +03:00
Skylot
5e722c6827
fix issues reported by coverity
2014-11-29 20:48:04 +03:00
Skylot
10198bc87f
gui: update RSyntaxTextArea version, refactor new version checks
2014-11-29 20:47:54 +03:00
Skylot
a6b4043e8c
update gradle and dependencies
2014-11-29 16:08:29 +03:00
Skylot
9cea0163fa
core: fix BlockNode hashCode function
2014-11-29 14:43:51 +03:00
Skylot
577176dd31
core: implement 'finally' block extraction
2014-11-26 22:00:47 +03:00
Skylot
a135eb44f3
core: check registers numbers, fix fallback mode
2014-11-13 22:42:52 +03:00
Skylot
252ed0e1e4
bump version
2014-11-09 16:48:21 +03:00
Skylot
fcb120a3ed
core: suppress type error exception
2014-11-09 15:34:19 +03:00
Skylot
988628a2e7
core: fix variable declaration used in several loops
2014-11-09 14:55:33 +03:00
Skylot
c24cdf5cc1
core: fix constructor instruction replacement
2014-11-08 20:38:22 +03:00
Skylot
d748e004d2
core: fix missing parenthesis in conditions
2014-11-08 20:38:22 +03:00
Skylot
380b73d1b9
core: sort methods by source line number
2014-11-08 20:38:17 +03:00
Skylot
ef85e29a9b
core: improve 'break' and 'continue' insertion
2014-11-07 23:03:32 +03:00
Skylot
1daf5d1090
core: fix condition processing ( resolve #25 )
2014-11-07 21:39:27 +03:00
Skylot
9d2c0e4aea
core: fix type inference and const inline for arrays
2014-11-07 20:07:18 +03:00
Skylot
7277ebb9c4
core: expand arrays for vararg arguments
2014-11-04 15:42:48 +03:00
Skylot
c18074f6aa
core: insert 'continue' instruction
2014-11-03 22:31:21 +03:00
Skylot
8a706193e7
core: fix indexed loop checks
2014-11-03 22:04:42 +03:00
Skylot
9d77f5f5df
update dx library and dependencies
2014-11-03 15:22:49 +03:00
Skylot
6951d0e646
core: use NotNull and Nullable annotations
2014-11-03 15:13:52 +03:00
Skylot
73dd55eac2
core: fix code style issues
2014-11-03 15:11:48 +03:00
Skylot
b5a9389cc6
core: fix variables inline in 'catch' block
2014-11-03 14:53:27 +03:00
Skylot
d905c96fbe
core: refactor 'catch' clause variable processing
2014-11-02 19:06:41 +03:00
Skylot
03f03f85af
core: replace removed synthetic constructor
2014-11-01 15:46:57 +03:00
Skylot
2b00a8a406
core: disable parenthesis remove (break code in most cases)
2014-10-25 22:36:21 +04:00
Skylot
f31c2dcd21
core: fix processing 'if' at loop end
2014-10-24 23:12:42 +04:00
Skylot
7699cfac02
tests: fix build on Windows
2014-10-23 21:30:46 +04:00
Skylot
5c48a457b4
fix code style issues
2014-10-19 19:07:15 +04:00
Skylot
b5f439e1aa
tests: reformat code
2014-10-19 18:01:32 +04:00
Skylot
202fe5a0a9
core: fix links for fields in nested classes
2014-10-18 23:08:15 +04:00
Skylot
68ccf57bd4
core: fix type detection for method arguments
2014-10-18 23:08:10 +04:00
Skylot
84970759d8
core: fix switch over enum with several enums in class
2014-10-14 22:38:29 +04:00
Skylot
53cac58ebe
core: fix processing of last instruction in 'try' block
2014-10-11 22:44:26 +04:00
Skylot
adc32ed319
fix minor issues
2014-10-11 22:44:26 +04:00
Skylot
7f0815a7b2
core tests: add option for compile test without debug info
2014-10-11 22:21:40 +04:00
Skylot
68f5565b63
core: improve processing of 'try/catch' and 'break' in loops
2014-10-11 22:21:30 +04:00
Skylot
c552fb857d
core tests: replace several classes in dynamic class loader, add additional checks
2014-10-07 22:19:54 +04:00
Skylot
8a4ec47b92
core: support break with label for simple cases
2014-09-29 23:44:36 +04:00
Skylot
d281126337
core: fix processing try/catch in loop
2014-09-27 20:09:25 +04:00
Skylot
4fb6ada5ec
core: fix type inference for phi nodes
2014-09-26 22:19:23 +04:00
Skylot
ab924faa1e
core: don't remove empty catch blocks
2014-09-22 22:48:25 +04:00
Skylot
b12b129af7
travis: add jdk8 to build matrix
2014-09-22 22:34:44 +04:00
Skylot
017c6b4d42
core tests: compile decompiled code
2014-09-22 22:25:42 +04:00
Skylot
d55cd5fbb4
core tests: organize directories
2014-09-22 22:02:42 +04:00
Skylot
13a6b1c8c6
core: add 'show inconsistent code' parameter
2014-09-20 13:43:55 +04:00
Skylot
0bc37e5d32
gui: fix jump manager
2014-09-20 13:01:20 +04:00
Skylot
46c8572887
core: restore switch over enum
2014-09-18 20:59:39 +04:00
Skylot
e6b919007c
gui: add new version notification
2014-09-16 22:03:18 +04:00
Skylot
ac5a6096bb
core: fix constructor call for moved arg ( fix #20 )
2014-09-13 18:55:17 +04:00
Skylot
db527fbbda
core: add api for write tests using smali
2014-09-13 18:55:17 +04:00
skylot
8f201f1fee
Merge pull request #19 from NeoSpb/fix3
...
core: fix processing of debug info (markup of local variables)
2014-09-13 14:19:19 +04:00
Anton Dyachenko
d1e0762c12
core: fix processing of debug info (markup of local variables)
2014-09-12 19:24:44 +04:00
Skylot
010ae99c69
core: restore simple for-each loop over iterable object
2014-09-07 16:49:02 +04:00
Skylot
a4632d6e86
core: fix high memory usage while process conditions
2014-09-04 22:35:47 +04:00
Skylot
2a3162f869
core: don't set 'skip' flag for failed nested 'if' merge (issue #18 )
2014-09-02 22:46:12 +04:00
skylot
2063fd0742
Merge pull request #17 from NeoSpb/fix2
...
Fix2 by NeoSpb
2014-09-02 20:47:14 +04:00
Anton Dyachenko
128fe8a839
core: fix resolving the instance field in the 2nd and more nested inner class
2014-09-02 20:05:15 +04:00
Anton Dyachenko
2478fc3a1b
core: fix instance initializer producing (don't generate super() call)
2014-09-02 19:55:26 +04:00
Skylot
5a68d3bef7
core: restore for-each loop over array
2014-09-01 23:09:04 +04:00
Skylot
195eeceb62
core: restore simple indexed loops
2014-08-30 23:15:51 +04:00
Skylot
ec8309af49
core: fix processing 'if' at loop end
2014-08-20 22:02:00 +04:00
skylot
627a4dc802
add contribution section to readme
2014-08-19 23:25:25 +04:00
Skylot
e2018535ef
core: add ternary conditions processing
2014-08-19 22:27:51 +04:00
Skylot
ee56610f06
core: allow method name be same as class name (issue #15 )
2014-08-18 20:45:50 +04:00
skylot
fb9ff7748a
Merge pull request #14 from NeoSpb/gui_preferences
...
gui: add saving preferences (open/save paths, flatten packages)
2014-08-17 13:22:08 +04:00
Anton Dyachenko
cdfb46d9d3
gui: add saving preferences (open/save paths, flatten packages)
2014-08-17 12:01:46 +04:00
Skylot
5545a94a9e
core: process nested ternary operators
2014-08-16 17:39:30 +04:00
Skylot
9e811d959b
core: add method for print line numbers
2014-08-16 17:16:56 +04:00
Skylot
957d5394d2
refactor: add static methods for create DotGraphVisitor
2014-08-16 17:06:50 +04:00
Skylot
95afe1219e
core: don't cache dex strings (old workaround for bug in dx)
2014-08-16 15:07:06 +04:00
Skylot
07937f1d71
bump version to 0.5.3
2014-08-16 15:06:55 +04:00
Skylot
671be0af0a
add jadx-gui screenshot
2014-08-15 23:08:18 +04:00
Skylot
7e9278f992
don't hardcode maximum Java heap size
2014-08-15 22:39:34 +04:00
Skylot
9194441c47
add ASM to NOTICE file
2014-08-15 22:38:50 +04:00
Skylot
4f307c0085
core: allow subblock replace for 'if' region
2014-08-14 22:38:29 +04:00
Skylot
3bdda55102
core: inline filled array creation
2014-08-14 22:23:13 +04:00
Skylot
b657b0fb1f
core: fix 'if' processing in 'do/while' loop
2014-08-12 23:00:29 +04:00
Skylot
4935ae6da5
core: hide value parser constants
2014-08-12 22:58:20 +04:00
Skylot
72a50eae43
core: fix missing blocks in loop region
2014-08-11 22:29:10 +04:00
Skylot
fa37b90cff
core: fix processing try/catch in other catch
2014-08-10 22:36:42 +04:00
Skylot
052a8db606
core: resolve minor issues
2014-08-09 19:32:13 +04:00
Skylot
88ccba166e
core: don't inline variables defined in 'try' and used in 'catch'
2014-08-08 22:10:10 +04:00
Skylot
58998089a6
core: redone 'if' structure checking
2014-08-07 22:20:47 +04:00
Skylot
f0a73b329e
core: fix processing conditions in loop
2014-08-06 22:28:29 +04:00
Skylot
c97678a477
refactor: make ErrorsCounter non static
2014-08-05 22:48:31 +04:00
Skylot
2ad739275f
core: handle special values for numbers
2014-08-04 22:07:10 +04:00
Skylot
caad78885d
core: check for duplicated code generation
2014-08-02 16:39:14 +04:00
Skylot
a234227b9f
core: fix errors in try/catch processing (issue #13 )
2014-08-02 16:33:52 +04:00
Skylot
16f736e773
core: fix missing 'catch' code
2014-07-30 23:05:39 +04:00
Skylot
1fe24ad11d
travis: cache dependencies
2014-07-29 23:41:10 +04:00
Skylot
33c5e0827a
core: always check arguments before inline
2014-07-29 22:59:53 +04:00
Skylot
cbd36aeb8f
core: fix unused variables declaration
2014-07-29 22:34:18 +04:00
Skylot
2963bb3f41
core: fix issues reported by coverity
2014-07-28 23:19:48 +04:00
Skylot
09a6ceac63
gui: replace underline to color highlight (experimental)
2014-07-28 22:50:55 +04:00
Skylot
75d8a01cab
core: improve error reporting
2014-07-28 22:50:55 +04:00
Skylot
0968f75e9a
core: fix condition in loops (issue #9 )
2014-07-28 22:50:42 +04:00
Skylot
bc0db88afa
update gradle and dependencies versions
2014-07-18 23:29:36 +04:00
Skylot
5f11f12d0c
core: remove redundant spaces for enums
2014-07-18 21:21:24 +04:00
Skylot
2d18950542
core: add some integration tests
2014-07-17 23:32:18 +04:00
Skylot
50d314445a
core: fix code style
2014-07-17 23:31:07 +04:00
Skylot
f8d57d9265
core: decompile '.class' files
2014-07-15 23:45:25 +04:00
Skylot
ebbe6db378
core: fix complex 'if' processing (issues #9 and #12 )
2014-07-12 21:26:14 +04:00
skylot
543cad3a23
Merge pull request #11 from Fruiter/master
...
core: fix nested try-catch blocks processing
2014-07-07 21:13:23 +04:00
fruiter
41cc83dbf6
core: fix nested try-catch blocks processing
2014-07-06 20:15:20 -04:00
Skylot
ce7101be88
core: always inline 'this' (issue #10 )
2014-06-28 15:39:35 +04:00
Skylot
0a241e3a9c
core tests: add custom string matchers
2014-06-28 15:38:50 +04:00
Skylot
37857e88ea
core: fix switch statement processing (issue #9 case 2)
2014-06-24 14:08:20 +04:00
Skylot
6fbcf46a8b
core: refactor return remover visitor
2014-06-24 14:08:20 +04:00
Skylot
a36bc8f29a
core: add serial uid to JadxRuntimeException
2014-06-24 14:08:20 +04:00
Skylot
813b7bca6e
core: sort error nodes in execution report
2014-06-23 23:37:39 +04:00
Skylot
e2945f2a42
core: limit region traversal iterations count
2014-06-23 23:37:39 +04:00
Skylot
eaf623a560
gui: fix sync with editor
2014-06-20 20:20:35 +04:00
Skylot
26aa504590
core: guard endless regions processing
2014-06-20 17:08:07 +04:00
Skylot
e4dde3f4b6
core: fix class cast exception
2014-06-15 21:35:34 +04:00
Skylot
9c90699c40
core: fix parsing of generic signature with inner classes
2014-06-15 17:42:48 +04:00
Skylot
b67cd50e8a
gui: add definitions search window
2014-06-14 19:38:24 +04:00
Skylot
d2acaa03f5
core: guess variable name from assign instruction
2014-06-06 21:22:20 +04:00
Skylot
f2aa4cd10b
core: make better variables naming
2014-06-05 19:40:57 +04:00
Skylot
b940b99e75
core: fix issues in variable names and try/catch blocks
2014-06-03 23:08:40 +04:00
Skylot
868e0706ea
core: fix source line number parsing and saving
2014-05-31 16:58:03 +04:00
Skylot
324f544ba2
gui: show source line numbers
2014-05-31 16:17:40 +04:00
Skylot
0a1981f90e
gui: add hyperlinks for classes and fields
2014-05-25 23:14:29 +04:00
Skylot
0a36bfb088
core: fix try-catch blocks processing
2014-05-24 19:55:29 +04:00
Skylot
0d94af099b
core: improve 'if' detection with 'return' instruction
2014-05-18 00:28:43 +04:00
Skylot
4a6115ed64
core: refactor attribute storage
2014-05-14 21:12:39 +04:00
Skylot
42eb319751
fix issues reported by Coverity
2014-05-12 22:08:33 +04:00
Skylot
343bddc6ad
core: fix 'break' detection in loop
2014-05-12 22:08:33 +04:00
Skylot
632a742ea9
core: fix method inline
2014-05-12 22:08:33 +04:00
Skylot
08c9d1228a
core: inline 'cmp' instruction
2014-05-12 22:08:33 +04:00
Skylot
11d8b28fb4
core: fix variable rename
2014-05-12 22:08:33 +04:00
Skylot
12b6371209
core: fix basic block initial id
2014-05-12 22:08:33 +04:00
Skylot
24d22aaafb
core: fix 'if' detection
2014-05-12 22:08:33 +04:00
Skylot
ebf7822628
use spock framework for unit tests
2014-05-12 22:08:33 +04:00
Skylot
7669fa1582
update dependencies, add coveralls badge
2014-05-12 22:08:33 +04:00
Skylot
e49ba61917
core: use SSA representation for instruction arguments
2014-05-12 22:08:32 +04:00
Skylot
96db1c2479
core: reformat code
2014-05-12 21:59:37 +04:00
skylot
7abdb41a9e
Merge pull request #7 from bkerler/master
...
Add support for dx 1.8 library
2014-05-12 21:28:55 +04:00
Bjoern Kerler
14f6d2f3b0
Add support for dx 1.8 library
2014-05-12 09:12:34 +02:00
Skylot
4e4b4975ad
core: fix method redecompilation (issue #6 )
2014-04-24 23:44:30 +04:00
skylot
93fafcf886
Merge pull request #5 from dnet/master
...
removed unused private method getCodePanel(int)
2014-04-02 22:03:57 +04:00
András Veres-Szentkirályi
82cc88a1b9
removed unused private method getCodePanel(int)
2014-04-02 17:10:34 +02:00
Skylot
5c94e0bccc
core: improve exceptions handling
2014-03-27 23:24:20 +04:00
Skylot
18a1788d2d
gui: fix class members expand
2014-03-25 23:04:00 +04:00
Skylot
d0aa19118b
core: fix comodification exception
2014-03-25 21:21:30 +04:00
Skylot
039f6eebda
core: rename depth traversal class
2014-03-25 21:20:47 +04:00
Skylot
8a464e8274
core: fix condition processing errors
2014-03-23 23:00:25 +04:00
Skylot
066b5a895d
core: refactor 'if' regions processing
2014-03-22 17:19:01 +04:00
Skylot
4c4af7928e
core: fix dot graph dump
2014-03-19 21:42:10 +04:00
Skylot
a0d8d9fcc6
core: fix 'break' detection in loops
2014-03-17 23:39:33 +04:00
Skylot
a2142b2ff8
gui: add tabbed pane menu
2014-03-16 16:47:38 +04:00
Skylot
5ed5ec5f7d
gui: refactor UI classes
2014-03-16 13:16:19 +04:00
Skylot
95795620d5
core: fix indent for 'break' in 'case' block, refactor tests
2014-03-11 23:56:28 +04:00
Skylot
890c0a9909
refactor: remove deprecated methods
2014-03-10 23:00:14 +04:00
Skylot
b73cb40690
core: refactor DotGraphVisitor
2014-03-10 16:19:24 +04:00
Skylot
ca448fc4d8
core: fix variable definitions for 'try' blocks
2014-03-10 15:28:12 +04:00
Skylot
7a51c0d087
core: fix signature processing for local variables
2014-03-10 15:06:03 +04:00
Skylot
8762125bbf
remove logback from jadx-core dependencies
2014-03-10 12:20:26 +04:00
Skylot
3d0c6e49ab
core: fix inline in 'move' instruction
2014-03-10 11:36:20 +04:00
Skylot
03da35b29e
core: fix wildcard signature processing
2014-03-09 23:06:17 +04:00
Skylot
3ccab60f43
core: remove redundant parenthesis for arithmetic operations
2014-03-09 19:13:49 +04:00
Skylot
ed64b8c121
gui: add hyperlinks for jump to definitions
2014-03-09 17:48:04 +04:00
Skylot
2a60ac47fe
core: annotate generated code with reference to used methods
2014-03-09 17:14:58 +04:00
Skylot
9cd72fe1e9
update dependencies version
2014-03-09 17:02:19 +04:00
Skylot
476b2c3735
core: fix inner class handling in classpath and signature parser
2014-03-04 23:37:42 +04:00
Skylot
5258c8363a
core: fix NPE in loops processing
2014-03-04 23:32:52 +04:00
Skylot
eb6d145dca
core: fix indent for anonymous classes
2014-03-03 22:36:38 +04:00
Skylot
63c003a02d
core: fix generic types for local variables
2014-03-02 23:34:56 +04:00
Skylot
5557fd814b
fix some code style issues
2014-03-02 23:34:40 +04:00
Skylot
b1dc26ee06
core: fix missing imports for anonymous classes
2014-03-02 22:30:26 +04:00
Skylot
56c0a588de
core: fix imports for inner classes with same names
2014-03-02 16:30:11 +04:00
Skylot
47d65fcd87
core: improve signature parser
2014-03-01 22:38:18 +04:00
Skylot
85ab095630
core: fix class imports
2014-02-26 23:01:00 +04:00
Skylot
1b5f0f6af6
core: move tests
2014-02-26 22:58:22 +04:00
Skylot
2cf28eb2e7
core: fix loop detection
2014-02-25 23:53:30 +04:00
Skylot
2b300341a0
core: improve error reporting for inconsistent code
2014-02-25 23:52:05 +04:00
Skylot
01fabca358
core: fix 'this' reference in anonymous classes
2014-02-25 22:30:27 +04:00
Skylot
4ace552a27
core: fix duplicate cast
2014-02-23 01:19:46 +04:00
Skylot
b61daaed33
core: fix synchronized block processing
2014-02-22 23:22:59 +04:00
Skylot
c6f0c89cf6
core: fix indent for anonymous class
2014-02-22 18:54:51 +04:00
Skylot
3c84975a09
fix code style issues
2014-02-22 18:54:51 +04:00
Skylot
bb4ef4f0a2
core: simplify conditions
2014-02-22 18:54:51 +04:00
Skylot
fd00330e6e
update gradle to 1.11
2014-02-22 18:54:41 +04:00
Skylot
d10efec1ab
core: fix type for one time used args
2014-02-13 23:08:24 +04:00
Skylot
3f08c99f19
core: use ternary operator
2014-01-03 23:48:40 +04:00
Skylot
e3606d1b53
reformat code (force braces)
2014-01-03 23:30:30 +04:00
Skylot
ab593e3cd9
refactor some classes
2014-01-03 22:54:31 +04:00
Skylot
4a0aacf104
gui: fix inner classes opening
2013-12-28 19:35:03 +04:00
Skylot
917cf20d37
core: fix decompiled lines info
2013-12-28 19:33:52 +04:00
Skylot
dabaeed8df
core: add return type to method short id
2013-12-28 15:58:25 +04:00
Skylot
4923b36e70
core: move instruction remover class to utils
2013-12-28 15:53:25 +04:00
Skylot
ebf06fde65
gui: remove not generated elements from class node tree
2013-12-27 23:30:20 +04:00
Skylot
438b3b50d9
gui: fix missed nodes in hierarchical packages tree
2013-12-26 23:33:38 +04:00