1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
From 6862bf00d073fd5de2b720b37c600384cc13d358 Mon Sep 17 00:00:00 2001
From: erev0s <erev0s@mail.com>
Date: Fri, 15 Mar 2024 00:16:52 +0200
Subject: [PATCH 1/1] Patch update based on
https://github.com/androguard/androguard/issues/1014
Forwarded: https://github.com/androguard/androguard/pull/1016
---
androguard/core/bytecodes/axml/__init__.py | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/androguard/core/bytecodes/axml/__init__.py b/androguard/core/bytecodes/axml/__init__.py
index 0db39308..ef5b42d1 100644
--- a/androguard/core/bytecodes/axml/__init__.py
+++ b/androguard/core/bytecodes/axml/__init__.py
@@ -2175,18 +2175,19 @@
self.id = unpack('<B', buff.read(1))[0]
self.res0 = unpack('<B', buff.read(1))[0]
self.res1 = unpack('<H', buff.read(2))[0]
+ # TODO: https://github.com/androguard/androguard/issues/1014 | Properly account for the cases where res0/1 are not zero
try:
if self.res0 != 0:
- raise ResParserError("res0 must be zero!")
+ log.warning("res0 must be zero!")
if self.res1 != 0:
- raise ResParserError("res1 must be zero!")
+ log.warning("res1 must be zero!")
self.entryCount = unpack('<I', buff.read(4))[0]
self.typespec_entries = []
for i in range(0, self.entryCount):
self.typespec_entries.append(unpack('<I', buff.read(4))[0])
- except ResParserError as e:
- log.warning(e)
+ except Exception as e:
+ log.error(e)
class ARSCResType:
"""
@@ -2667,12 +2668,12 @@
self.res0, = unpack("<B", buff.read(1))
try:
if self.res0 != 0:
- raise ResParserError("res0 must be always zero!")
+ log.warning("res0 must be always zero!")
self.data_type = unpack('<B', buff.read(1))[0]
# data is interpreted according to data_type
self.data = unpack('<I', buff.read(4))[0]
- except ResParserError as e:
- log.warning(e)
+ except Exception as e:
+ log.error(e)
def get_data_value(self):
return self.parent.stringpool_main.getString(self.data)
--
2.39.2
|