diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index f3e0cff..d7b856c 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - python-version: [3.9, "3.10", 3.11, 3.12] + python-version: [3.8, 3.9, "3.10", 3.11, 3.12] steps: - uses: actions/checkout@v2 diff --git a/fa/fainterp.py b/fa/fainterp.py index 1e6a5d6..14d64a0 100644 --- a/fa/fainterp.py +++ b/fa/fainterp.py @@ -319,8 +319,7 @@ def get_alias(self): """ retval = {} - alias_res_path = os.path.join('commands', 'alias') - with importlib.resources.files('fa').joinpath(alias_res_path).open('rt') as f: + with open(os.path.join(COMMANDS_ROOT, 'alias')) as f: for line in f.readlines(): line = line.strip() k, v = line.split('=') diff --git a/fa/ida_plugin.py b/fa/ida_plugin.py index 0de4578..2fc11c8 100644 --- a/fa/ida_plugin.py +++ b/fa/ida_plugin.py @@ -1,5 +1,4 @@ import binascii -import importlib.resources import os import re import subprocess @@ -537,8 +536,9 @@ def update(self, ctx): act_icon = -1 if action.icon_filename: - icon_data = \ - importlib.resources.files('fa').joinpath(f'res/icons/{action.icon_filename}').read_bytes() + icon_full_filename = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'res', 'icons', action.icon_filename) + with open(icon_full_filename, 'rb') as f: + icon_data = f.read() act_icon = ida_kernwin.load_custom_icon(data=icon_data, format="png") act_name = action.name diff --git a/pyproject.toml b/pyproject.toml index 4ab3e1e..a675a74 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "fa" description = "Automation tool for locating symbols & structs in binary (primarily IDA focused)" readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.8" license = { text = "GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007" } keywords = ["reverse-engineering", "ida", "automation", "signatures", "symbols"] authors = [ @@ -15,6 +15,7 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",