Skip to content

Commit

Permalink
Merge pull request #2426 from mandiant/release/v740
Browse files Browse the repository at this point in the history
Release v7.4.0
  • Loading branch information
mr-tz authored Oct 4, 2024
2 parents 5468851 + d795db9 commit fc8089c
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 11 deletions.
41 changes: 32 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,39 @@

### New Features

### Breaking Changes

### New Rules (0)

-

### Bug Fixes

### capa Explorer Web

### capa Explorer IDA Pro plugin

### Development

### Raw diffs
- [capa v7.4.0...master](https://github.com/mandiant/capa/compare/v7.4.0...master)
- [capa-rules v7.4.0...master](https://github.com/mandiant/capa-rules/compare/v7.4.0...master)

## v7.4.0

The v7.4.0 capa release fixes a bug when processing VMRay analysis archives and enhances API extraction for all dynamic backends. For better terminal rendering capa now solely relies on the rich library.

The standalone capa executable can now automatically detect installations of relevant third party applications and use their backends (notably, idalib and Binary Ninja). For the extra standalone Linux build we've upgraded from Python 3.11 to 3.12.

Twelve new rules have been added. Thanks to all the contributors!

*This is the last capa version supporting Python 3.8 and 3.9. If you have major concerns about this please reach out to us.*

### New Features

- add IDA v9.0 backend via idalib #2376 @williballenthin
- locate Binary Ninja API using XDG Desktop Entries #2376 @williballenthin

### Breaking Changes

### New Rules (15)

- nursery/access-unmanaged-com-objects-in-dotnet [email protected]
Expand All @@ -25,7 +53,6 @@
- host-interaction/firewall/modify/access-firewall-policy-via-inetfwpolicy2 [email protected]
- host-interaction/firewall/modify/access-firewall-rule-properties-via-inetfwrule [email protected]
- host-interaction/registry/open-recentdocs-registry-key [email protected]
-

### Bug Fixes

Expand All @@ -39,14 +66,10 @@
### capa Explorer Web
- improve navigation in capa Explorer Web @s-ff #2425

### capa Explorer IDA Pro plugin

### Development

### Raw diffs

- [capa v7.3.0...master](https://github.com/mandiant/capa/compare/v7.3.0...master)
- [capa-rules v7.3.0...master](https://github.com/mandiant/capa-rules/compare/v7.3.0...master)
- [capa v7.3.0...v7.4.0](https://github.com/mandiant/capa/compare/v7.3.0...v7.4.0)
- [capa-rules v7.3.0...v7.4.0](https://github.com/mandiant/capa-rules/compare/v7.3.0...v7.4.0)

## v7.3.0

Expand Down
4 changes: 4 additions & 0 deletions capa/ghidra/capa_explorer.py
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,10 @@ def main():
from capa.exceptions import UnsupportedRuntimeError

raise UnsupportedRuntimeError("This version of capa can only be used with Python 3.8+")
elif sys.version_info < (3, 10):
from warnings import warn

warn("This is the last capa version supporting Python 3.8 and 3.9.", DeprecationWarning, stacklevel=2)
exit_code = main()
if exit_code != 0:
popup("capa explorer encountered errors during analysis. Please check the console output for more information.") # type: ignore [name-defined] # noqa: F821
Expand Down
4 changes: 4 additions & 0 deletions capa/ghidra/capa_ghidra.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,4 +164,8 @@ def main():
from capa.exceptions import UnsupportedRuntimeError

raise UnsupportedRuntimeError("This version of capa can only be used with Python 3.8+")
elif sys.version_info < (3, 10):
from warnings import warn

warn("This is the last capa version supporting Python 3.8 and 3.9.", DeprecationWarning, stacklevel=2)
sys.exit(main())
4 changes: 4 additions & 0 deletions capa/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -903,6 +903,10 @@ def apply_extractor_filters(extractor: FeatureExtractor, extractor_filters: Filt
def main(argv: Optional[List[str]] = None):
if sys.version_info < (3, 8):
raise UnsupportedRuntimeError("This version of capa can only be used with Python 3.8+")
elif sys.version_info < (3, 10):
from warnings import warn

warn("This is the last capa version supporting Python 3.8 and 3.9.", DeprecationWarning, stacklevel=2)

if argv is None:
argv = sys.argv[1:]
Expand Down
2 changes: 1 addition & 1 deletion capa/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Unless required by applicable law or agreed to in writing, software distributed under the License
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and limitations under the License.
__version__ = "7.3.0"
__version__ = "7.4.0"


def get_major_version():
Expand Down
4 changes: 3 additions & 1 deletion doc/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
### Bug Fixes
### capa explorer IDA Pro plugin
### capa Explorer Web
### capa Explorer IDA Pro plugin
### Development
Expand Down

0 comments on commit fc8089c

Please sign in to comment.