Releases: androguard/androguard
v4.1.1
What's Changed
- Added error handling for ResParserError by @Ch0pin in #1008
- fix 4-byte aligned padding by @backtohuman in #1009
- fix for 1006 by @erev0s in #1011
- Ensure all Fields and Strings get wrapped as FieldAnalysis and StringAnalysis respectivly when creating Analysis by @ehrenb in #1010
- supplementary for 1006 by @erev0s in #1013
- Reserved values res0/res1 error by @erev0s in #1016
New Contributors
- @Ch0pin made their first contribution in #1008
- @backtohuman made their first contribution in #1009
Full Changelog: v4.1.0...v4.1.1
v4.1.0
What's Changed
- stricter regex to capture "official" classes.dex files by @eybisi in #986
- Restore 'androguard cg' callgraph generation by @ehrenb in #985
- add tests for class, fields, and method access flags using the TestActivity.apk file (attempt #2) by @ehrenb in #997
- minor update about sessions and added warning before deletion in expo… by @erev0s in #1003
New Contributors
Full Changelog: v4.0.2...v4.1.0
Marked as minor update due to the restoration of the call graph functionality.
v4.0.2
What's Changed
- updated readme and CI to publish to PyPI by @erev0s in #975
- Fix maxSdkVersion warning in _get_permission_maxsdk method by @hamzaaitbenyissa in #976
- Fix for #977 by @erev0s in #979
- Improve tests by @erev0s in #980
- adding the rest of the tests by @erev0s in #982
- silence logure in cli unless --verbose by @erev0s in #983
New Contributors
- @hamzaaitbenyissa made their first contribution in #976
Full Changelog: v4.0.1...v4.0.2
v4.0.1
What's Changed
- testing with jadx 0.9.0 by @reox in #649
- Drop support for legacy Python 2.7 by @hugovk in #654
- Changes to XREFs by @reox in #648
- We are now in the future, no need to import it by @reox in #655
- Refactor TYPE_MAP_ITEM with IntEnum by @nlachfr in #658
- More tests and types by @reox in #659
- Correcting formatting of values, #662 by @reox in #663
- Add more properties for CG by @reox in #667
- Re-implement permission based lookup of API methods by @reox in #670
- Remove old standalone scripts and provide entry_points by @reox in #673
- Add 'triple' in an ast node for 'ClassInstanceCreation'. by @kneep in #675
- Work around basic block creation for switch opcodes by @reox in #677
- Remove reloading of map items by @nlachfr in #661
- Parsing somehow packed AXML files by @reox in #679
- Fix packagename by @reox in #691
- StringDataItem decoding removed by @nlachfr in #689
- [RDY] Improving DEX parsing time by @nlachfr in #686
- Refactoring struct.unpack and struct.pack usage by @nlachfr in #693
- Fix cg by @reox in #697
- correct method get_field_idx of FieldAnnotation by @victos in #699
- Update androcg.rst by @gianlucascoccia in #702
- Fixing alignment when reading map by @reox in #704
- better error message by @reox in #707
- Optimize MUTF8String usage by @nlachfr in #695
- Code refactoring and insert data-element #715 by @ksg97031 in #716
- Two issue in get_intent_filters in apk.py #720 by @ksg97031 in #721
- apply new jadx by @reox in #722
- add ClassDefItem$get_annotations() by @decinc in #725
- Fix magic: Wrong exception caught by @reox in #728
- Add the catchall handler to the end of handler list. by @amimo in #729
- Xreffixes by @reox in #730
- Refactor parts of the CFG creation by @reox in #738
- remind user to install necessary packages. by @krnick in #745
- [WIP] Opcodemadness by @reox in #681
- make filename length hard limit by @reox in #752
- [WIP] Opcodemadness returns by @reox in #751
- android: fails getting app_icon id. by @Nekmo in #760
- add an example for finding specific disassembled instructions by @krnick in #759
- Add new xrefs: new_instance, const_class and xref_read/write to MethodAnalysis by @themoep in #762
- add Quark-Engine into Projects using Androguard by @krnick in #776
- Fix typo in Sessions by @kliuz in #783
- fix some typos in docs by @krnick in #788
- Fix APK#is_signed not using v3 by @SUPERCILEX in #789
- Significantly improve basic APK parsing performance on large files by @SUPERCILEX in #790
- add get_android_api_usage method in Analysis class by @krnick in #795
- fixs docstring in issue #796 by pyupgrade by @krnick in #797
- Add examples of how to get Android APIs usage in docs by @krnick in #798
- Include missing files in sdist by @thatch in #806
- added aosp permissions_29.json based on AOSP/android-10.0.0_r39 by @themoep in #810
- Add string casting to the cls.name by @gand3lf in #812
- Added Power Support for ppc64le by @nagesh4193 in #818
- Added
raw
parameter to androguard.miscAnalyzeDex
and AnalyzeODex… by @mkomet in #819 - Fix wrong return value of get_method_idx function by @lion0738 in #821
- Added support for Android 10's Dalvik 039 (hidden api annotation) by @mkomet in #823
- synchronized behaviour with documentation by @themoep in #824
- fix confusing log in session.py by @MissCoconut in #828
- Fix TypeError in draw_networkx_edges() call, fixes #830 by @amoghbl1 in #831
- Install magic when installing test dependencies. by @TkTech in #834
- Fix write_yaml has been removed from NetworkX by @jspricke in #893
- Fix typo in requirements.txt by @jspricke in #894
- added package publish automation by @krnick in #892
- Set custom directory for JADX source files to
tmpfolder
, so Androguard finds them by @mastercaution in #899 - Fill deprecated permissions info by @danielgf3 in #862
- Fixes androguard4 by @danielgf3 in #902
- fix AttributeError by @mang0cola in #931
- Correctly handle get_qualifier by @Ylarod in #926
- Fix AXML parsing error with manipulated by @ryu-s-r in #916
- Error getting xrefs by @Fare9 in #915
- Use assertEqual instead of assertEquals for Python 3.11 compatibility. by @tirkarthi in #883
- Fix parameter of decompiler by @evilpan in #873
- Fix ValueError when printing StringAnalysis object by @lukhio in #866
- Fix the parsing of attributes on AXML file by @Mrbenoit624 in #948
- Restored prior to commit 8427b08 by @danielgf3 in #954
- employing apkInspector to tackle packers and common static evasion techniques by @erev0s in #956
- Fix hash encoding exception in CFG by @fabianhick in #950
- Suggestion for adding a setup.py by @erev0s in #957
- update pyproject name by @erev0s in #958
- fix bug from 03b841b by @erev0s in #960
- update the set_log to pass the log level by @erev0s in #961
- fix get_apkid and new_zip by @erev0s in #962
- ready for PyPI by @erev0s in #965
- Improve tests by @erev0s in #966
- fix #963 by @erev0s in #967
- fix 970 by @erev0s in #971
- FIX? Ignore? multi disk ZIP error by @ryu-s-r in #917
- update parsing axml to cover attributes start and size by @erev0s in #972
- added permissions up till API 34 by @erev0s in #973
New Contributors
- @hugovk made their first contribution in #654
- @nlachfr made their first contribution in #658
- @kneep made their first contribution in #675
- @victos made their first contribution in #699
- @gianlucascoccia made their first contribution in #702
- @decinc made their first contribution in #725
- @amimo made their first contribution in #729
- @krnick made their first contribution in https://github.com/androguard/androguard/pul...
3.4.0 alpha1
Pre-released alpha version of Androguard 3.4.0
Please test and report!
3.3.5
New bugfix release:
- fixing issues in the androgui
- replacing asserts to avoid problems with compiled&optimized code
- removing unsupported magic libraries, the only supported one is now https://github.com/ahupp/python-magic
- improving documentation of AndroAuto module
- better resolving of tag names in AndroidManifest.xml
- Adding more permission lists from AOSP, thanks to @U039b
- changed session usage in androlyze: now, a session is always used but you are asked if you want to save it when existing ipython
3.3.4
3.3.3
In order to not break existing tools, some functions were re-added in this patch release.
Note that still some functions are renamed or even removed due to
refactoring and reorganization of the parser.
As the method of resolving namespaces has changed, some methods do
not make any sense. Please check your projects!
Detailed changes between 3.2 and 3.3:
in the module androguard.core.bytecodes.axml
:
StringBlock
: Made some functions private, as they are not used from
the outside.
Renamed functions:
decode8(offset) --> _decode8(offset)
decode16(offset) --> _decode16(offset)
decode_bytes(data, encoding, str_len) --> _decode_bytes(data, encoding, str_len) (and static)
decodeLength(offset, sizeof_char) --> _decode_length(offset, sizeof_char)
AXMLParser
: renamed some functions, also removed many namespace
parsing functions.
Renamed functions:
reset() --> _reset()
doNext() --> _do_next()
getPrefix() --> namespace but was added again for legacy
getName() --> name but was added again for legacy
getText() --> text but was added again for legacy
Removed functions:
getNamespacePrefix(pos)
getNamespaceUri(pos)
getXMLNS()
getNamespaceCount(pos)
getAttributeOffset(index)
getAttributePrefix(index)
getPrefixByUri(uri)
For a reference implementation on using namespaces, please see AXMLPrinter
!
AXMLPrinter
: changed the parsing behaviour to use lxml.etree directly
Renamed functions:
getAttributeValue(index) --> _get_attribute_value(index)
Removed functions:
getPrefix(prefix)