smda 2.2.1__tar.gz → 2.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {smda-2.2.1/smda.egg-info → smda-2.2.2}/PKG-INFO +2 -1
- {smda-2.2.1 → smda-2.2.2}/README.md +1 -0
- {smda-2.2.1 → smda-2.2.2}/setup.py +1 -1
- {smda-2.2.1 → smda-2.2.2}/smda/SmdaConfig.py +1 -1
- {smda-2.2.1 → smda-2.2.2}/smda/common/SmdaReport.py +7 -1
- {smda-2.2.1 → smda-2.2.2}/smda/utility/ElfFileLoader.py +1 -1
- {smda-2.2.1 → smda-2.2.2/smda.egg-info}/PKG-INFO +2 -1
- {smda-2.2.1 → smda-2.2.2}/LICENSE +0 -0
- {smda-2.2.1 → smda-2.2.2}/setup.cfg +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/Disassembler.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/DisassemblyResult.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/DisassemblyStatistics.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/__init__.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/cil/CilDisassembler.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/cil/CilInstructionEscaper.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/cil/FunctionAnalysisState.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/cil/__init__.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/BasicBlock.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/BinaryInfo.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/BlockLocator.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/CodeXref.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/DominatorTree.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/SmdaBasicBlock.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/SmdaFunction.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/SmdaInstruction.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/TailcallAnalyzer.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/Tarjan.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/__init__.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/AbstractLabelProvider.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/CilSymbolProvider.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/DelphiKbSymbolProvider.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/ElfApiResolver.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/ElfSymbolProvider.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/GoLabelProvider.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/OrdinalHelper.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/PdbSymbolProvider.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/PeSymbolProvider.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/WinApiResolver.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/common/labelprovider/__init__.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/ida/BackendInterface.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/ida/IdaExporter.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/ida/IdaInterface.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/ida/__init__.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/BitnessAnalyzer.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/FunctionAnalysisState.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/FunctionCandidate.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/FunctionCandidateManager.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/IndirectCallAnalyzer.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/IntelDisassembler.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/IntelInstructionEscaper.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/JumpTableAnalyzer.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/LanguageAnalyzer.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/MnemonicTfIdf.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/__init__.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/intel/definitions.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/BracketQueue.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/DelphiKbFileLoader.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/FileLoader.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/MachoFileLoader.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/MemoryFileLoader.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/PeFileLoader.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/PriorityQueue.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/StringExtractor.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda/utility/__init__.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda.egg-info/SOURCES.txt +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda.egg-info/dependency_links.txt +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda.egg-info/requires.txt +0 -0
- {smda-2.2.1 → smda-2.2.2}/smda.egg-info/top_level.txt +0 -0
- {smda-2.2.1 → smda-2.2.2}/tests/testBracketQueue.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/tests/testEscaper.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/tests/testFileFormatParsers.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/tests/testIntegration.py +0 -0
- {smda-2.2.1 → smda-2.2.2}/tests/testTarjan.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: smda
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: A recursive disassmbler optimized for CFG recovery from memory dumps. Based on capstone.
|
|
5
5
|
Home-page: https://github.com/danielplohmann/smda
|
|
6
6
|
Author: Daniel Plohmann
|
|
@@ -74,6 +74,7 @@ To take full advantage of SMDA's capabilities, make sure to (optionally) install
|
|
|
74
74
|
* pdbparse (currently as fork from https://github.com/VPaulV/pdbparse to support Python3)
|
|
75
75
|
|
|
76
76
|
## Version History
|
|
77
|
+
* 2025-07-25: v2.2.2 - Minor bugfixes.
|
|
77
78
|
* 2025-07-23: v2.2.1 - Added xmetadata field to SmdaReport, with information about imports and exports. Improved string extraction from Go binaries.
|
|
78
79
|
* 2025-06-13: v2.1.0 - Support for export from IDA 9.0+ (THX to @jershmagersh for the update!).
|
|
79
80
|
* 2025-02-26: v2.0.2 - Adjusting relative import, adding init file.
|
|
@@ -56,6 +56,7 @@ To take full advantage of SMDA's capabilities, make sure to (optionally) install
|
|
|
56
56
|
* pdbparse (currently as fork from https://github.com/VPaulV/pdbparse to support Python3)
|
|
57
57
|
|
|
58
58
|
## Version History
|
|
59
|
+
* 2025-07-25: v2.2.2 - Minor bugfixes.
|
|
59
60
|
* 2025-07-23: v2.2.1 - Added xmetadata field to SmdaReport, with information about imports and exports. Improved string extraction from Go binaries.
|
|
60
61
|
* 2025-06-13: v2.1.0 - Support for export from IDA 9.0+ (THX to @jershmagersh for the update!).
|
|
61
62
|
* 2025-02-26: v2.0.2 - Adjusting relative import, adding init file.
|
|
@@ -19,7 +19,7 @@ else:
|
|
|
19
19
|
setup(
|
|
20
20
|
name='smda',
|
|
21
21
|
# note to self: always change this in config as well.
|
|
22
|
-
version='2.2.
|
|
22
|
+
version='2.2.2',
|
|
23
23
|
description='A recursive disassmbler optimized for CFG recovery from memory dumps. Based on capstone.',
|
|
24
24
|
long_description_content_type="text/markdown",
|
|
25
25
|
long_description=long_description,
|
|
@@ -5,7 +5,7 @@ import logging
|
|
|
5
5
|
class SmdaConfig(object):
|
|
6
6
|
|
|
7
7
|
# note to self: always change this in setup.py as well!
|
|
8
|
-
VERSION = "2.2.
|
|
8
|
+
VERSION = "2.2.2"
|
|
9
9
|
ESCAPER_DOWNWARD_COMPATIBILITY = "1.13.16"
|
|
10
10
|
CONFIG_FILE_PATH = str(os.path.abspath(__file__))
|
|
11
11
|
PROJECT_ROOT = str(os.path.abspath(os.sep.join([CONFIG_FILE_PATH, "..", ".."])))
|
|
@@ -268,13 +268,19 @@ class SmdaReport(object):
|
|
|
268
268
|
return smda_report
|
|
269
269
|
|
|
270
270
|
def toDict(self) -> dict:
|
|
271
|
+
transformed_code_sections = []
|
|
272
|
+
for section in self.code_sections:
|
|
273
|
+
if section is not None:
|
|
274
|
+
transformed_code_sections.append(("", section[1], section[2]))
|
|
275
|
+
else:
|
|
276
|
+
transformed_code_sections.append(("", 0, 0)) # Handle None sections gracefully
|
|
271
277
|
return {
|
|
272
278
|
"architecture": self.architecture,
|
|
273
279
|
"base_addr": self.base_addr,
|
|
274
280
|
"binary_size": self.binary_size,
|
|
275
281
|
"bitness": self.bitness,
|
|
276
282
|
"code_areas": self.code_areas,
|
|
277
|
-
"code_sections":
|
|
283
|
+
"code_sections": transformed_code_sections,
|
|
278
284
|
"confidence_threshold": self.confidence_threshold,
|
|
279
285
|
"disassembly_errors": self.disassembly_errors,
|
|
280
286
|
"execution_time": self.execution_time,
|
|
@@ -225,7 +225,7 @@ class ElfFileLoader(object):
|
|
|
225
225
|
if segment.flags.value & lief.ELF.Section.FLAGS.EXECINSTR.value:
|
|
226
226
|
segment_start = segment.virtual_address
|
|
227
227
|
segment_size = segment.virtual_size
|
|
228
|
-
if segment_size % segment.alignment != 0:
|
|
228
|
+
if segment.alignment and segment_size % segment.alignment != 0:
|
|
229
229
|
segment_size += segment.alignment - (segment_size % segment.alignment)
|
|
230
230
|
segment_end = segment_start + segment_size
|
|
231
231
|
code_areas.append([segment_start, segment_end])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: smda
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: A recursive disassmbler optimized for CFG recovery from memory dumps. Based on capstone.
|
|
5
5
|
Home-page: https://github.com/danielplohmann/smda
|
|
6
6
|
Author: Daniel Plohmann
|
|
@@ -74,6 +74,7 @@ To take full advantage of SMDA's capabilities, make sure to (optionally) install
|
|
|
74
74
|
* pdbparse (currently as fork from https://github.com/VPaulV/pdbparse to support Python3)
|
|
75
75
|
|
|
76
76
|
## Version History
|
|
77
|
+
* 2025-07-25: v2.2.2 - Minor bugfixes.
|
|
77
78
|
* 2025-07-23: v2.2.1 - Added xmetadata field to SmdaReport, with information about imports and exports. Improved string extraction from Go binaries.
|
|
78
79
|
* 2025-06-13: v2.1.0 - Support for export from IDA 9.0+ (THX to @jershmagersh for the update!).
|
|
79
80
|
* 2025-02-26: v2.0.2 - Adjusting relative import, adding init file.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|