Skip to content

Commit 269a2e0

Browse files
Merge branch 'master' into feat/dynamic-sequence-scope
2 parents f2a63ed + 1a82b9d commit 269a2e0

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

CHANGELOG.md

+14-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,20 @@
2121
### Development
2222

2323
### Raw diffs
24-
- [capa v8.0.0...master](https://github.com/mandiant/capa/compare/v8.0.0...master)
25-
- [capa-rules v8.0.0...master](https://github.com/mandiant/capa-rules/compare/v8.0.0...master)
24+
- [capa v8.0.1...master](https://github.com/mandiant/capa/compare/v8.0.1...master)
25+
- [capa-rules v8.0.1...master](https://github.com/mandiant/capa-rules/compare/v8.0.1...master)
26+
27+
## v8.0.1
28+
29+
This point release fixes an issue with the IDAPython API to now handle IDA Pro 8.3, 8.4, and 9.0 correctly.
30+
31+
### Bug Fixes
32+
33+
- handle IDA 8.3/8.4 vs. 9.0 API change @mr-tz
34+
35+
### Raw diffs
36+
- [capa v8.0.0...v8.0.1](https://github.com/mandiant/capa/compare/v8.0.0...v8.0.1)
37+
- [capa-rules v8.0.0...v8.0.1](https://github.com/mandiant/capa-rules/compare/v8.0.0...v8.0.1)
2638

2739
## v8.0.0
2840

capa/features/extractors/ida/helpers.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,15 @@ def find_byte_sequence(start: int, end: int, seq: bytes) -> Iterator[int]:
4141
return
4242

4343
while True:
44-
ea, _ = ida_bytes.bin_search(start, end, patterns, ida_bytes.BIN_SEARCH_FORWARD)
44+
ea = ida_bytes.bin_search(start, end, patterns, ida_bytes.BIN_SEARCH_FORWARD)
45+
if isinstance(ea, int):
46+
# "ea_t" in IDA 8.4, 8.3
47+
pass
48+
elif isinstance(ea, tuple):
49+
# "drc_t" in IDA 9
50+
ea = ea[0]
51+
else:
52+
raise NotImplementedError(f"bin_search returned unhandled type: {type(ea)}")
4553
if ea == idaapi.BADADDR:
4654
break
4755
start = ea + 1

capa/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Unless required by applicable law or agreed to in writing, software distributed under the License
66
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
77
# See the License for the specific language governing permissions and limitations under the License.
8-
__version__ = "8.0.0"
8+
__version__ = "8.0.1"
99

1010

1111
def get_major_version():

web/public/index.html

+5
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,11 @@ <h2 class="mt-3">Rule Updates</h2>
215215

216216
<h2 class="mt-3">Tool Updates</h2>
217217

218+
<h3 class="mt-2">v8.0.0 (<em>2024-12-09</em>)</h3>
219+
<p class="mt-0">
220+
This point release fixes an issue with the IDAPython API to now handle IDA Pro 8.3, 8.4, and 9.0 correctly.
221+
</p>
222+
218223
<h3 class="mt-2">v8.0.0 (<em>2024-12-09</em>)</h3>
219224
<p class="mt-0">
220225
capa <a href="https://github.com/mandiant/capa/releases/tag/v8.0.0">v8.0.0</a> adds support for IDA Pro 9.0 (and idalib). The release comes with various improvements and bug fixes for the Binary Ninja backend (including to load with database files) -- thanks to @xusheng6.

0 commit comments

Comments
 (0)