1. Long is not supported in python3 so using `numbers.Integral` instead.
2. added `tuple` to the list case
3. `strings` are restored as `bytes`. Changed to restore string as string and bytes as bytes. in python2 both functions restore as str.
4. Added type to the ValueError exception to display the type that is not supported.
|
Fixes #1150
Fixes #1065
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Make metadata a little saner for python3
* Fixed adding a raw string on python3
* Fix a missing parenthesis
* Ensure a raw string is converted to bytes when creating a new Metadata
|
|
|
|
|
|
|
|
.instructions to mlil instead of main function -- likewise for llil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Python3
|
|
|
|
Add text-based and constant-based searching
|
|
|
|
|
|
|
|
`Variable.__eq__` fails to check if the other value is actually a Variable object before comparing member properties. This fixes the exception that gets raised when comparing a Variable against something else.
|
|
|
|
Return assemble error string as part of the ValueError exception
|
|
Instantly bail if we try to compare a SSAVariable to something that isn't an SSA Variable. Prevents the following issue:
```
>>> bv.get_functions_at(here)[0].medium_level_il.ssa_form[96].src[0].src
<ssa <var uint64_t rax_2> version 13>
>>> type(bv.get_functions_at(here)[0].medium_level_il.ssa_form[96].src[0].src)
<class 'binaryninja.mediumlevelil.SSAVariable'>
>>> bv.get_functions_at(here)[0].medium_level_il.ssa_form[96].src[0].src == 'rax_2'
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Applications/Binary Ninja.app/Contents/MacOS/plugins/../../Resources/python/binaryninja/mediumlevelil.py", line 48, in __eq__
(other.var, other.version)
AttributeError: 'str' object has no attribute 'var'
```
|
|
|
|
Cleaned up documentation for assemble's return type
|
|
|
|
|
|
|
|
|
|
|
|
|