add cast for null in overloaded methods (#636) (PR #637) (77cee15)

add correct type propagation for check-cast and move instructions (#401) (7bd1752)

add labels from NOP instructions in fallback mode (#666) (5efe4bd)

add missing import for class generics map (PR #480) (dd2e7e8)

add more details for variable with type inference error (2dea6f5)

add primitive cast in ternary for byte and short (PR #601) (632cc3e)

additional checks for loop exit edges and 'for' conversion (#483) (6e66dc2)

additional checks for synthetic methods remove, rename and inline (#452) (28d348b)

allow APK files without code (no contained dex files) (PR #455) (91691fb)

allow override type with wider one only from debug info (#403) (b9fffa1)

always use FileUtils.createTempFile (PR #634) (cab3f5d)

avoid ConcurrentModificationException in EliminatePhiNodes pass (e1ca290)

avoid local variables collision with full class names (#647) (52ba33c)

better String constructor from byte and char arrays (#530) (PR #533) (ec66476)

bitwise or/and with non-boolean (#628) (PR #629) (9645f33)

byte to number without cast (#596) (PR #638) (e1dfb4e)

cast of int-to-(number) when int is boolean (#596) (PR #602) (c134329)

change exception to soft warning for getType in RegisterArg (3492ec3)

change type update collection to produce deterministic results (68d074a)

check block before insert additional move instruction for type inference (cbdc249)

check if synthetic class not yet processed but must be removed (#450) (d069928)

check variable usage before convert indexed loop to for-each variant (#483) (2c07253)

close resource (PR #546) (a6f935e)

conditions in ternary if (#449) (PR #558) (eb77aa5)

correct arg replace in PHI instruction (#462) (2383c40)

don't cast overloaded methods with generics from other class (#448) (008216d)

don't reject type update for generics (43de744)

don't remove empty default constructor if other constructors exists (#460) (dd13edf)

don't rename constructors (554e119)

don't rename R class fields alias (PR #492) (5f0dbf8)

don't rename R class in deobfuscation (#572) (PR #573) (ab4721a)

don't replace resources names with field names (#465) (7243ab5)

field increment (PR #550) (bae7f1b)

forbid to change types for methods arguments (b689efc)

generates XML key names if empty (#394) (PR #615) (c74b7f2)

generics constructor types (PR #594) (bcfed5b)

handle anonymous class self inlining (#604) (9d5dda1)

handle big .jar files (using multi-dex option) (#390) (PR #568) (79ccaad)

handle boolean condition with bitwise OR and AND (#202) (PR #522) (b78349a)

handle cases with SSA variable used in several PHI's (#667) (6c61ce5)

handle NOP instructions in unexpected places (#666) (1830c27)

handle NPE for methods with removed instructions (#342) (PR #583) (395cae4)

hide debug type inference logs (d553157)

hide first argument instead remove for constructor in inner class (653bb2a)

ignore NOPs in try-catch (#668) (f02a33a)

ignore not generated insns in CodeShrinker visitor (PR #560) (7b18d3a)

implement new type inference approach (21e11c1)

improve bridge methods renaming (#397) (db1b027)

improve class renaming and add checks for class alias usage (#532) (f283ef4)

improve errors handling (84b9f11)

improve fallback mode dump (add types, remove label after if) (4197365)

improve filled array detection (389caf1)

improve generated code on errors (dae882d)

improve rename checks and show rename reason (#584) (19c5725)

inline anonymous classes with not default constructor (#450) (4cb9f23)

inline constants in chained move instructions (#399) (95f9ab0)

inline desugared lambda classes (#467) (7654661)

loading aar/jar files (#631) (PR #632) (db7f2cf)

made correct instructions remove in new filled array replacement (#461) (17d8516)

merge new-array and fill-array-data with move between (#462) (98e4c4b)

move instruction out of try/catch (#468) (52deb48)

move test class and rename GUI message (PR #555) (1e55411)

NPE if loading local file from CLI (jadx sample.apk) (7bb7527)

prevent NPE while processing try/catch regions (#673) (b158858)

prevent stack overflow in type inference if update tree is too deep (0ca2789)

process field init code in dependency collector (#467) (03ae3bc)

produce more deterministic code (89b8090)

redone class alias processing (#532) (7ac0b9f)

redone finally extract (c892395)

redundant byte and short cast (#538) (PR #539) (b5344f4)

regenerate method code if unexpected instruction is found (#462) (75a6714)

reimplement variable declaration visitor (9b091b7)

remove declaration of unused variable (PR #590) (b1b49e6)

remove field redundant array type when initialized (PR #567) (513766d)

remove generics cast when object types match (#591) (PR #592) (01da127)

remove invalid chars from class names (#453) (9856b6d)

remove invalid chars from class names (#488) (5169dc5)

remove redundant array type when initialized with declaration (PR #566) (ecaa87e)

remove redundant cast over similar conditions (PR #612) (05e5c82)

remove redundant wrapping for same arith operations (PR #559) (058e4c9)

remove static field redundant array type when initialized (PR #580) (a1bfdc6)

remove unreachable blocks (#451) (0fa19fb)

rename class if all chars not printable (#622) (31a02a7)

rename class with reserved java keywords (#485) (PR #488) (d5f4266)

rename field if collide with any root package (#647) (f846df5)

rename parameters in annotations (#504) (29d3ce1)

rename R fields using resource names (#465) (6116a75)

replace dot character with underscore in style resource name (PR #466) (a4a8b05)

replace recursive analysis algorithms with iterations to avoid StackOverflow on big methods (#441) (710245d)

resolve check cast exception in string constructor simplify (41abbb1)

resolve mix up in SKIP and DONT_GENERATE flags (21acaa8)

resolve NPE due to not yet processed class (#595) (f1539d2)

resource qualifiers (PR #487) (650cf31)

restore support for AAR files (issue #95) (PR #464) (4353890)

safe SSA variables replacement in filled new array instruction (#399) (4e990ae)

search in resource classes by original name, not by alias (#562) (PR #571) (23c05bb)

search smali class by original name (156c979)

show type inference errors as method comments (87c1231)

skip duplicated block in complex if (#441) (7f4e641)

skip trailing bytes in resource table decoding (#487) (999793c)

stack overflow cause lamdba throw BootstrapMethodError in JDK 8 (119709b)

store condition blocks in 'if' region for correct blocks list (#669) (f0f5c26)

treat filesystem as case insensitive by default, option added for change (699f7f6)

UnsupportedOperationException in overloaded method process (#462) (305cf53)

use '$' as separator for inner classes in .jobf file (#415) (ee6508e)

use alias as a base for class rename if file system is case sensitive (#474) (1bb5332)

use multi-variable type search algorithm if type propagation is failed (4ce5cc8)

use original call class for invoke inherited methods (#413) (6a1717a)

use quantity attribute for plurals (PR #486) (42b7843)

use soft checks for objects and arrays in 'if' type listener (#401) (37071db)

use types with generics for overloaded method casts (#402) (995cf2a)

variable usage with enhanced for loop (#535) (PR #547) (e6e8f63)

workaround for primitive values if type resolved incorrectly (#671) (123ba2b)

xor with boolean (#409) (PR #516) (eb2a173)

gui: add missing translations keys, and ensure all files match (PR #525) (ba6dd08)

gui: add scroll to preferences dialog (7e95758)

gui: back button was defect since #653 (1c914ff)

gui: closing jadx main window terminates JVM (#639) (PR #641) (745c52e)

gui: detect if a window is opened inside a visible screen (PR #521) (3537f84)

gui: disable all components on saving the settings (PR #586) (ac1d1a5)

gui: exclusion disablement should be exact package match (PR #500) (eed762d)

gui: fill background before draw line numbers (#404) (5ad0826)

gui: NPE if the autosave is enabled and project is initial (PR #565) (0a08d8b)

gui: preserve main window maximized state (PR #626) (172f7f7)

gui: printUsage for jadx-gui now shows the new gui only parameter(s) (PR #660) (8e0df4c)

gui: remove output directories from persistent settings (#447) (f8acc31)

gui: remove tree children expansions as well (PR #630) (58365a8)

gui: separate SearchBar for Java and Smali code areas (PR #653) (4b73d24)

gui: show current font in preferences (d44dd0d)

gui: show java version, instead of VM version in about dialog (PR #489) (2e9039d)

gui: sort classes by case insensitivity (PR #613) (9d22b3c)

gui: sort resources according to their type, then name (PR #479) (9797fe5)

gui: update chinese simplified language (PR #508) (b49acfd)

gui: use alias for field and method types in tree view (6282633)

gui: use command (CMD) button for MacOS (#165) (PR #616) (cfbbd99)

gui: use same font loader as code viewer (#584) (336d6ce)

gui: use system font as default instead bundled Hack (#442, #445) (bcadc28)

res: ignore resource entry with -1 key (#556) (PR #557) (9d257cd)

scripts: support spaces in java path for windows scripts (#686) (a051ce6)

GitHub 加速计划 / ja / jadx
40.4 K
4.78 K
下载
skylot/jadx: 是一个用于反编译Android应用的工具。适合用于需要分析和学习Android应用实现细节的开发者。特点是可以提供反编译功能,将Android应用打包的APK文件转换成可阅读的Java代码。
最近提交(Master分支:1 个月前 )
699ceb19 - 3 天前
5c83c225 - 4 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐