Skip to content

Commit

Permalink
Fix binja backend stack string detection. Re-enable binja stack strin…
Browse files Browse the repository at this point in the history
…g unit test
  • Loading branch information
xusheng6 committed Jul 24, 2023
1 parent 4eabee7 commit 8f826cb
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

### Bug Fixes

- Fix binja backend stack string detection. [#1473](https://github.com/mandiant/capa/issues/1473) [@xusheng6](https://github.com/xusheng6)

### capa explorer IDA Pro plugin

### Development
Expand Down
5 changes: 3 additions & 2 deletions capa/features/extractors/binja/basicblock.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,11 @@ def get_stack_string_len(f: Function, il: MediumLevelILInstruction) -> int:
return 0

dest = il.params[0]
if dest.operation != MediumLevelILOperation.MLIL_ADDRESS_OF:
if dest.operation in [MediumLevelILOperation.MLIL_ADDRESS_OF, MediumLevelILOperation.MLIL_VAR]:
var = dest.src
else:
return 0

var = dest.src
if var.source_type != VariableSourceType.StackVariableSourceType:
return 0

Expand Down
3 changes: 0 additions & 3 deletions tests/test_binja_features.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@
indirect=["sample", "scope"],
)
def test_binja_features(sample, scope, feature, expected):
if feature == capa.features.common.Characteristic("stack string"):
pytest.xfail("skip failing Binja stack string detection temporarily, see #1473")

if isinstance(feature, capa.features.file.Export) and "." in str(feature.value):
pytest.xfail("skip Binja unsupported forwarded export feature, see #1646")

Expand Down

0 comments on commit 8f826cb

Please sign in to comment.